background image

 

 

    Doc. AHIT101A0510.doc                                                10/02/2011                                                                      P.  7 / 18 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

PROTOCOLLO MODBUS® ASCII   

Il protocollo Modbus® ASCII viene utilizzato 
normalmente nelle applicazioni che richiedono di 
comunicare via modem. 
Le  funzioni e gli indirizzi disponibili sono gli stessi 
della versione RTU, ma i caratteri trasmessi sono in 
ASCII e la terminazione del messaggio non e’ 
effettuata a tempo ma con dei caratteri di ritorno a 
capo. 
Se si seleziona il parametro P7.x.05 o P7.05 o come 
protocollo Modbus® ASCII, la struttura del 

 

messaggio di comunicazione sulla relativa porta di 
comunicazione è così costituita: 
 

 
 

 
Indirizzo 
2 chars 
 

 
Funzione 
2 chars 

 
Dati 
(N chars) 

 
LRC 
2 chars 

 
CR 
LF 

  

 

 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. La massima lunghezza consentita e’ di 
(ved. Pag. 3)  registri consecutivi. 

 Il campo LRC 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. 
 

 

Il messaggio termina sempre con i caratteri di 

controllo CRLF (0D 0A). 
 

Esempio: 

Per esempio, se si vuole leggere dal DME_CD con 
indirizzo 8 il valore del contatore totale 2 che si trova 
alla locazione 259 (103 Hex), il messaggio da spedire 
è il seguente: 
 

:  08 04 01 02 00 02 E7 CRLF 

 
Dove: 
:    = ASCII 3Ah = Delimitatore inizio messaggio 
08 = indirizzo slave.

 

04 = funzione di lettura locazione. 
01 02 = indirizzo della locazione diminuito di un’unità, 
contenente il valore del contatore totale 2 
00 02 = numero di registri da leggere a partire 
dall’indirizzo 04. 
E7 = checksum LRC. 
CRLF = ASCII 0Dh 0Ah = delimitatore fine 
messaggio 
 
La risposta del DME_CD è la seguente: 

: 08 04 04 00 00 07 30 9B 

CR
LF 

 

Dove: 
:    = ASCII 3Ah = Delimitatore inizio messaggio 
08 = indirizzo del DME_CD (Slave 08). 
04 = funzione richiesta dal Master. 
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 
characters are in ASCII and the message end is 
delimited by Carriage return/ Line Feed instead of a 
transmission pause. 
If one selects the parameter P7.x.05 or P7.05 as 
Modbus® ASCII protocol, the communication 
message on the correspondent communication port 
has the following structure: 
 

 
 

 
Address 
(2 chars) 
 

 
Function 
(2 chars) 

 
Dates 
(N chars) 

 
LRC 
(2 
chars) 

 
CR 
LF 

 

 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. 
The maximum allowable length is of (read pag. 3) 
consecutive registers. 

 The LRC field allows the master and slave 

devices to check the message integrity. If a 
message has been corrupted by electrical noise or 
interference, the LRC field allows the devices to 
recognize the error and thereby ignore the 
message. 

 The message terminates always with CRLF    

control character (0D 0A). 
 

Example: 

For instance, to read the value of the total counter 2 
, which resides at location 259 (103 Hex), from the 
slave with serial address 08, the message to send is 
the following: 
 

:  08 04 01 02 00 02 E7 CRLF 

 
Whereas: 
:    = ASCII 3Ah message start delimiter 
08 = slave address 
04 = Modbus® function ‘Read input register’ 
01 02 = Address of the required register (total 
counter 2) decreased by one 

 

00 02 = Number of registers to be read beginning 
from  address 04 
E7= LRC Checksum 
CRLF = ASCII 0Dh 0Ah = Message end delimiter 

 

The DME_CD answer is the following: 

: 08 04 04 00 00 07 30 9B 

CR
LF 

 
Whereas: 
:    = ASCII 3Ah message start delimiter

 

08 = DME_CD  address (Slave 08) 
04 = Function requested by the master 
04 = Number of bytes sent by the multimeter 
00 00 07 30 = Hex value of the current phase of 
total counter 2 =1840 = 18,40. 
9B = LRC checksum

 

CRLF = ASCII 0Dh 0Ah = Message end delimiter 

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: