Instructions

Acquiring and processing meter data 26
Anybus M-Bus to Modbus-TCP Gateway User Manual Doc: HMSI-27-300, Rev: 1.10
5.2.4 Modbus register layout
The Anybus M-Bus to Modbus-TCP Gateway uses a fixed address structure of 10 Modbus registers per
address. Addresses are enumerated starting with 0.
Data types using more than one register are encoded with the most significant word at the lowest
address.
The function code 0x03 (Read Holding Register) is used for reading the data.
Within the Modbus protocol, data is formatted as either integer or float. Other data types (like BCD) are
converted to integer values before transmission.
The first 10 Modbus register, starting at address 0, are status registers of the gateway:
Each meter is characterized by 10 Modbus registers. Their offset has to be added to the starting register
address for each meter. They are defined as follows:
Each meter value is characterized by 10 Modbus registers. Their offset has to be added to the starting
register address for each meter value. They are defined as follows:
Address Name Data length Description
0 - 1 Serial number 32 Bit Serial number of the gateway in hexadecimal format
2 Protocol version 16 Bit Protocol version for the Modbus interface (value = 1)
3 Version 16 Bit Software version of the gateway (as integer)
4 - 5 Time stamp 32 Bit Unix timestamp of last read-out
Gateway system time must be set correctly (manually or via SNTP)
6 Reserved Reserved
7 Type field / reserved 16 Bit Type field for register set in the upper Byte (value=1 for gateway entry), lower byte is
reserved
8 - 9 Reserved Reserved
Offset Name Data length Description
0 - 1 Serial number 32 Bit Serial number of meter as integer value (not BCD), only decimal numbers allowed
2 Manufacturer ID 16 Bit Encoding of manufacturer by using different blocks of Bits: Bits 10 - 14: first character,
Bits 5 - 9: second character and Bits 0 - 4: third character, the particular values point to
the three letters, counting from “A” with value 1
3 Version / medium 16 Bit Version of meter in the upper Byte and the medium ID in the lower Byte
4 - 5 Time stamp 32 Bit Unix timestamp of last meter read-out, system time of the gateway shall be set correctly
(manually or via SNTP)
6 Reserved Reserved
7 Type field / reserved 16 Bit Type field for register set in the upper Byte (value=2 for meter entry), lower byte is
reserved
8 Flags 16 Bit Bit 0: Value 1: Meter could not be read, Value 0: Meter could be read correctly
Bit 1: Value1: Not all meter values are updated, Value 0: All meter values updated
Bit 2-15: Reserved
9 Reserved Reserved
Offset Name Data length Description
0 - 3 Meter value 64 Bit Signed integer value (not scaled)
4 - 5 Meter value 32 Bit Floating point value (scaled to unit in register 7), IEEE 754
6 Scale factor 16 Bit Signed scale factor (exponent to the power of 10)
7 Type field / unit 16 Bit Type field for register set in the upper Byte (value=0 for meter value entry), the lower byte
is the unit index (see above).
8 - 9 Time stamp 32 Bit Unix time stamp transmitted by the meter, if there are no time stamps transmitted by the
meter, this value is set to 0