background image

 

 

    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 

Summary of Contents for DME CD

Page 1: ...Doc AHIT101A0510 doc 10 02 2011 P 1 18 DME CD DME CD Concentratore dati Data concentrator PROTOCOLLO DI COMUNICAZIONE MODBUS COMMUNICATION PROTOCOL MODBUS I334 I GB 0211 ...

Page 2: ...Default P07 n 06 Indirizzo IP 000 000 000 000 255 255 255 255 000 000 000 000 P07 n 07 Subnet MASK 000 000 000 000 255 255 255 255 000 000 000 000 P07 n 08 TCP IP Port 0 9999 1001 MODBUS PROTOCOL The data concentrator DME_CD supports the communication protocols Modbus RTU Modbus ASCII and Modbus TCP The data concentrator DME_CD supports the communication protocols on the expansion modules EXM 10 1...

Page 3: ...ione 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 Addr...

Page 4: ...pre dall indirizzo dello slave dalla funzione richiesta dal Master e dai dati dei registri richiesti La risposta termina sempre con il valore di checksum CRC The DME_CD answer is the following 01 04 04 00 00 7C C4 DA D7 Where 01 DME_CD address Slave 01 04 Function requested by the master 04 Number of bytes sent by the DME_CD 00 00 7C C4 Hex value of the total counter 1 31940 319 40 DA D7 CRC check...

Page 5: ...3 4 5 6 7 FUNZIONE 17 REPORT SLAVE ID Questa funzione permette di identificare il tipo di multimetro Richiesta Master Indirizzo slave 08h Funzione 11h MSB CRC C6h LSB CRC 7Ch FUNCTION 06 PRESET SINGLE REGISTER This function allows to write in the registers It can be used only with registers with address higher than 1000 Hex For instance it is possible to change setup parameters If the value is not...

Page 6: ...LSB CRC 3Eh Risposta Slave Indirizzo slave 08h Funzione 10h MSB Indirizzo registro 20h LSB Indirizzo registro 01h MSB Numero byte 00h LSB Numero byte 02h MSB CRC 1Bh LSB CRC 51h Slave response Slave address 08h Function 11h Byte count 04 h Data 01 Type C8h Data 02 Sw revision 04h Data 03 Hardware revision 00h Data 04 Parameter revision 01h MSB CRC h LSB CRC h ERRORS In case the slave receives an i...

Page 7: ... 04 numero di byte inviati dallo slave 00 00 07 30 valore esadecimale del contatore totale 2 1840 18 40 9B checksum LRC CRLF ASCII 0Dh 0Ah delimitatore fine messaggio MODBUS ASCII PROTOCOL The Modbus ASCII protocol is normally used in application that require to communicate through a couple of modems The functions and addresses available are the same as for the RTU version but the transmitted char...

Page 8: ...0010 1 00000001 Complemento a 2 11110101 Risultato LRC F5 CRC CALCULATION CHECKSUM for RTU Example of CRC calculation Frame 0207h CRC initialization 1111 1111 1111 1111 Load the first byte 0000 0010 Execute xor with the first 1111 1111 1111 1101 Byte of the frame Execute 1st right shift 0111 1111 1111 1110 1 Carry 1 load polynomial 1010 0000 0000 0001 Execute xor with the 1101 1111 1111 1111 polyn...

Page 9: ...rziale 6 Partial counter 6 UM 100 signed long 014CH 2 Contatore parziale 7 Partial counter 7 UM 100 signed long 014EH 2 Contatore parziale 8 Partial counter 8 UM 100 signed long 0150H 2 Contatore parziale 9 Partial counter 9 UM 100 signed long 0152H 2 Contatore parziale 10 Partial counter 10 UM 100 signed long 0154H 2 Contatore parziale 11 Partial counter 11 UM 100 signed long 0156H 2 Contatore pa...

Page 10: ... 12 Mathematics 12 UM 100 signed long long 0330H 4 Matematico 13 Mathematics 13 UM 100 signed long long 0324H 4 Matematico 14 Mathematics 14 UM 100 signed long long 0338H 4 Matematico 15 Mathematics 15 UM 100 signed long long 033CH 4 Matematico 16 Mathematics 16 UM 100 signed long long 2810H 1 Flag divisione per zero del MAT01 Flag division by zero of MAT01 bool Unsigned int 2811H 1 Flag divisione...

