Protocolli di comunicazione supportati

Panoramica dei protocolli di comunicazione industriali e IoT supportati dalla piattaforma — Modbus, OPC UA, MQTT e DLMS/COSEM.

Modbus (RTU / TCP)

Scopo e descrizione

Protocollo industriale semplice e ampiamente diffuso per lo scambio di dati di processo tra controllori, sensori e attuatori. Sviluppato nel 1979 da Modicon (oggi Schneider Electric), è diventato lo standard de facto dell’automazione industriale. Viene utilizzato nei sistemi SCADA, nei PLC, negli azionamenti a frequenza variabile, negli strumenti di misura e nei sensori. Grazie alla semplicità di implementazione e ai requisiti minimi di risorse di calcolo, il protocollo è ideale per i sistemi embedded e i dispositivi con memoria limitata.

Architettura e modello dei dati

Il modello dei dati basato su registri si fonda su quattro tipi di spazio di indirizzamento:

  • Coils (0x) — uscite discrete (lettura/scrittura di valori a bit)
  • Discrete Inputs (1x) — ingressi discreti (sola lettura)
  • Input Registers (3x) — registri di ingresso a 16 bit (sola lettura)
  • Holding Registers (4x) — registri di mantenimento a 16 bit (lettura/scrittura)

Architettura client-server (master-slave): il dispositivo master avvia le richieste, gli slave rispondono. Ogni dispositivo slave ha un indirizzo univoco (1–247). Il protocollo non contiene alcuna semantica dei dati integrata: l’interpretazione dei valori dei registri è definita a livello applicativo e nella documentazione del dispositivo. Supporta operazioni di lettura e scrittura per singoli e per più registri.

Trasporto

Modbus RTU:

  • Linee seriali RS-485 (fino a 32 dispositivi per bus, distanza fino a 1200 m) o RS-232 (punto-punto)
  • Rappresentazione binaria dei dati
  • Verifica dell’integrità tramite CRC-16
  • Velocità di trasmissione: da 1200 a 115200 baud
  • Trasmissione half-duplex

Modbus TCP:

  • Incapsulamento dei frame Modbus in TCP/IP (porta 502)
  • Intestazione MBAP (Modbus Application Protocol) per l’identificazione delle transazioni
  • Trasmissione full-duplex
  • Possibilità di operare contemporaneamente con più dispositivi
  • Nessuna checksum richiesta (l’affidabilità è garantita da TCP)

Funzionalità principali

  • Lettura e scrittura di segnali discreti (Coils) e registri
  • Supporto dei Function Code standard (FC 01–06, 15–16, 23)
  • Funzioni diagnostiche (FC 08)
  • Lettura dei dati di identificazione del dispositivo (FC 17, 43)
  • Requisiti minimi di risorse di calcolo per i dispositivi
  • Implementazione e debug semplici
  • Basso costo di implementazione
  • Gestione delle eccezioni e codici di errore
  • Supporto dei messaggi broadcast (indirizzo 0) in RTU
  • Scalabilità fino a 247 dispositivi su una linea (RTU) o illimitata tramite TCP

OPC UA

Scopo e descrizione

Standard universale e multipiattaforma (OPC Unified Architecture, IEC 62541) per lo scambio sicuro e strutturato di dati industriali, metadati e informazioni semantiche. Sviluppato dalla OPC Foundation come successore delle specifiche classiche OPC DA/AE/HDA, elimina la dipendenza dalle tecnologie Microsoft DCOM. Consente l’integrazione verticale e orizzontale nei sistemi industriali — dal livello di campo ai sistemi informativi aziendali (ERP, MES). Supporta i concetti di Industrie 4.0 e di gemello digitale grazie alle ampie capacità di modellazione delle informazioni.

Architettura e modello dei dati

Modello dei dati orientato agli oggetti che rappresenta le informazioni come uno spazio di nodi indirizzabile (Address Space):

  • Nodi di vario tipo: Variable, Object, Method, View, DataType, ReferenceType
  • Attributi dei nodi: Value, DataType, AccessLevel, Timestamp, Quality, DisplayName, ecc.
  • Riferimenti tra i nodi: gerarchici, associativi, basati su componenti
  • Tipi di dati: primitivi, strutture, array, enumerazioni

Servizi supportati:

  • Subscription — monitoraggio delle variazioni dei dati con intervalli di campionamento e filtri configurabili
  • Events & Alarms — notifiche asincrone di eventi, allarmi e stati
  • Historical Access — accesso a dati ed eventi archiviati
  • Methods — invocazione remota di procedure sui dispositivi

