How to use this on a job
“Register 1” is not enough information. It could mean wire offset 1, the first item at offset 0, or a holding-register reference such as 40001. Decide what the manual means before typing the number into a client.
- 01
Select the data area: coils, discrete inputs, input registers or holding registers. The area determines the read function, not a prefix transmitted with the address.
- 02
Select the document’s convention. Zero-based is already a wire offset. One-based indexes subtract one. Conventional 5- and 6-digit references remove the area prefix and then subtract one.
- 03
Read the resulting 16-bit address and read function. Confirm this convention against a known register in the manual before writing anything. The result is a translation, not a live connection.
Work through one example
wire offset = documented index − 1 (one-based only)
Conventional holding reference 40001 becomes offset 0 and bytes 00 00, using function 03 for a read. Conventional reference 400101 in the six-digit scheme becomes offset 100, bytes 00 64. A one-based input index of 101 also becomes offset 100, but uses function 04.
Before you trust the answer
40001 is a documentation convention, not a number to send unchanged as the first holding-register address. Vendors also publish plain hexadecimal offsets and other schemes. The two prefixed modes here implement the stated conventional schemes only; they do not auto-detect every manual.