Page 11: ... signed long 0444H 2 Contatore parziale 3 Partial counter 3 n signed long 0446H 2 Contatore parziale 4 Partial counter 4 n signed long 0448H 2 Contatore parziale 5 Partial counter 5 n signed long 044AH 2 Contatore parziale 6 Partial counter 6 n signed long 044CH 2 Contatore parziale 7 Partial counter 7 n signed long 044EH 2 Contatore parziale 8 Partial counter 8 n signed long 0450H 2 Contatore par...

Page 12: ...08 1 Ingresso 8 Input 8 bool Unsigned int 2150H 1 Ingresso 9 Input 9 bool Unsigned int 2151 1 Ingresso 10 Input 10 bool Unsigned int 2152 1 Ingresso 11 Input 11 bool Unsigned int 2153 1 Ingresso 12 Input 12 bool Unsigned int 2154 1 Ingresso 13 Input 13 bool Unsigned int 2155 1 Ingresso 14 Input 14 bool Unsigned int 2156 1 Ingresso 15 Input 15 bool Unsigned int 2157 1 Ingresso 16 Input 16 bool Unsi...

Page 13: ...0 the meaning of the bits of the response is shown in the table below pATTENTION This function is enabled only if none of the inputs is set with the tariff function TAR A and TAR B INDIRIZZO ADDRESS WORDS COMANDO COMMAND VALORE VALUE FORMATO FORMAT 2FF0H 1 Azzera contatori parziali Reset partial counters 0 Unsigned int 2FF0H 1 Azzera contaore parziale Reset partial hour 1 Unsigned int 2FF0H 1 Azze...

Page 14: ...erivative multiplier 1 1000 60 1 n5048H n 1 80H P01 n 16 Divisore derivata Derivative divider 1 1000 1 1 n504AH n 1 80H P01 n 17 Unità di misura derivata Derivative unit of measure kW 3 n504CH n 1 80H M02 Utilità Utility P02 01 Lingua Language 0 4 0 1 5800H P02 02 Contrasto LCD Display contrast 0 50 100 1 5802H P02 03 Intensità retroilluminazione display alta High backlight level 10 100 100 1 5804...

Page 15: ...ld 9999 9999 0 1 n628AH n 1 80H P07 n 07 Moltiplicatore Multiplier 0 6 2 1 n628CH n 1 80H P07 n 08 Ritardo Delay 0 6000 0 1 n628EH n 1 80H P07 n 09 Stato di riposo Normal status 0 1 0 1 n6290H n 1 80H P07 n 10 Memoria Latch 0 1 0 1 n6292H n 1 80H M08 Allarmi Alarms P08 n 01 Sorgente allarme Alarm source 0 3 0 1 n6680H n 1 80H P08 n 02 Numero canale x Channel number x 1 8 1 1 n6682H n 1 80H P08 n 0...

Page 16: ...gresso Input function 0 5 0 1 n 6E80H n 1 80H P10 n 02 Stato a riposo Normal status 0 1 0 1 n 6E82H n 1 80H P10 n 03 Ritardo ON ON delay 0 60000 5 2 n 6E84H n 1 80H P10 n 04 Ritardo OFF OFF delay 0 60000 5 2 n 6E86H n 1 80H M11 Uscite Outputs P11 n 01 Funzione uscita Output function 0 7 0 1 n 7680H n 1 80H P11 n 02 Numero canale x Channel number x 1 8 1 1 n 7682H n 1 80H P11 n 03 Stato a riposo Id...

Page 17: ...s DMECD EXM 10 11 RS 232 EXM 10 12 RS485 EXM 10 11 DEVICE 1 30 L MAX 1200mt DEVICE 31 60 L MAX 1200mt EXM10 SET AS REPEATER EIA 232 EIA 485 422 TR B TR A SG CH2 A B SG CH1 PX1 SG TR B A EXM10 A1 A1 A2 A2 EXM10 SG TR A B EXM10 EIA 232 A1 A1 A2 A2 PC RS232 RS232 RS485 CONV EIA 485 422 CH1 B A TR CH2 SG B TR A SG PX1 51C4 CABLE DMECD n 31 DMECD n 1 PX1 ...

Page 18: ...Doc AHIT101A0510 doc 10 02 2011 P 18 18 EXP 10 11 RS 232 EXP 10 12 RS 485 RS232 PC Cable 51C2 RJ6 6 TR A B SG EXP10 12 n 1 EXP10 12 n 31 SG TR B A RS485 TR B A SG RS485 PX1 A TR B SG PC ...

Reviews: