ModbusTCP driver - Expected float format

Hi there,

It seems that I cannot read a float value corectly from a holding register.
The float value is on 2 * 16 bit registers.

I have tried every modbus tricks:

  • +/- 1 bit shifting (0/1-based addressing)
  • use of HRUI or HRF

Reading integer value is ok (that fixed me about the last two points).

Since the Modbus slave has been developped from scratch, I was wondering if the correct standard was used to store float values.

Does anyone know the expected float format when reading from a holding register with Ignition ModbusTCP driver?

Thanks in advance.

It expects an IEEE 32-bit float in big-endian byte order. The first register contains the higher bytes, the second register containers the lower bytes.

1 Like