Sei sulla pagina 1di 5

Gestione Progetto robertomana.

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

Display Trend Report


Application Application Application

Software Software Software Software


Driver Driver Driver Driver

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 :

Display Trend Report


Application Application Application
OPC Interface OPC Interface OPC Interface

OPC Server OPC Server OPC Server OPC Server

Software Software Software Software


Driver Driver Driver Driver

OPC Foundation [www.opcfoundation.org]


Consorzio costituito nel 1995 da tutti i principali costruttori di PLC in stretta collaborazione con Microsoft
con lo scopo di definire uno standard di interoperabilità tra le applicazioni di automazione industriale.
 Siemens AG
 Rokwell
 Intellution
 Fisher-Rosemount
 Omron
 Telemecanique

 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.

Struttura di un OPC Server DA

L’OPC server DA è strutturato a 2 livelli:


Groups: raggruppano gli Item e ne definiscono i parametri comuni
Item: definiscono il singolo dato da scambiare con l’OPC e si collegano alla periferia tramite la
definizione del Tag (indirizzo, nome variabile, …)

The Logical Object Model


The Item

OPC Server The ‘Real’ SCADA


or DCS System
OPC Groups...
OPC Item FIC101 TIC101
OPC Item FIC102 TIC102
OPC Item
OPC Item FIC103 TIC103
OPC Item FIC104
FIC105...

pag. 3
Gestione Progetto robertomana.it
OPC Technology

Struttura di un OPC Server UA : opcua-commander

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

Richiede le seguenti dipendenze.


"dependencies": {
"colors": "^1.1.2",
"underscore": "^1.8.3",
"assert": "latest",
"blessed": "^0.1.81",
"blessed-contrib": "^4.5.5",
"node-opcua": "0.0.64",
"yargs": "^6.3.0",
"async": "^2.1.4"
}

La libreria yargs è quella che gestisce il passaggio di parameri da linea di comando.


Il file da eseguire è index.js che si aspetta sulla linea di comando i seguenti parametri

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

opcua-commander dovrebbe avviarsi presentando la seguente schermata:

pag. 4
Gestione Progetto robertomana.it
OPC Technology

Il tasto t (tree) consente di selezionare l’albero di


sinistra su cui è possibile eseguire la la navigazione

Il tasto l (list) consente di selezionare l’attribute list


di destra

Il tasto i (info) consente di selezionare il pannello


inferiore delle Info

Il tasto m (monitored items) consente di


selezionare il pannello di destra per il controllo
delle variabili

Il pannello attualmente selezionato presenta un bordino giallo

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.

Le variabili dell’OPC Server si trovano dentro OBJECTS / 2 WINCC PANEL / 4 TAGS

Ogni variabile presenta un NodeId univoco


visibile in alto a destra espresso nel seguente
formato :

ns=<n.Sottolivello>;
s=<nomeDellaVariabile>

pag. 5

Potrebbero piacerti anche