Doc. AHIT101C0208.doc Date: 10/11/2009 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 il DMG, la lunghezza massima consentita per il
campo dati e’ di 60 registri da 16 bit (120 bytes).
•
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 DMG 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 DMG
04 = Read input
register
Consente la lettura delle
misure disponibili nel DMG.
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 DMG con
indirizzo 01 il valore della potenza attiva L2 che si
trova alla locazione 22 (16 Hex), il messaggio da
spedire è il seguente:
01 04 00 15 00 02 60 0F
Dove:
01= indirizzo slave
04 = funzione di lettura locazione
00 15 = indirizzo della locazione diminuito di
un’unità, contenete il valore della potenza attiva L2
00 02 = numero di registri da leggere a partire
dall’indirizzo 22
60 EF = checksum CRC
La risposta del DMG è la seguente:
01 04 04 00 01 FB 00 E9 74
Dove:
01= indirizzo del DMG (Slave 01)
04 = funzione richiesta dal Master
04 = numero di byte inviati dal DMG
00 01 FB 00 = valore esadecimale potenza attiva L2
= 129792 = 1.29792 KW
E9 74 = 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 DMG, the maximum length for the data
field is of 60 16-bit registers (120 bytes).
•
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 DMG 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 DMG
measures.
04 = Read input
register
Allows to read the DMG
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 active power of
line L2 , which resides at location 22 (16 Hex) from
the DMG with serial address 01, the message to
send is the following:
01 04 00 15 00 02 60 0F
Whereas:
01= slave address
04 = Modbus® function ‘Read input register’
00 15 = Address of the required register (active
power L2) decreased by one
00 02 = Number of registers to be read beginning
from address 22
60 EF = CRC Checksum
The DMG answer is the following:
01 04 04 00 01 FB 00 E9 74
Where:
01 = DMG address (Slave 01)
04 = Function requested by the master
04 = Number of bytes sent by the DMG
00 01 FB 00 = Hex value of the active power
L2=129792 = 1.29792 KW
E9 74 = CRC checksum