Logo Zephyrnet

OPC UA su MQTT: il futuro della convergenza IT e OT

Data:

OPC UA su MQTT: il futuro della convergenza IT e OT
Illustrazione: © IoT For All

La convergenza tra tecnologia dell’informazione (IT) e tecnologia operativa (OT) comporta l’integrazione di reti aziendali e sistemi informatici tradizionalmente separati con sistemi e dispositivi di controllo industriale per creare un ecosistema unificato e interconnesso.

La scelta del protocollo migliore per la convergenza IT e OT dipende da vari fattori, tra cui il settore specifico, l'infrastruttura esistente, considerazioni sulla sicurezza e requisiti di scalabilità.

OPCUA e MQTT sono i protocolli comunemente utilizzati in questo scenario. Mentre queste due tecnologie continuano ad evolversi, è emerso un nuovo protocollo, una potente combinazione di entrambi, che offre vantaggi ancora più significativi per il settore.

Si chiama OPC UA su MQTT. In questo articolo, approfondiremo OPC UA su MQTT ed esploreremo il suo potenziale per potenziare la convergenza di IT e OT.

Cos'è l'OPCUA?

OPC UA è un protocollo popolare per colmare il divario tra ambienti IT e OT. Fornisce una comunicazione sicura e affidabile con modelli di dati standardizzati, rendendolo adatto allo scambio di dati in tempo reale e alla condivisione di informazioni complesse. OPC UA offre funzionalità di sicurezza integrate e supporta varie piattaforme e dispositivi.

MQTT è un protocollo di messaggistica leggero di pubblicazione-sottoscrizione per una trasmissione efficiente dei dati in ambienti con risorse limitate. È particolarmente adatto per scenari di integrazione IoT e OT in cui le considerazioni sulla larghezza di banda e sul consumo energetico sono essenziali. Il modello di pubblicazione-sottoscrizione di MQTT consente una distribuzione efficiente dei dati a più abbonati.

OPC UA over MQTT è un protocollo che combina MQTT e OPC UA per sfruttare i vantaggi di entrambi i protocolli. OPC UA e MQTT presentano i loro vantaggi se utilizzati in uno scenario di convergenza IT e OT.

MQTT viene utilizzato come mezzo di trasporto per trasportare il ricco contesto di dati di OPC UA. Questo approccio trae vantaggio dal leggero modello di messaggistica di pubblicazione-sottoscrizione di MQTT e dalla modellazione dei dati standardizzata di OPC UA, dalle funzionalità di sicurezza e dalle funzionalità più ampie per lo scambio di informazioni complesse.

Beneficiare del modello Pub-Sub MQTT

Infrastruttura IT e OT flessibile e scalabile

MQTT (Message Queuing Telemetry Transport) è principalmente un protocollo basato sui messaggi. Segue un modello di messaggistica pub-sub, in cui gli editori inviano messaggi a un broker di messaggi centrale e gli abbonati ricevono tali messaggi dal broker.

Il broker MQTT funge da intermediario tra editori e abbonati. Riceve i messaggi pubblicati dagli editori e li inoltra agli abbonati che hanno espresso interesse a ricevere messaggi su argomenti specifici.

I sistemi di messaggistica pub-sub sono intrinsecamente più scalabili dei sistemi client-server. In un modello client-server, ogni client deve stabilire e mantenere una connessione con il server, il che può portare a colli di bottiglia nelle prestazioni con l'aumento del numero di client.

In un modello pub-sub, l'editore invia messaggi a un broker centralizzato, diffondendo messaggi agli abbonati interessati. Questa architettura si adatta in modo più efficace all'aumentare del numero di editori e abbonati.

Utilizzo della larghezza di banda della rete

Nei sistemi client-server, la richiesta di ciascun client genera traffico sulla rete e sul server tramite polling. Di conseguenza, genera una quantità inutilmente elevata di traffico di rete senza aggiornamenti nei valori target.

In pub-sub, gli abbonati ricevono aggiornamenti solo quando sono disponibili nuovi dati, riducendo il carico di rete non necessario. Ciò è importante in applicazioni come l’IoT, dove i dati dei sensori o gli aggiornamenti di stato devono essere forniti tempestivamente.

Architettura guidata dagli eventi

Pub-Sub si allinea bene con le architetture guidate dagli eventi, in cui i componenti reagiscono agli eventi o alle modifiche nei dati. Ciò è particolarmente utile quando le azioni devono essere attivate in base a condizioni o eventi specifici.

