TECHNICAL GUIDE

Decode 32-bit Modbus floats without guessing word order

Modbus defines 16-bit registers. It does not standardize how a vendor spreads a 32-bit float across two registers. A plausible number is therefore evidence of nothing until the source words and a known operating point agree.

01

Capture the original words

Read two consecutive registers and write down their hexadecimal values in address order. Keep those values visible while trying interpretations. If the tag starts at the second register or the view omits a continuation word, no byte-order setting can repair the input.

02

Treat word and byte order independently

The common variants are ABCD, CDAB, BADC, and DCBA when the four bytes are named in significance order. Vendors may describe only a “word swap,” but adapters and gateways can also introduce byte-level conventions.

  • ABCD: high word, then low word
  • CDAB: low word, then high word
  • BADC: bytes swapped within each word
  • DCBA: reversed words and bytes
03

Use a second operating point

Choose a value you can move safely—temperature simulator, setpoint, or known counter—and observe both raw words again. The correct interpretation should change in the right direction and magnitude. Only then apply an additional engineering scale or offset specified by the manual.

KEEP THE EVIDENCE

Use the manual beside the live protocol.

Browse documentation