Doc. AHIT101A0510.doc 10/02/2011 P. 3 / 18
PROTOCOLLO MODBUS® RTU
Quando si utilizza il protocollo Modbus® RTU, la
struttura del messaggio di comunicazione è così
costituita:
T1
T2
T3
Indirizzo
( 8 bit)
Funzione
(8 bit)
Dati
(N x 8 bit)
CRC
(16 bit)
T1
T2
T3
•
Il campo Indirizzo contiene l’indirizzo dello
strumento slave cui il messaggio viene inviato.
•
Il campo Funzione contiene il codice della funzione
che deve essere eseguita dallo slave.
•
Il campo Dati contiene i dati inviati allo slave o
quelli inviati dallo slave come risposta ad una
domanda.
•
Per la serie DME_CD, la lunghezza massima
consentita per il campo dati e’ di 80 registri da 16 bit
•
Il campo CRC consente sia al master che allo slave
di verificare se ci sono errori di trasmissione.
Questo consente, in caso di disturbo sulla linea di
trasmissione, di ignorare il messaggio inviato per
evitare problemi sia dal lato master che slave.
•
La sequenza T1 T2 T3 corrisponde al tempo
durante il quale non devono essere scambiati dati sul
bus di comunicazione, per consentire agli strumenti
collegati di riconoscere la fine di un messaggio e
l’inizio del successivo. Questo tempo deve essere
pari a 3.5 caratteri.
Il DME_CD misura il tempo trascorso tra la ricezione
di un carattere e il successivo e se questo tempo
supera quello necessario per trasmettere 3.5
caratteri, riferiti al baud rate impostato, il prossimo
carattere viene considerato l’inizio di un nuovo
messaggio.
FUNZIONI MODBUS®
Le funzioni disponibili sono:
03 = Read input
register
Consente la lettura delle
misure disponibili nel
DME_CD
04 = Read input
register
Consente la lettura delle
misure disponibili nel
DME_CD.
06 = Preset single
register
Permette la scrittura dei
parametri
07 = Read exception
Permette di leggere lo stato
dell’ apparecchio
10 = Preset multiple
register
Permette la scrittura di più
parametri
17 = Report slave ID
Permette di leggere
informazioni relative
all’ apparecchio
Per esempio, se si vuole leggere dal DME_CD con
indirizzo 01 il valore del contatore totale 1 che si
trova alla locazione 256 (100 Hex), il messaggio da
spedire è il seguente:
01 04 00 FF 00 02 41 FB
Dove:
01= indirizzo slave
04 = funzione di lettura locazione
00 FF = indirizzo della locazione diminuito di
un’unità, contenete il valore del contatore totale 1
00 02 = numero di registri da leggere a partire
dall’indirizzo 22
41 FB = checksum CRC
MODBUS® RTU PROTOCOL
If one selects the Modbus® RTU protocol, the
communication message has the following
structure:
T1
T2
T3
Address
( 8 bit)
Function
(8 bit)
Data
(N x 8 bit)
CRC
(16 bit)
T1
T2
T3
•
The Address field holds the serial address of the
slave destination device.
•
The Function field holds the code of the function
that must be executed by the slave.
•
The Data field
contains data sent to the slave or
data received from the slave in response to a query.
•
For the DME_CD series, the maximum length for
the data field is 80 16-bit registers
•
The CRC field allows the master and slave
devices to check the message integrity. If a
message has been corrupted by electrical noise or
interference, the CRC field allows the devices to
recognize the error and thereby to ignore the
message.
•
The T1 T2 T3 sequence corresponds to a time in
which data must not be exchanged on the
communication bus to allow the connected devices
to recognize the end of one message and the
beginning of another. This time must be at least 3.5
times the time required to send one character.
The DME_CD measures the time that elapses from
the reception of one character and the following. If
this time exceeds the time necessary to send 3.5
characters at the selected baudrate, then the next
character will be considered as the first of a new
message.
MODBUS® FUNCTIONS
The available functions are:
03 = Read input
register
Allows to read the DME_CD
measures.
04 = Read input
register
Allows to read the DME_CD
measures.
06 = Preset single
register
Allows writing parameters
07 = Read exception
Allows to read the device
status
10 = Preset multiple
register
Allows writing several
parameters
17 = Report slave ID
Allows to read information
about the device.
For instance, to read the value of total counter 1 ,
which resides at location 256 (100 Hex) from the
DME_CD with serial address 01, the message to
send is the following:
01 04 00 FF 00 02 41 FB
Whereas:
01= slave address
04 = Modbus® function ‘Read input register’
00 FF = Address of the required register (total
counter 1) decreased by one
00 02 = Number of registers to be read beginning
from address 22
41 FB = CRC Checksum