FN_96

SETTEMBRE 2018 FIELDBUS & NETWORKS 83 In particolare, il livello trasporto rende disponibili due meccanismi diffe- renti: una comunicazione basata sul protocollo TCP per la comunicazione Intranet; una comunicazione basata sui web-service per la comunicazione Internet. Il modello dei dati definisce le regole e gli elementi base neces- sari per fornire un valido modello informativo e comprende anche ele- menti avanzati come quelli per descrivere lemacchine a stati. Gli elementi base possono essere estesi da altri modelli informativi a un più alto livello. Il principio di funzionamento di OPC UA è client-server; il server è re- sidente sui singoli dispositivi che producono i dati (controllori, sensori, attuatori ecc.), mentre il client è rappresentato dagli applicativi che consu- mano tali dati o servizi. L’OPCUA server lavora creando e rendendo dispo- nibile quello che viene chiamato Address Space o Information Model del dispositivo su cui è installato. L’Address Space viene definito anche come ‘Data model and information’. L’Information Model non è, però, soltanto una gerarchia di cartelle contenenti i dati che devono essere trasferiti tra le applicazioni, ma è definito come una rete mesh di nodi. Il nodo può es- sere poi visto come un oggetto, così come previsto dalla programmazione orientata agli oggetti (OOP), cioè il nodo contiene sia dati, sia metadati, sia metodi (chiamati ‘Commands’ in OPC UA). Gli attributi di ciascun nodo possono essere le variabili per leggere i dati attuali (DataAccess - DA) o storici (Historical DataAccess - HDA), i metodi che permettono di richiamare servizi da operarsi sulle singole variabili e gli eventi che vengono generati nel momento in cui un certo evento viene triggerato. Questamodellizzazione permette di garantire una doppia interoperabilità: l’interoperabilità tra i dati e l’interoperabilità tra i servizi. L’interoperabilità dei dati viene garantita in quanto tutti i dati vengono resi disponibili utilizzando un formato dati comune, oltre che impiegando una struttura dati comune, in modo che possa essere preservato anche il contesto di applicazione. L’interoperabilità dei servizi, invece, viene garantita per mezzo della definizione dei metodi all’interno del modello base di OPC UA. Attraverso i metodi, quindi, è possibile definire anche tutti i servizi e le funzioni che possono essere utilizzate per poter scrivere e inviare comandi da parte di un client, senza la necessità di avere installato sul client stesso le API o il protocollo nativo dell’applicazione. Riassumendo, quindi, il primo livello della struttura di OPC UA definisce il mecca- nismo con cui i dati vengono trasferiti da un sistema all’altro (livello trasporto) e il Data Model che permette di organizzare l’Address Space all’interno di un server in termini di dati, formati dati e metodi. Questo rappresenta la struttura base di OPC UA, su cui poi è pos- sibile definire e innestare nuovi modelli dati standard. Come accennato, OPC UA è una tecnologia di tipo SOA, pertanto sulla struttura dati e mo- delli definiti a livello base devono anche essere definiti e implementati i servizi che vengono resi disponibili: lettura, scrittura, connessione tra client e server ecc. La Tabella 1 riporta la lista dei servizi base che sono resi disponibili da OPC UA (fonte OPC Foundation). Tra i servizi di base resi disponibili figura anche la creazione e realizza- zione di una connessione sicura tra server e client. Questo avviene di- rettamente a livello di protocollo UA: nel momento in cui viene attivato il livello di trasporto, viene anche creato un canale di comunicazione sicura, al cui interno sono definite le regole di encoding per il trasporto dei dati (si veda Figura 4). Figura 1 - Modello di OPC UA Figura 3 - Interoperabilità tra i dati . * / À % * 2 di un nodo all’interno 3 , 4 5 Tabella 1 - Lista dei servizi base resi disponibili da OPC UA Servizio Descrizione SecureChannel Service Set Ottenere le configurazioni del destinatario al fine di stabilire una connessione sicura Session Service Set Creare e gestire una connessione user- specific tra applicazioni NodeManagement Service Set Modificare l’address space del server, se è permesso View Service Set Navigare e seguire riferimenti (gerarchici) nell’address space del server, eseguire ricerche e filtrare le informazioni Attribute Service Set Leggere e scrivere gli attributi di uno o più nodi, come ad esempio il valore Method Service Set Richiamare i metodi che un server rende disponibili verso i nodi nel suo address space MonitoredItem Service Set Creare un gruppo di attributi dei nodi monitorati dal server ed i cui cambiamenti devono essere riportati Subscription Service Set Creare, modificare o cancellare oggetti monitorati Query Service Set Eseguire una ricerca con filtri all’interno del server address space

RkJQdWJsaXNoZXIy MTg0NzE=