Question

To carry a 32-bit IEEE 754 floating-point value over Modbus (whose registers are 16 bits), two consecutive registers are typically used, with the byte order documented by the slave manufacturer.

ModbusLearnData encodingHard
Answer

True

Modbus is natively 16-bit, so any 32-bit IEEE 754 float or long integer must span two consecutive registers. For example, an energy meter reading of 12345.67 kWh encodes in IEEE 754 as 0x4640E5C2 (four bytes), which maps in Big Endian to Register N = 0x4640 and Register N+1 = 0xE5C2. The client issues a 0x03 request with count = 2 and reassembles the value. Modern libraries (pymodbus, libmodbus) handle the conversion automatically, provided the byte order is specified correctly.

Preparation tip

Never read a single register out of a 32-bit pair: always read both at once with a single function 0x03, otherwise the slave may update the second register between the two reads and you get a torn value.

Waitlist

Modbus bank in preparation

The full Modbus bank isn't available yet. Drop your email to get notified at launch and grab an early-bird discount.

Join the waitlist
Want more?

See the 9 other Modbus practice questions

Related questions

Question from our independent practice bank. Modbus is a registered trademark of Modbus Organization, not affiliated with CertifBus.

Last updated: 19 May 2026

Join the waitlist
Modbus waitlist