Ich brauche eine kleine HMI / SCADA WPF-Anwendung, dass Anwendungen erstellen WCF

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

  •  12-10-2019
  •  | 
  •  

Frage

Ich habe eine einfache App erstellen, die als Beispiel für mit WPF und WCF für die Erstellung von HMI-Bildern anpassen werden.

Ich bin nicht sicher, was WCF soll in einer solchen Anwendung tun, ich denke, es muss ein OPC-Server sein, dass meine Anwendung eine Verbindung herstellt zu. Stellt keine Verbindung App OPC-Server WCF-Dienst und macht den WCF-Dienst residieren innerhalb der Anwendung oder außerhalb?

Sie WCF-Dienst sollte nur als Verbindung zum OPC-Server verwendet werden? Ich bin noch nicht ganz sicher, welcher Prozess zu simulieren, muss ich etwas einfach.

Bitte, werden alle Ideen willkommen.

Danke

War es hilfreich?

Lösung

Es klingt wie das, was Sie haben eine WPF-Anwendung, die als HMI fungiert, alle UI-Elemente enthält. Die WPF-Anwendung wird eine Client-Proxy für einen WCF-Dienst erstellen mit der Adresse (die Host-Adresse, dass der Dienst auf ausgeführt wird), Bindung (wahrscheinlich tcp oder http) und Vertrag (eine Schnittstelle) des Dienstes.

Der WCF-Dienst wird irgendwo (die Host-Adresse) gehostet und einen Endpunkt aussetzen, die angibt, eine Bindung und einen Vertrag. Dies ist, was Ihre WPF-Anwendung der Client-Proxy mit kommunizieren. Die Methoden implementiert in den Vertrag des Service wird OPC Klassen instanziiert und Schreib- oder OPCItems lesen je nach Bedarf.

In seiner einfachsten Form, würden Sie wahrscheinlich eine Lösung mit zwei Projekten haben. Eine für die WPF-Anwendung (mit dem Client-Proxy) und eine für den WCF-Dienst (mit OPC-Implementierungen)

Andere Tipps

Hier finden Sie aktuelle www.opcsystems.net, großes Stück Kit im Angebot für die Erstellung von WPF SCADA-Anwendungen OPC schnell und einfach mit.

Hier finden Sie aktuelle OPC Connect und verwenden einige freie oder kommerzielle Komponenten für Ihre bevorzugte Sprache zu Vortrag auf einige OPC-Server und Daten visualisieren.

Wenn Sie WPF Verbraucher, Ihre beste WCF Art und Weise zu erstellen, die neuen OPC-UA-Implementierungen zu gehen verwendet.

Zum Beispiel kann der KepwareEx Server implementiert diejenigen spec und Exposes WCf der Box-Endpunkt aus.

Ich habe keine Verbindung mit Kepware haben, aber wir genutzt, um ihre Produkte viel.

Weitere Informationen über die UA Leitfaden das zeigt, was ich rede . Sie können rig, dass Client-Ende XAML Integration ermöglichen (ich habe es nicht getan).

Auch auf der Suche, es lohnt sich in den architektonischen Beschreibungen der Jungs unter Status-Vision-, die sind Coming out mit einer OPC UA -> Silverlight / XAML-Toolkit ...

Wenn Sie OPC erwähnen, ich gehe davon aus Ihrem Gespräch über OPC DA. OPC ist nur ein Kommunikationsprotokoll, und Sie werden wahrscheinlich einen Wrapper für Ihr System erstellen möchten. Dies ist ein loses Beispiel dafür, wie man ein einfache Implementierung könnte OPC DA mit C # und dem verwaltete Wrapper lesen.

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;
        }
    }
}

Sie können die Open Automation Software WPF HMI .NET Produkt verwenden, die WCF verwendet für die Kommunikation mit Datenquellen aus Modbus, AB, Siemens, OPC, MQTT, AWS, usw. https://www.openautomationsoftware.com/products / hmi-scada-for-net / wpf-hmi-net /

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top