Modelli informativi specifici di settore (Companion Specifications): meccanica, energia, oil & gas, farmaceutica.

Trasporto

UA Binary Protocol su TCP/IP:

  • Protocollo binario con serializzazione ottimizzata (porta 4840)
  • Prestazioni elevate e overhead minimo

HTTPS / SOAP:

  • Profilo Web Services per l’integrazione con i sistemi aziendali
  • Codifica JSON per le applicazioni cloud

OPC UA PubSub:

  • Modello publisher-subscriber per i sistemi distribuiti
  • Trasporto: UDP Multicast, MQTT, AMQP, Ethernet TSN
  • Trasmissione deterministica per le applicazioni time-critical

Sicurezza:

  • Modalità di sicurezza multilivello (None, Sign, SignAndEncrypt)
  • Certificati X.509 per l’autenticazione
  • Crittografia AES, RSA

Funzionalità principali

  • Modellazione delle informazioni: trasmissione non solo di valori “grezzi” ma di dati complessi e strutturati con semantica, tipizzazione e metadati
  • Sottoscrizioni con intervalli di polling configurabili, filtri deadband e buffering
  • Eventi e sistema di allarmi con filtraggio condizionale
  • Invocazione di metodi per il controllo dei dispositivi e l’esecuzione di operazioni
  • Accesso ai dati storici con aggregazione
  • Service discovery nelle reti locali
  • Sicurezza integrata: crittografia del canale, autenticazione basata su certificati o nome utente/password, controllo degli accessi a livello di nodo
  • Ridondanza del server e tolleranza ai guasti
  • Multipiattaforma: Windows, Linux, VxWorks, QNX e altri sistemi operativi
  • Scalabilità: dai microcontrollori ai sistemi distribuiti

MQTT

Scopo e descrizione

Protocollo di messaggistica leggero (Message Queuing Telemetry Transport) per telemetria, monitoraggio remoto e gestione di dispositivi IoT, ottimizzato per reti inaffidabili, larghezza di banda limitata e latenze elevate. Sviluppato nel 1999 da IBM per il monitoraggio di oleodotti, è stato standardizzato da OASIS e ISO/IEC (20922:2016). Ampiamente utilizzato nell’IoT industriale, nelle smart home, nella telematica veicolare e nelle applicazioni mobili. Il protocollo è incentrato sulla riduzione al minimo del traffico di rete e del consumo energetico dei dispositivi.

Architettura e modello dei dati

Modello Publish/Subscribe asincrono con un broker centralizzato:

  • Publisher — dispositivo o applicazione che pubblica messaggi sui topic
  • Subscriber — dispositivo o applicazione sottoscritto per ricevere i messaggi dai topic
  • Broker — server centrale di instradamento dei messaggi (Mosquitto, HiveMQ, EMQ X, ecc.)

Topic — struttura di percorso gerarchica per la categorizzazione dei messaggi:

  • Separatori di livello: / (ad esempio, factory/building1/temperature)
  • Caratteri jolly: + (singolo livello), # (più livelli)
  • Esempio di sottoscrizione: sensors/+/temperature oppure factory/#

Formato dei dati definito dall’applicazione: JSON, Protocol Buffers, XML, dati binari, testo.
Retained messages: il broker conserva l’ultimo messaggio di un topic e lo recapita ai nuovi subscriber.
Sessioni persistenti: il broker mantiene le sottoscrizioni del client in caso di disconnessione.

Trasporto

  • Livello di trasporto: TCP/IP (porta 1883 per le connessioni non protette)
  • TLS/SSL (porta 8883) per crittografia e autenticazione
  • WebSocket per l’integrazione con browser e applicazioni web
  • Versioni del protocollo: MQTT 3.1.1 (la più diffusa), MQTT 5.0 (funzionalità estese)
  • Dimensione dell’intestazione: minimo 2 byte (fixed header)
  • Meccanismo keep-alive: PINGREQ/PINGRESP periodici per il monitoraggio della connessione
  • Il funzionamento basato su broker garantisce il disaccoppiamento tra publisher e subscriber, lo scaling orizzontale e la gestione centralizzata

