Je dois créer une petite application IHM / SCADA WPF que les utilisations WCF

StackOverflow https://stackoverflow.com/questions/4497954

  •  12-10-2019
  •  | 
  •  

Question

Je dois créer une application simple, qui conviendra comme un exemple d'utilisation WPF et WCF pour la création d'écrans IHM.

Je ne sais pas ce que WCF est censé faire une telle demande, je suppose qu'il doit être un serveur OPC que mon application se connecte à. Ne se connecte au serveur OPC application en utilisant le service WCF et fait le service de résident WCF dans l'application ou à l'extérieur?

service WCF est destiné à être utilisé uniquement comme une connexion au serveur OPC? Je ne suis pas encore tout à fait sûr de processus pour simuler, je simple besoin de quelque chose.

S'il vous plaît, toutes les idées sont les bienvenus.

Merci

Était-ce utile?

La solution

On dirait que ce que vous avez est une application WPF qui agira comme l'IHM, contenant tous les éléments de l'interface utilisateur. L'application WPF crée un proxy client pour un service WCF en utilisant l'adresse (l'adresse hôte que le service est en cours d'exécution sur), la liaison (probablement tcp ou http) et le contrat (une interface) du service.

Le service WCF sera hébergé quelque part (l'adresse hôte) et d'exposer un point final qui spécifie une liaison et un contrat. C'est ce que votre proxy client de l'application WPF communiquera avec. Les méthodes mises en œuvre dans le contrat de service instanciera cours OPC et écrire ou lire des articles OPC au besoin.

Dans sa forme la plus simple, vous auriez probablement une solution avec deux projets:. Un pour l'application WPF (avec le proxy client) et un pour le service WCF (avec les implémentations OPC)

Autres conseils

Jetez un oeil à www.opcsystems.net, grand peu de kit proposé pour la création d'applications SCADA WPF utilisant OPC rapidement et facilement.

Jetez un oeil à OPC Connect et utiliser des composants libres ou commerciaux pour votre langue préférée à parler à certaines données du serveur OPC et de visualiser.

Si vous voulez créer consommateur WPF, la meilleure façon d'aller WCF utilise les nouvelles implémentations OPC-UA.

Par exemple, le serveur KepwareEx met en œuvre les spécifications et WCF expose EndPoint hors de la boîte.

Je n'ai aucune affiliation avec Kepware mais nous avons utilisé leurs produits beaucoup.

plus d'informations sur leur Document d'orientation UA ?? qui montre ce que je parle . Vous pouvez rig cette fin de client pour permettre l'intégration XAML (je ne l'ai pas fait).

En outre, il est intéressant de regarder dans les descriptions architecturales des gars de Statut Vision , qui sont à venir avec un OPC UA - boîte à outils> Silverlight / XAML ...

Quand vous parlez OPC, je suppose que vous parlez OPC DA. OPC est juste un protocole de communication et vous aurez probablement envie de créer une enveloppe pour votre système. Ceci est un exemple libre de la façon dont vous pourriez mettre en œuvre simple OPC DA lu en utilisant C # et l'emballage géré.

namespace ScadaServiceLibrary
{
    [ServiceContract]
    public interface IDataClass
    {
        [OperationContract]
        string RetrieveValues(string OpcPath);
    }

    public class DataClass : IDataClass
    {

        ....

        public string RetrieveValue(string OpcPath)
        {
            // Retrieve data here. ScadaServer is a Opc.Da.Server type.
            // Example assumes you have a dictionary of the item handles keyed 
            // to the path.

            string value = null;

            Opc.Da.Item item = new Opc.Da.Item();

            item.ItemName = OpcPath;
            item.ClientHandle = Handles[OpcPath];
            item.Active = true;
            item.ActiveSpecified = true;

            Opc.Da.Item[] items = new Opc.Da.Item[1];
            items[0] = item;
            Opc.Da.ItemValueResult[] results = ScadaServer.Read(items);

            if (results != null && results.Length > 0)
            {
                Opc.Da.ItemValueResult result = results[0];
                value = result.Value.ToString();
            }

            return value;
        }
    }
}

Vous pouvez utiliser le produit IHM Open Software Automatisation .NET WPF qui utilise WCF pour les communications avec les sources de données de Modbus, AB, Siemens, OPC, MQTT, AWS, etc. https://www.openautomationsoftware.com/products / scada-ihm-pour-net / WPF-ihm-net /

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top