10.2.2 Data values, scaling and data types
Following is a description of used scaling and data types.
Scale 1, 10 and 100 refers to where the decimal point is implied, as a decimal value cannot be transmitted
via Modbus.
Scale 1: The value is the exact value
Scale 10: To transmit a value it must be multiplied by 10; i.e. 12.3 -> 123
A received value must be divided by 10; i.e. 123 -> 12.3
Scale 100: To transmit a value it must be multiplied by 100; i.e. 1.23 -> 123
A received value must be divided by 100; i.e. 123 -> 1.23
uint8: unsigned 8-bit integer
uint16: unsigned 16-bit integer
sint16: signed 16-bit integer
uint32: unsigned 32-bit integer
10.2.3 Reading and writing 32 bit values via Modbus
32 bit values must be read as two consecutive Modbus registers.
For example, if the fault word in the input registers 11000-11001 should be read.
Function code 10hex write multiple registers should be used.
10.2.4 Modbus function codes
The following function codes have been implemented from the standard Modbus protocol:
Note1: Not all sub-functions return a value.
All input registers can also be read as holding registers.
10.2.5 Modbus exception codes