IM-P192-02 MI Issue 2 45
Register
number
Modbus
address
Parameter Received
data
scale
Units Notes
40001 0 Total low 16 bits x1 Kg
Total = (Total high x
65536) + Total low
*
40002 1 Total high 16 bits x1 Kg
40003 2 Flow x1 Kg/h
40004 3 Pressure x100 BarG
40005 4 Temperature x10 °C
40006 5
Water equivalent
flowrate
x10 L/hour
40007 6 Power x1 kW
40008 7
Energy low
16 bits
x1 kWh
Energy = (Energy high x
65536) + Energy low
*
40009 8
Energy high
16 bits
x1 kWh
40010 9 Alarm status - (bit-fields) Look table below
40011 10 SxS device ID - - TVA = 0
40012 11 Software version - -
200 is sw ver 2.00, 201
is sw ver 2.01 etc
40021 20 Total low 16 bits x1 Lbs
Total = (Total high x
65536) + Total low
*
40022 21 Total high 16 bits x1 Lbs
40023 22 Flow x1 Lbs/h
40024 23 Pressure x100 PSIg
40025 24 Temperature x10 °F
40026 25
Water equivalent
flowrate
x10 Lbs/hour
40027 26 Power x1 KBTU/h
40028 27
Energy low
16 bits
x1 kBTU
Energy = (Energy high x
65536) + Energy low
*
40029 28
Energy high
16 bits
x1 kBTU
Note Modbus protocol requires that Modbus addresses start at offset 0, not 1. Register
addresses start from 1 in description but 0 in binary. Most parameters are 16 bits and few
parameters are 32 bits. Modbus registers are 16 bits, i.e. 1 device parameter needs 1x and 2x
Modbus register(s) respectively. As a general note on Modbus, register types and reference
register number ranges are implemented as follows:
0x = Coil = 00001 - 09999
1x = Discrete input = 10001 - 19999
3x = Input register = 30001 - 39999
4x = Holding register = 40001 - 49999
*
Multiply by the inverse 'Received Data
Scale' to extract data in relevant units,
i.e. divide polled 'Temperature' by 10
to get the value in °C… Tip: use real
(float) type to retain 2-decimal-point
accuracy.