A wrong word order looks plausible but is wrong. Always check one reading against a value you trust.
Four tables, no names
Modbus exposes four tables: coils, discrete inputs, input registers and holding registers. A register is just a 16-bit number. Nothing in the protocol says what it measures, so the manufacturer map is essential.
The address offset trap
Manuals write addresses in two ways. Some use the traditional 40001 style, where 40012 means holding register 11 in the protocol. Others use the raw protocol address. Confirm which style the manual uses before polling, or you will read the neighbouring register.
Data types across registers
Larger values span two or more registers. A 32-bit float uses two registers, and the device decides whether the high word or the low word comes first. This is word order, separate from byte order within each register. A mismatch gives values that look reasonable but are wrong.
Scaling and units
Many devices store integers and expect a scale factor, so 2301 may mean 230.1 volts. Record the scale and unit in the profile once, rather than leaving every consumer to guess.
Verify one reading
Before rolling out, compare one reading with a known value from the device display or a handheld meter. A single correct comparison catches offset, word order and scaling errors in one step.
