A.3.1 32-bit floating point or 32-bit integer format
Registers using
32-bit float
data format are encoded using the
binary32
encoding defined in
IEEE 754. The format is also known as "single-precision floating point format".
The least significant 16 bits of a floating point number are placed at the Modbus register listed
in the table, while the most significant 16 bits are placed in the register with number/
a 1, as specified in Open Modbus TCP Specification, Release 1.0. This is also known as
"little-endian" or "Modicon" word order.
Despite the specification, some Modbus masters may expect a "big-endian" word order (most
significant word first). In such case, you must select "word-swapped" floating point format in
your Modbus master for the Modbus registers of the device.
A complete 32-bit floating point or 32-bit integer value should be read and written in a single
Modbus transaction.
Reading the measurement data registers with incorrect floating
point format setting may occasionally result in correct-looking, but nevertheless
incorrect values.
CAUTION!
It is highly recommended to verify that you have configured the floating point
format correctly on your Modbus host system by reading a floating point value
from a test value register.
More information
‣
Test value registers (page 42)
A.3.2 16-bit integer format
Some 16-bit integer values in the data registers are scaled to include the necessary decimals.
The scaling factors for those values are shown in the register tables.
Table 17 Interpretation of 16-bit signed integer values
Value (decimal)
Value (hexadecimal)
Description
0 … 32766
0000
hex
… 7FFE
hex
Value in range 0 … 32766
32767
7FFF
hex
Value is 32767 or larger
32768
8000
hex
Value is not available
32769
8001
hex
Value is −32767 or smaller
32770 … 65535
8002
hex
… FFFF
hex
Value in range −32766 … −1 (2’s complement)
Appendix A – Modbus reference
33