Funzionalità principali

  • QoS (Quality of Service) con tre livelli di garanzia di consegna:
    • QoS 0: At most once (senza conferma)
    • QoS 1: At least once (con conferma)
    • QoS 2: Exactly once (handshake a quattro fasi)
  • Overhead di rete minimo: fixed header di 2 byte, codifica binaria efficiente
  • LWT (Last Will and Testament): meccanismo di notifica automatica della disconnessione imprevista di un dispositivo — il broker pubblica un messaggio predefinito se il client termina la sessione in modo anomalo
  • Clean Session / Persistent Session: possibilità di ripristinare sottoscrizioni e messaggi dopo la riconnessione
  • Retained Messages: disponibilità dell’ultimo valore per i nuovi subscriber
  • Basso consumo energetico: ideale per i dispositivi alimentati a batteria
  • Scalabilità: supporto di milioni di connessioni simultanee su cluster di broker
  • Sottoscrizioni con caratteri jolly per un filtraggio flessibile dei topic

DLMS / COSEM (IEC 62056)

Scopo e descrizione

Standard internazionale per lo scambio di dati con i contatori di utenze: elettricità, gas, acqua e calore (Device Language Message Specification / Companion Specification for Energy Metering). Sviluppato dalla DLMS User Association insieme all’IEC per garantire l’interoperabilità dei contatori intelligenti nei sistemi automatizzati di contabilizzazione e fatturazione (AMBS). Consente la lettura remota dei contatori, il monitoraggio della qualità dell’energia, la gestione delle tariffe e il rilevamento degli accessi non autorizzati. Ampiamente utilizzato dai gestori delle reti elettriche, dai fornitori di servizi pubblici e dagli integratori di sistemi Smart Grid.

Architettura e modello dei dati

Modello a oggetti COSEM (Companion Specification for Energy Metering):

  • I dati del contatore sono rappresentati come oggetti logici (oggetti COSEM) con classi di interfaccia
  • Codici OBIS (Object Identification System) — identificatore a sei byte per l’indirizzamento universale dei parametri: A-B:C.D.E*F
    • A — tipo di energia (1=elettricità, 6=calore, 7=gas, 8=acqua)
    • B — canale di misura
    • C — grandezza fisica (ad esempio, 1=energia attiva)
    • D — tipo di misura (8=tempo di integrazione)
    • E — fascia tariffaria
    • F — profondità storica

Protocollo DLMS:

  • Livello applicativo secondo il modello OSI
  • Associazioni con diversi diritti di accesso: Public, Reader, Manager
  • Autenticazione: Low Level Security (LLS), High Level Security (HLS) con challenge-response
  • Crittografia: supporto della DLMS Security Suite con algoritmi AES-GCM-128
  • Load Profiles: oggetti buffer per la memorizzazione di serie temporali
  • Sistema di scripting: esecuzione di sequenze di azioni sul contatore

Trasporto

Livello fisico e livello di collegamento dati:

  • Porta ottica (IEC 62056-21, flag) — connessione diretta tramite testina a infrarossi per la lettura locale
  • RS-485 / RS-232 con protocollo HDLC (High-Level Data Link Control) per reti multi-drop
  • TCP/IP (porta 4059) — DLMS su TCP o incapsulamento IP per l’accesso remoto
  • GSM/GPRS/LTE — trasmissione dati tramite reti mobili (protocolli wrapper)
  • PLC (Power Line Communication) — trasmissione sulle linee elettriche (PRIME, G3-PLC)
  • M-Bus — per l’integrazione con i sistemi di contabilizzazione di acqua e calore

Profili di trasmissione a seconda dell’implementazione del contatore:

  • IEC 62056-46: COSEM su HDLC
  • IEC 62056-47: trasporto COSEM su TCP-UDP/IP

Funzionalità principali

  • Lettura del contatore — valori correnti di consumo energetico, potenza, tensione, corrente, fattore di potenza
  • Load Profiles — dati dettagliati con marca temporale (intervalli di 15 min, orari, giornalieri)
  • Registri eventi — registrazione di manomissioni del coperchio, interruzioni di alimentazione, sovratensioni, modifiche dei parametri
  • Autenticazione e autorizzazione multilivello: controllo degli accessi basato sui ruoli (accesso pubblico, lettura, configurazione)
  • Gestione delle tariffe — modifica remota di programmi tariffari e tariffe
  • Sincronizzazione oraria per l’accuratezza delle marche temporali
  • Controllo dei relè (connessione/disconnessione del carico)
  • Monitoraggio della qualità dell’energia (cali di tensione, sovratensioni, armoniche)
  • Supporto delle operazioni di gruppo su più contatori
  • Protezione crittografica dei dati e integrità dei messaggi

Argomenti correlati

Ultimo aggiornamento il

Questa pagina è stata utile?