Registers using "32-bit float" data format are encoded using the "binary32" encoding defined in IEEE 754 (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/address + 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 "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.
Reading the measurement data registers with incorrect floating point format setting may occasionally result in correct-looking values. It is highly recommended to first try reading the register number 7938 (floating point test) to see that you have configured the floating point format correctly on your Modbus host system.
A complete 32-bit floating point value should be read and written in a single Modbus transaction. |