Il protocollo ModBUS e stato sviluppato dalla Gould-Modicon per consentire l’interscambio di informazioni tra dispositivi di controllo in ambito industriale, secondo una gerarchia Master-Slave che vede collegati alla stessa linea seriale i vari dispositivi Slave, ognuno identificato dal proprio indirizzo, interrogati periodicamente (polling) da un unico Master.
Ancora oggi nell’era della trasformazione digitale e della comunicazione wireless, la versione Modbus RTU (Remote Terminal Unit) è uno degli standard di mercato più noti e conosciuti nell’industria. Notevoli sono i vantaggi in ambito industriale:
- Standard de facto dal 1979
- Semplicità di installazione, configurazione e utilizzo
- Immediata integrazione in diversi sistemi di supervisione, controllo e automazione
- Specifiche aperte che non rendono necessari vincoli hardware.
- Comunicazione affidabile tra dispositivi di automazione
- Interoperabilità tra dispositivi di produttori diversi.
- Integrazione con Modbus TCP tramite convertitori e adattotri che permettono l’integrazione con LAN, sistemi di telecontrollo, piattaforme web e cloud
Accesso ai dati
L’accesso fisico si basa su una trasmissione di tipo seriale half-duplex.
L’interfaccia elettrica consente collegamenti in modalità punto a punto (RS232) o multipoint. L’utilizzo del protocollo Modbus RTU è compatibile con molti altri prodotti di automazione industriale: PLC, termoregolatori, pannelli operatore, registratori dati, ecc., i quali possono comunicare facilmente con un supervisore comune.
Per integrare il bus di campo con la rete aziendale e i sistemi di supporto alle decisioni, la strumentazione SENECA adotta anche un’altra versione aperta e integrabile del protocollo ModBUS, ovvero ModBUS TCP/IP. Tale protocollo combina le caratteristiche di versatilità, scalabilità e diffusione capillare di Ethernet TCP/IP con una modalità di rappresentazione dei dati indipendente dall’hardware costituita da ModBUS, realizzando così un’infrastruttura aperta e accessibile per lo scambio dei dati di processo.
La versione SENECA
La versione ModBUS RTU utilizzate nei moduli I/O SENECA, prevede: 1 bit di Start (fisso), 8 bit per il dato, 1 bit di parita (opzionale), 1 o 2 bit di Stop e CRC per il controllo del messaggio; la sincronizzazione del pacchetto (framing) avviene ogni qualvolta trascorra un “silenzio” maggiore di 3.5 caratteri: in tal caso il successivo bit ricevuto e interpretato come l’inizio del nuovo pacchetto.
Quest’ultimo e sequenzialmente costituito da: l’indirizzo del dispositivo (primo byte), il codice funzione, il campo dati (2 byte per valore) ed il CRC-16. In particolare il codice funzione assume i seguenti significati:
Codice Funzione | Primo indirizzo | Significato | Codice funzione | Significato |
01 | 00001 | Read Coil Status | 05 | Force Single Coil |
02 | 10001 | Read Input Status | 06 | Preset Single Register |
03 | 40001 | Read Holding Register | 15 | Write Multilpe Coils |
04 | 30001 | Read Input Registe | 16 | Write Multiple Registers |