Vai al contenuto
PLC Forum


Sviluppo Client E Server Opc Ua


marict

Messaggi consigliati

Salve a tutti, vorrei realizzare un client e un server in C# usando le api OPC UA ma non so come iniziare. Ho dato un'occhiata alle Test Applications ma l'esempio client- server che è implementato è troppo complesso per iniziare, non mi permette di capire cosa 'prendere' e cosa 'scartare' per la mia applicazione. C'è un qualche esempio più basilare o una semplice guida che posso usare? Grazie in anticipo.

Link al commento
Condividi su altri siti


ciao

io ho solo sviluppato client in .NET connessi anche a piu plc .

Prima cosa devi installare un opc server , Matrikon , Kepware , Applicom , Siemens ect

Configurarlo ossia configurare la rete , per esempio nell'ultimo caso avevo un pc (opc client ) e tre plc s7-300 in ethernet

Quindi assegni un indirizzo univoco ad ogni plc nella sua scheda di rete e fai la stessa cosa sul pc che ospita il client .

Opc server mette a disposizione tools di configurazione e test , quindi devi creare il sistema dando indirizzi , tipo di scheda , ect .

Da li di solito puoi lanciare opc client che viene fornito per testare la comunicazione ed inserire tag in gruppi e reti .

Per farlo funzionare da un ambiente tipo .NET devi creare un progetto e fare riferimento all dll - assembly opcDaautomation fornita dal opc server installato , quindi creare opc client , gruppi , eventi e tag e gestirli da programma .

L'architettura UA l'ho letta vagamente da un documento ma non saprei , questo di cui sopra e' la classica applicazione client .

Opc server vuole una licenza per girare e questa ha un costo a seconda dei drivers scelti , Siemens DP , ehternet , Allen Bradley , Modbus ect .

Non e' una cosa molto intuibile o semplice da buttare giu.

Io i sistemi li imposto cosi , poi sincronizzo eventi con lettura dati seriale o aggiornamento database locale o remoto , scanner barcode , invio dati ai plc ect .

Lato plc un minimo di gestione la devi fare per gestire i trigger da mandare ad opc o ricevere per sapere quando i dati sono buoni e completi (in caso di comunicazione asincrona ) e quando eseguire una operazione piuttosto che un 'altra .

L'architettura UA sembrerebbe che sia piu complessa e che esuli dal fatto di sapere che dall'altra parte c'e' un plc o un sistema embedded o uno strumento , valuta quindi la pesantezza a far girare tutto e alle funzionaltià.

Molti opc danno l'acesso diretto (DA) e poi forniscono driver e librerie per comunicare con databases ect , io preferisco farlo da codice a livello zero .

Uso quello che mi serve di opc , cioe i driver di comunicazione e anche li per fare una lettura o scrittura asincrona o sincrona devi scrivre codice , e' molto piu semplcie gestire un protocollo ASCII a 150 char e gestirlo ma opc da una sicurezza nella comunicazione che viene richiesta in certi impianti o processi .

ciao

Walter

Modificato: da walterword
Link al commento
Condividi su altri siti

  • 1 month later...

Esistono in commercio diverse librerie per realizzare un OPC Server o Client in C# ; ti consiglio di partire da li vista la complessità della cosa.

In alternativa puoi sempre iscriverti al consorzio per avere le specifiche e sviluppare tutto da zero....

Se vuoi dei link , basta che cerchi opc ua c# su google e ne trovi quanti ne vuoi ....

Ciao

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...