What an Input Register Is
An input register is a read-only 16-bit data point in Modbus. Input registers typically represent sensor measurements, meter readings, counters, or other values that the device produces but external systems cannot modify.
Input Registers vs Holding Registers
| Aspect | Input Register | Holding Register |
|---|---|---|
| Access | Read-only | Read/Write |
| Typical use | Measurements, counters | Setpoints, configuration |
| Function code | FC 04 | FC 03, 06, 16 |
| Address range | 3xxxx (traditional) | 4xxxx (traditional) |
Function Code
| Code | Function |
|---|---|
| 04 | Read Input Registers |
[!NOTE] Many devices make the same data available through both input registers (FC 04) and holding registers (FC 03). Check the vendor’s register map for the canonical mapping.
Like holding registers, input registers are 16 bits. Multi-register values (32-bit floats, 32-bit integers) require attention to word order and byte order.