What Modbus Is
Modbus is an application-layer industrial protocol used for point-oriented data exchange between a client (master) and one or more servers (slaves). It is widely used in building automation gateways and field devices due to simple framing and broad vendor support.
Core Variants
| Variant | Transport | Typical Use |
|---|---|---|
| Modbus RTU | RS-485 serial | Field bus segments, multidrop trunks |
| Modbus TCP | Ethernet/TCP | Plant or BAS IP backbone integration |
Data Model
Modbus exchanges values by register/coil address, not semantic object names.
- Coils: discrete read/write bits
- Discrete Inputs: discrete read-only bits
- Holding Registers: read/write 16-bit words
- Input Registers: read-only 16-bit words
Addressing Notes
[!NOTE] Modbus literature often shows one-based reference numbers (for example
40001) while many software tools require zero-based offsets.
Integration quality depends on explicitly documenting whether each mapping uses reference-style or offset-style addressing.
Word/Byte Order
For 32-bit and 64-bit values, interoperability depends on word order and byte order alignment between source and destination systems.
[!WARNING] Most field issues labeled as “bad scaling” are actually endianness mismatch.
Implementation Checklist
- Confirm register map revision with vendor.
- Confirm address base convention (reference vs offset).
- Confirm datatype and signedness.
- Confirm byte/word ordering for multi-register values.
- Validate at least one known-good engineering value.
Common Problems
- Off-by-one addressing errors — Modbus literature shows 1-based reference numbers (e.g.
40001) but most tools require 0-based offsets. This is the most common mapping error. See Modbus Addressing & Register Reference for a full breakdown. - Wrong value or bad scaling — Usually an endianness mismatch, not a scaling factor error. See Modbus Data Types & Byte Order Reference to identify the correct byte/word order.
- No response from device — Serial parameter mismatch, duplicate Slave ID, or wiring fault. See Modbus Troubleshooting Guide for a step-by-step diagnosis workflow.
- Register map doesn’t match device — Firmware revision mismatch. Always confirm the register map revision against the installed firmware version. See How to Read a Modbus Register Map.