Ciò trae vantaggio dal disaccoppiamento tra mittente (editore) e destinatario (abbonato). Gli editori non hanno bisogno di sapere chi sono i loro abbonati e gli abbonati non hanno bisogno di sapere chi sono i loro editori.

Questa separazione consente flessibilità nell'esecuzione dei componenti senza influenzarsi a vicenda, portando a un utilizzo e a una reattività delle risorse più efficienti.

Pertanto, editori e abbonati non hanno bisogno di essere consapevoli l'uno dell'esistenza dell'altro o dei dettagli specifici dell'implementazione, rendendo più semplice la sostituzione o l'aggiornamento dei singoli componenti senza interrompere l'intero sistema.

Contesto dati ricco basato su OPC UA

Oltre ai vantaggi del meccanismo MQTT Pub-Sub, OPC UA conferisce un ulteriore livello di importanza per garantire una comunicazione senza interruzioni tra diversi dispositivi e applicazioni. OPC UA si concentra sull'interoperabilità e sulla standardizzazione tra diversi sistemi, fornitori e settori.

Eccelle nella gestione di strutture dati complesse, modelli di dati gerarchici, metadati e robuste funzionalità di sicurezza, adattando l'applicazione a complesse relazioni tra dati. Ciò rende il protocollo particolarmente adatto agli ambienti industriali difficili, indipendentemente dalle tecnologie sottostanti o dai fornitori nei diversi settori industriali.

OPC UA è ampiamente utilizzato in settori quali quello manifatturiero, dell'automazione dei processi, dell'energia, dell'automotive e altro ancora. La sua adozione è riscontrabile in diversi settori che fanno affidamento su una comunicazione solida e standardizzata per le loro operazioni.

Alcuni scenari applicativi, come le centrali elettriche, i processi chimici e il settore aerospaziale, sono altamente critici, dove l’affidabilità e la sicurezza sono fondamentali.

Modello operativo

Il diagramma fornito mostra i passaggi interni di un editore per la generazione e l'invio di messaggi, insieme ai parametri necessari per questo processo.

Illustra inoltre il processo all'interno di un abbonato per ricevere, decodificare e comprendere i messaggi, insieme al modello di parametri essenziale per raggiungere queste azioni.

Elaborazione dell'editore

Passaggio 1: raccolta dei dati

Nella fase iniziale vengono raccolti i dati (DataSet) per prepararli alla pubblicazione. Questo processo prevede la configurazione della raccolta utilizzando una struttura denominata PublishedDataSet.

All'interno del PublishedDataSet vengono definiti i dettagli essenziali sui dati, noti come DataSetMetaData. Il risultato di questo processo di raccolta dati è la creazione di valori per i singoli campi all'interno del DataSet.

Passaggio 2: creazione di DataSetWriter e DataSetMessage

Successivamente, un componente noto come DataSetWriter viene utilizzato per creare quello che viene chiamato DataSetMessage. Più DataSetMessage generati da diversi DataSetWriter all'interno di un WriterGroup possono essere raggruppati in un NetworkMessage unificato.

Passaggio 3: creazione di NetworkMessage

Segue la creazione di un NetworkMessage, utilizzando le informazioni acquisite nel passaggio precedente insieme al PublisherId specificato nel PubSubConnection. La struttura di questo NetworkMessage è conforme allo specifico protocollo di comunicazione in uso.

Passaggio 4: consegna di NetworkMessage

Il passaggio finale prevede la trasmissione del NetworkMessage completo al middleware orientato ai messaggi designato. Ciò si ottiene sfruttando l'indirizzo predefinito specificato per questo scopo.

Elaborazione dell'abbonato

Passaggio 1: avvio della connessione e dell'abbonamento

L'abbonato sceglie il middleware orientato ai messaggi appropriato e stabilisce una connessione tramite l'indirizzo fornito, utilizzando il multicast per OPC UA UDP o collegandosi a un broker per MQTT.

L'abbonato inizia ad ascoltare i messaggi in arrivo. Filtri come PublisherId, DataSetWriterId o DataSetClassId sono configurati per escludere i messaggi che non corrispondono ai criteri specificati.

Passaggio 2: elaborazione dei messaggi di rete in entrata

Quando arriva un NetworkMessage, viene sottoposto a decrittazione e decodifica utilizzando i parametri di sicurezza utilizzati dal Publisher.

Passaggio 3: decodifica e gestione specifica dell'applicazione

