Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
it
OPC Technology
OPC Technology
Rev Digitale 1.0 del 03/11/2017
OPC significa OLE for Process Control. Si tratta di una architettura client/server proposta nel 1996
dalla OPC Foundation costituita da tutti i principali costruttori di PLC in collaborazione con Microsoft.
Lo scopo è quello di permettere ad un qualsiasi processo (Client) che implementi la tecnologia OPC di
poter accedere a qualsiasi sorgente di dati (Server) dotata di interfaccia OPC.
La realizzazione dell’applicazione OPC Server è demandata al costruttore del PLC. L’OPC Server si
occupa di gestire la comunicazione verso il PLC offrendo al client una interfaccia standard di accesso ai
dati del PLC, indipendente dal PLC sottostante, qualunque esso sia.
Prima di OPC
pag. 1
Gestione Progetto robertomana.it
OPC Technology
Problemi:
Incompatibilità delle interfacce di comunicazione
Ogni applicazione sviluppa interfacce private
esistono centinaia di driver per permettere ai controllori di processo di comunicare con i dispositivi
periferici.
inconsistenza tra i driver venduti da ditte diverse, conflitti e necessità di modifiche in caso di
sostituzione di componenti Hardware.
Dopo OPC :
Nell'Agosto del 1996 fu definita la prima versione di OPC 1.0 denominata OPC DA Auto (Data
Access Automation) basata sulle consolidate tecnologie Microsoft di allora, cioè le tecnologie:
OLE (Object Linking and Embedding che consentiva integrazione di un documento creato con
un'applicazione detta server OLE all'interno di un'altra applicazione; ad esempio l’utilizzo di un
foglio di calcolo all’interno di word)
COM (Component Object Model modello per la comunicazione tra applicazioni Windows locali)
e sostanzialmente utilizzabile soltanto in applicazioni microsoft. Le API client vengono distribuite
tramite una DLL denominata OPCDAAuto.dll che consente al programma client di comunicare con
un OPC Server standard fornito dal costruttore del PLC.
pag. 2
Gestione Progetto robertomana.it
OPC Technology
Nel Settembre 1996 la OPC DA Auto fu presentata alla riunione annuale ISA a Chicago (the must-
attend event of the year for distributors, manufacturers/suppliers, industrial manufacturer
representatives and service providers)
Nell'Ottobre 1998 viene prodotta la versione 2.0 della Data Access Specification con supporto della
tecnologia DCOM (Distributed COM Modello per la comunicazione tra applicazioni Windows
attraverso reti di comunicazione).
Nel 2002 viene prodotta una specifica per integrare OPC DA con XML e viene prodotta una nuova
versione (3.0) detta OPC HDA Auto (Historical Data Access) in grado di gestire automaticamente
anche uno storico degli allarmi, ammesso che anche l’OPC Server corrispondente supporti questa
funzionalità. Lo storico può comunque essere facilmente gestito manualmente dal programma utente.
Il 16 settembre 2010 viene presentata una nuova tecnologia detta OPC UA (OPC Unified
Architecture) appoggiata direttamente su TCP / IP eliminando di fatto la dipendenza dell’utilizzo di
una piattaforma window based intrinseca nel sistema precedente. Il client può essere
indifferentemente dot.net, ansi C, java, node, etc.
pag. 3
Gestione Progetto robertomana.it
OPC Technology
La struttura dei dati esposti da un OPC UA Server è ben visibile utilizzando una comodissima utility
scaricabile da github (opcua variables nodejs) che consente di testare la comunicazione con l’OPC UA
Server e di visualizzare il contenuto delle variabili.
https://github.com/node-opcua/opcua-commander
L’unico parametro obbligatorio è l’endpoint, cioè IP e porta del server OPCUA a cui connettersi (in
ascolto di default sulla porta 4870).
Si può creare un comando run.bat per avviare opcua-commander nel modo seguente :
node index.js –e opc.tcp://localhost:4870
pag. 4
Gestione Progetto robertomana.it
OPC Technology
Andando sull’albero di sinistra, tramite il tasto Freccina Destra è possibile aprire le sottortelle della
cartella corrente. Tramite il tasto Freccina Giù è possibile spostarsi nelle sottocartelle inferiori. Ogni
sottocartella presenta un numerino davanti che indica il livello a cui si trova. Quelle di livello 0 non hanno
numeri.
ns=<n.Sottolivello>;
s=<nomeDellaVariabile>
pag. 5