← SCADA, Industrial Controls & Automation
🔢

Modbus Address Calculator

Protocol Address ↔ PLC Reference (4xxxx/3xxxx/0xxxx/1xxxx)

When to use: Use this when integrating a Modbus device whose documentation gives a 1-based PLC reference (like 40001) but your SCADA/driver expects the 0-based protocol (PDU) address — or vice-versa. Holding registers map to 4xxxx, input registers to 3xxxx, coils to 0xxxx, and discrete inputs to 1xxxx. The protocol address sent on the wire is always zero-based: offset = reference − base (e.g. 40001 → 0).

Register Type
Conversion Input
base 40001
ref
✓ VALID ADDRESS
0
Protocol (0-Based) Address
Results
Data TypeHolding Register (4xxxx)
PLC Reference (1-based)40001
Protocol Address (0-based)0
Protocol Address (hex)0x0000
Read Function CodeFC 03
Register Offset0
Valid Range40001–105536
Standards & References
Modbus Application Protocol V1.1b3
Holding 4xxxx → offset = ref − 40001
Input 3xxxx → offset−30001 · Coil 0xxxx → ref−1
Protocol address (PDU) is always 0-based