Page 4 from 10
E120103819092
Interface Module XC Modbus
Protocol Converter / User Manual
Baer Energie- & Messtechnik GmbH
Siemensstr. 3
D-90766 Fürth
Phone +49 911 970590
Fax +49 911 9705950
Every Modbus packet consists of four fields (Request := eight bytes):
Slave Address Field (ID-Address): one byte between 1 and F7
Hex
; (:= 1 to 247
Dec
)
Function Field: one byte (:= 3 / fix, Read Holding Registers)
→ Modbus register address (start register) := address in the device – 40001
Data Field:
Request: four bytes (start register: 2 bytes, # of registers: 2 bytes)
Response: (1 + 2
n) bytes (counter: 1 byte, n registers: 2
n bytes)
Error Check Field (Checksum): two bytes, a 16-bit Cyclic Redundancy Check (CRC16: Cyclic
Redundancy Check)
Example:
ID-Address: 123
Dec
(:= 7B
Hex
) / start register: 14
Dec
(00 0E
Hex
) / # of registers: 2 (:= one 32 bit value)
Request:
ID-Addr. Function
Start register
# of registers
CRC16
7B
03
00
0E
00
02
AE
52
Response:
ID-Addr. Function
#
Register 1
Register 2
CRC16
7B
03
04
00
00
00
3B
60
27
Value = 59
Dec
(00 00 00 3B
Hex
)
Accepting the meter data
The Modbus module reads the service data list (TS) from the meter periodically (interval between two
readings: ca. 0.5 seconds) and creates an internal table with 16 bit registers (words): first data value
from meter is saved at register 0 and 1 (ID-Address). Via Modbus is it possible to read all this
registers.
Values at empty registers := FFFF
Hex
(:= 65535
Dec
).
All meter values between curved brackets (OBIS coded) will be transformed to 32 bit values. Possible
range of the values: -2
31
to 2
31
-1 (-2147483648
Dec
to 2147483647
Dec
).
Wrong values := -1 (FFFFFFFF
Hex
).