Doc. AHIT200A0205.doc Date: 05/09/2006 P. 3 / 19
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 ATL, 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.
L’ ATL 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:
04 = Read input
register
Consente la lettura delle
misure disponibili nell’ ATL.
06 = Preset single
register
Permette la scrittora 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 dall’ ATL con
indirizzo 01 il valore della tensione di batteria che si
trova alla locazione 30 (1E Hex), il messaggio da
spedire è il seguente:
01 04 00 1D 00 02 E1 CD
Dove:
01= indirizzo slave.
04 = funzione di lettura locazione.
00 1D = indirizzo della locazione diminuito di
un’unità, contenete il valore della tensione di batteria
00 02 = numero di registri da leggere a partire
dall’indirizzo 30.
E1 CD = checksum CRC.
La risposta dell’ ATL è la seguente:
01 04 04 00 00 00 7C FA 65
Dove:
01= indirizzo dell’ ATL (Slave 01).
04 = funzione richiesta dal Master.
04 = numero di byte inviati dall’ATL.
00 00 00 7C = valore esadecimale della tensione di
batteria = 124 = 12,4V
FA 65 = 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 ATL, 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 ATL measures the time that elapse 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:
04 = Read input
register
Allows to read the ATL
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 ATL.
For instance, to read the value of the battery
voltage, which resides at location 30 (1E Hex) from
the ATL with serial address 01 the message to send
is the following:
01 04 00 1D 00 02 E1 CD
Whereas:
01= slave address
04 = Modbus® function ‘Read input register’
00 1D = Address of the required register (battery
voltage) decreased by one
00 02 = Number of registers to be read beginning
from address 30
E1 CD = CRC Checksum
The ATL answer is the following:
01 04 04 00 00 00 7C FA 65
Where:
01 = ATL address (Slave 01)
04 = Function requested by the master
04 = Number of bytes sent by the ATL
00 00 00 7C = Hex value of the battery voltage =
124 = 12.4VDC
FA 65 = CRC checksum