Il protocollo di comunicazione Modbus è basato sugli scambi di dati tra dispositivi in modalità master/slave e client/server. Vale a dire che questo protocollo permette la comunicazione tra controllori logici programmabili, ovvero PLC, e computer su linee seriali. Dunque il computer è il “master” e i vari slave possono essere rappresentati, ad esempio, da strumenti di misurazione o di controllo.
Viene utilizzato principalmente nei Sistemi di gestione degli edifici e per l’automazione industriale (IAS). Gli strumenti di controllo trasmettono un segnale ad un controller o al sistema centrale e i dati vengono raccolti e analizzati.
Il successo e il suo ampio uso è stato stimolato dal fatto che è molto semplice da utilizzare, affidabile e ha un codice sorgente aperto e può essere utilizzato royalty free con qualsiasi applicazione e dispositivo.
Il protocollo Modbus vede le sue origini alla fine degli anni 70, quando è stato sviluppato e successivamente pubblicato da Modicon gruppo Schneider. La sua forma iniziale utilizzava le interfacce seriali RS-232 per il trasferimento dei dati, e successivamente la sua fama è stata accresciuta dall’introduzione della variante con incapsulamento TCP-IP e dalla cessione delle specifiche da parte di Schneider all’organizzazione no-profit Modbus-IDA.
Le principali varianti di Modbus
Numerose sono le forme e le varianti in cui Modbus è presente in ambito industriale. La sua versione più datata è quella che permette di scambiare comunicazioni seriali asincrone su interfacce RS-232 e RS-485. Tale versione è stata adattata anche a mezzi di trasmissione di vario tipo e diversi dal rame, come ad esempio i collegamenti radio e la fibra ottica. Proprio per questo molto spesso vengono utilizzati dei convertitori da seriale a fibra ottica, come quelli offerti da Moxa Distry Shop, che sono in grado di convertire appunto RS-232/422/485 in fibra ottica.
Un’altra variante utilizza uno stack TCP-IP che permette di comunicare su reti ethernet, ed è conosciuta con i nomi di Modbus/TCP, Modbus/IP e Modbus/Ethernet.
La comunicazione seriale di Modbus
Modbus permette due tipi di funzionamento, in modalità half-duplex e full-duplex sulle reti seriali RS-485 e RS-232, laddove i bit dati sono costituiti da tensioni positive e negative ai terminali Rx e Tx della porta seriale. Le interazioni di tipo master slave prevedono due tipi di trasmissione: Ascii e RTU.
Per quanto riguarda la modalità Ascii i messaggi sono costituiti da byte da otto bit e vengono trasmessi sotto forma di codifica esadecimale del valore con i due caratteri Ascii. Per la modalità RTU, che sta per Remote Terminal Unit, ad essere inviata è la rappresentazione binaria del valore. Di conseguenza con questa seconda modalità, a parità di velocità di trasmissione, possono essere inviate quantità maggiori di informazioni.
A sostegno di Ascii si può però dire che in questa modalità sono consentite delle pause fino ad un secondo tra un carattere e l’altro, il che permette di abbassare le probabilità di errori di comunicazione. In ogni caso, a scegliere la modalità preferita è l’utilizzatore stesso al momento della configurazione dei nodi della rete. A tal proposito c’è da sottolineare uno dei problemi di Modbus: quando ci sono troppi nodi connessi in multidrop c’è il rischio che le comunicazioni subiscano un forte rallentamento.