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).