I DataSetMessage rilevanti vengono indirizzati ai DataSetReader corrispondenti. Il contenuto di DataSetMessages viene decodificato utilizzando DataSetMetaData, che contiene sintassi completa dei campi, informazioni sulla versione e proprietà adeguate. L'elaborazione specifica dell'applicazione potrebbe comportare la mappatura dei valori ricevuti sui nodi all'interno dello spazio di indirizzi OPC UA dell'abbonato.

Passaggio 4: configurazione e gestione di SubscriptionDataSet

Il Sottoscrittore configura il SubscriptionDataSet per l'invio dei dati.

Esistono due scelte distinte:

  1. La configurazione TargetVariables invia i campi DataSetMessage alle variabili preesistenti nello spazio degli indirizzi OPC UA dell'abbonato.
  2. La configurazione SubscriptionDataSetMirror viene utilizzata quando i campi DataSet ricevuti devono essere trasformati in variabili all'interno dello spazio di indirizzi OPC UA dell'abbonato. Se queste variabili non esistono, vengono create come parte della configurazione dell'abbonato.

L'impostazione e la personalizzazione sia degli editori che degli abbonati sono comunemente agevolate tramite strumenti di configurazione dedicati. Questo processo di configurazione può avvenire attraverso due strade principali:

  1. Utilizzare uno strumento di configurazione PubSub OPC UA generico che aderisce al modello di informazioni di configurazione di PubSub. Nota: per allinearsi al modello informativo di configurazione di PubSub, sia gli editori che gli abbonati devono funzionare essi stessi come server OPC UA.
  2. Impiega strumenti di configurazione specifici del fornitore che soddisfano le caratteristiche specifiche dell'applicazione.

La procedura di configurazione comprende la disposizione dei DataSet e la determinazione della modalità di origine dei dati per l'eventuale pubblicazione. Questa configurazione può essere realizzata utilizzando il modello di configurazione PubSub, che delinea un quadro standardizzato, oppure può essere personalizzata utilizzando strumenti di configurazione progettati dai singoli fornitori per soddisfare le loro offerte specifiche.

Sebbene un'applicazione OPC UA possa essere preconfigurata per funzionare come editore, spesso è necessaria un'ulteriore configurazione per specificare il contenuto da includere nei messaggi e la frequenza con cui questi messaggi vengono trasmessi.

Ciò consente una personalizzazione precisa del contenuto del messaggio e degli intervalli di trasmissione in base alle esigenze dell'applicazione, garantendo una comunicazione efficace tra editori e abbonati nella rete OPC UA.

Protocollo collaudato per l'organizzazione IT e OT

OPC UA su MQTT è un protocollo collaudato che ha ottenuto un'adozione e un riconoscimento diffusi in vari settori. Viene utilizzato nei sistemi di controllo di supervisione e acquisizione dati (SCADA), nei sistemi di esecuzione della produzione (MES), nelle soluzioni IoT industriali e altro ancora.

Molti fornitori di automazione industriale come Siemens, Beckhoff e KUKA forniscono il supporto OPC UA su MQTT nei loro prodotti, che vanno dai PLC e sensori alle piattaforme software. Questo ampio supporto indica la maturità del protocollo.

L'idoneità di OPC UA rispetto a MQTT per le implementazioni IoT si estende alle applicazioni basate su cloud. Molti provider cloud come AWS, Azure e GCP offrono supporto per protocolli, consentendo la perfetta integrazione dei dati IoT nei servizi cloud per l'archiviazione, l'analisi e la visualizzazione.

Eseguendo OPC UA su MQTT, le funzionalità di OPC UA possono essere estese dal cloud ai dispositivi edge e consentire un'integrazione perfetta negli ecosistemi IoT industriali.

Sicurezza e autenticazione

OPC UA su MQTT offre meccanismi di sicurezza completi, tra cui autenticazione, autorizzazione, crittografia e integrità dei dati. Affronta le sfide di sicurezza inerenti agli ambienti industriali, aiutando a proteggere i dati sensibili e a prevenire l'accesso non autorizzato.

Il meglio di entrambi i mondi

OPC UA su MQTT combina il meglio di entrambi i mondi unendo i punti di forza dei protocolli OPC UA e MQTT. Questa integrazione offre comunicazione efficiente, modellazione dei dati standardizzata e interoperabilità, rendendola una scelta interessante per le applicazioni industriali e IoT.

Sfruttando la natura leggera di MQTT e l'architettura di pubblicazione-sottoscrizione, pur mantenendo la solida rappresentazione dei dati e i servizi standardizzati di OPC UA, OPC UA su MQTT fornisce una soluzione ottimista e versatile per le moderne esigenze di comunicazione.

spot_img

L'ultima intelligenza

spot_img