Principio client/server Modbus
Panoramica
Il protocollo Modbus scambia dati utilizzando un meccanismo di richiesta/risposta tra un client e un server. Il principio client/server costituisce un modello di protocollo di comunicazione in cui un dispositivo (il client) controlla uno o più dispositivi (i server). Una rete Modbus standard è costituita da un client e da un massimo di 31 server.
Caratteristiche del principio client/server
Il principio client/server ha le seguenti caratteristiche:
-
Alla rete è collegato un solo client alla volta.
-
Solo il client può avviare la comunicazione e inviare richieste ai server.
-
Il client può rivolgersi a ogni server singolarmente utilizzando il suo indirizzo dedicato o a tutti i server contemporaneamente utilizzando l'indirizzo 0.
-
I server possono solo inviare risposte al client.
-
I server non possono avviare la comunicazione con il client o con gli altri server.
Modalità di comunicazione client/server
Il protocollo Modbus può scambiare dati utilizzando due modalità di comunicazione:
-
modalità richiesta/risposta
-
modalità broadcast
Ogni I/O Smart Link ha un indirizzo Modbus (da 1 a 99) e concentra i dati provenienti dai dispositivi collegati sugli 11 canali di cui dispone (interfaccia Ti24).
Gli stati e i comandi per ogni dispositivo collegato a I/O Smart Link sono accessibili in registri il cui indirizzo dipende dal canale (da 1 a 11) su cui è collegato il dispositivo.
Modalità richiesta/risposta
In modalità richiesta/risposta, il client si rivolge a 1 server utilizzando l'indirizzo dedicato del server. Il server elabora la richiesta, quindi risponde al client.
Modalità broadcast
In modalità broadcast, il client si rivolge a tutti i server utilizzando l'indirizzo 0. I server non rispondono ai messaggi broadcast.
Tempo di esecuzione
Scambio dati
Il protocollo Modbus utilizza due tipi di dati:
-
Bit
-
parole di 16 bit denominate registri
Ciascun registro dispone di un numero di registro. Ogni tipo di dati (bit o registro) è associato a un indirizzo a 16 bit.
I messaggi scambiati con il protocollo Modbus contengono l'indirizzo dei dati da elaborare.
Frame
Tutti i frame scambiati con il protocollo Modbus hanno un massimo di 256 byte e sono costituiti da quattro campi:
Campo |
Definizione |
Dimensione |
Descrizione |
---|---|---|---|
1 |
Numero server |
1 byte |
Destinazione della richiesta
|
2 |
Codice funzione |
1 byte |
|
3 |
|
n byte |
|
4 |
Controllo |
2 byte |
CRC16 (per controllare gli errori di trasmissione) |
Formato data
Il formato dei dati è configurato come illustrato nella tabella seguente in base al formato Modbus RTU:
Avvio |
Dati |
Parità |
Stop |
---|---|---|---|
1 bit |
8 bit |
1 bit |
1 bit |
È richiesta la parità pari, ma si possono utilizzare anche altre modalità (parità dispari, nessuna parità).
Se nel client Modbus è implementata l’opzione nessuna parità, il client Modbus deve trasmettere un bit di stop supplementare per compilare il frame di caratteri ottenendo un carattere asincrono completo a 11 bit.