Modbus Address Mapper
Convert coils and registers between Modbus reference numbers, zero-based offsets, and one-based element indexes.
Quick answer
Convert Modbus addresses between 40001-style references, zero-based offsets, and one-based element numbers.
This is most useful when manuals, PLC drivers, HMIs, and SCADA software all express the same register in different formats. Enter the object type and known address format to normalize the other two representations before commissioning.
- Reference number matches common manual notation like 40001 or 30001.
- Zero-based offset is often what communication drivers and APIs actually require.
- One-based element helps map the point position inside the selected Modbus object family.
Mapping Inputs
Mapped Address
Why these values matter
Modbus address confusion usually comes from mixing human-readable reference numbers with driver offsets. If a point reads the wrong register, confirm that the integration expects a zero-based offset instead of a 4xxxx or 3xxxx reference.
Keep the object type aligned as well. A correct number on the wrong object group can still return invalid or misleading data.
⚠️ Engineering Caution:
This tool is intended for screening and pre-check workflows. Results are usually directionally useful, but they
can still shift with equipment selection, environmental conditions, naming conventions, revision status, or
interpretation rules. Confirm any value that affects ordering, substitution, compliance, or installation before
acting on it.
Frequently Asked Questions
Does 40001 equal offset 0?
In common Modbus reference conventions, yes. Holding register 40001 is usually treated as the first register and corresponds to zero-based offset 0.
Can I use this for coils too?
Yes. The mapper supports coils, discrete inputs, input registers, and holding registers using practical reference-base assumptions.
What This Calculator Is For
Modbus addressing becomes confusing fast because device manuals, HMIs, PLC drivers, and SCADA packages do not always describe the same address in the same way. One system may show a holding register as 40001, while another expects an offset of 0, and another uses a one-based word index.
This tool helps convert those common Modbus representations into a cleaner practical reference.
Typical questions include:
- Is holding register
40001the same as offset0? - What offset matches input register
30017? - If a driver wants zero-based addressing, what should I enter for
coil 00025? - How do I sanity-check whether a manual is using a reference number or an offset?
What It Calculates
The tool maps common Modbus object groups:
- coils (
0xxxx/00001style) - discrete inputs (
1xxxx/10001style) - input registers (
3xxxx/30001style) - holding registers (
4xxxx/40001style)
It converts between:
- reference-style address number
- zero-based offset
- one-based element number inside the selected object group
Core Relationships
For a selected Modbus object group:
Zero-Based Offset = Reference Number - Reference BaseOne-Based Element = Zero-Based Offset + 1Reference Number = Reference Base + Zero-Based Offset
Practical base assumptions used here are:
- coils →
00001 - discrete inputs →
10001 - input registers →
30001 - holding registers →
40001
Practical Use Cases
This tool is useful for:
- matching PLC driver configuration to vendor manuals
- troubleshooting SCADA/HMI Modbus tag mapping
- converting third-party equipment tables into PLC import values
- checking whether a software package expects zero-based or one-based addressing
- reducing commissioning errors caused by off-by-one Modbus mapping mistakes
Important Limitations
This tool handles the practical address-number mapping problem, but real integrations can still differ because of:
- vendor documentation conventions
- byte order / word order differences
- driver-specific zero-based options
- function-code limitations
- packed-bit representations within words
Always confirm object type and driver expectations before commissioning live equipment.
FAQ
Is 40001 the same as offset 0?
In many common Modbus references, yes. 40001 is typically the first holding register and often corresponds to zero-based offset 0.
Why do Modbus addresses cause so many mistakes?
Because some tools show full reference numbers like 40017, while others want only the offset like 16. Both may refer to the same location.
Does this tool handle byte swapping?
No. This tool focuses on address mapping only. Byte order and 32-bit value assembly must still be handled separately.
Related Tools
PLC Timer/Counter Preset Converter
electricalConvert PLC timer presets, base time units, and scan-based counter targets for ladder logic, IEC timers, and practical machine control workflows.
Rockwell PLC Address Converter
electricalInterpret Rockwell and Allen-Bradley style PLC addresses such as N7:0, B3:1/0, T4:0.PRE, and C5:0.ACC.
Siemens PLC Address Converter
electricalConvert Siemens I, Q, M, and DB bit addresses between byte.bit notation, byte offsets, and absolute bit positions.