Ho bisogno di creare una piccola applicazione HMI / SCADA WPF che utilizza WCF

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

  •  12-10-2019
  •  | 
  •  

Domanda

devo creare una semplice applicazione, che si adatta come un esempio di utilizzo di WPF e WCF per la creazione di pagine HMI.

Non sono sicuro di quello che WCF dovrebbe fare in tale applicazione, credo che ci deve essere un server OPC che il mio collega di applicazioni di. Fa app connettersi al server OPC utilizzando il servizio WCF e funziona il servizio WCF risiedono all'interno dell'applicazione o fuori?

Il servizio è WCF destinato a essere utilizzato solo come una connessione al server OPC? Non sono ancora del tutto sicuro di quale processo per simulare, ho bisogno di qualcosa di semplice.

, tutte le idee vengono accolti.

Grazie

È stato utile?

Soluzione

E 'suona come quello che si avrà è un'applicazione WPF che fungerà da operatore, che contiene tutti gli elementi dell'interfaccia utente. L'applicazione WPF creerà un proxy client per un servizio WCF utilizzando l'indirizzo (l'indirizzo host che il servizio è in esecuzione), vincolante (probabilmente tcp o http) e il contratto (l'interfaccia) del servizio.

Il servizio WCF sarà ospitato da qualche parte (l'indirizzo host) ed esporre un endpoint che specifica un legame e un contratto. Questo è ciò che proxy client del WPF app comunicare. I metodi implementati nel contratto del servizio sarà istanziare le classi OPC e scrivere o leggere OPC Items, se necessario.

Nella sua forma più semplice, si avrebbe probabilmente una soluzione con due progetti:. Uno per l'applicazione WPF (con il proxy client) e uno per il servizio WCF (con le implementazioni OPC)

Altri suggerimenti

Date un'occhiata al www.opcsystems.net, grande pezzo di kit in offerta per la creazione di applicazioni WPF SCADA con OPC modo rapido e semplice.

Date un'occhiata al OPC Collegare e utilizzare alcuni componenti liberi o commerciali per la lingua preferita per parlare con alcuni dati del server OPC e visualizzare.

Se si desidera creare WPF dei consumatori, il tuo modo migliore per andare WCF sta usando le nuove implementazioni OPC-UA.

Per esempio, implementa il server del KepwareEx quelle specifiche e espone WCF endpoint out of the box.

Non ho alcuna affiliazione con Kepware ma abbiamo usato i loro prodotti molto.

maggiori informazioni sulla loro UA documento Guida che mostra ciò che sto parlando di . È possibile impianto che lato client per consentire l'integrazione XAML (io non l'ho fatto).

Inoltre, vale la pena guardare in descrizioni architettoniche dei ragazzi di Stato Vision , che sono uscendo con un OPC UA -> Silverlight / XAML toolkit ...

Quando si parla OPC, sto supponendo che il parlare di OPC DA. OPC è solo un protocollo di comunicazione e probabilmente desidera creare un wrapper per il vostro sistema. Questo è un esempio di come sciolto si potrebbe implementare un semplice OPC DA letto utilizzando C # e il wrapper gestito.

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

È possibile usare il prodotto WPF HMI .NET di Open Automation Software che utilizza WCF per le comunicazioni con le origini dati da Modbus, AB, Siemens, OPC, MQTT, AWS, etc. https://www.openautomationsoftware.com/products / HMI-SCADA-per-net /

/ WPF-HMI-net
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top