MODBUS Address Table¶
| MODBUS address | Byte BYTE  | 
Bit (byte-oriented) BOOL  | 
Word WORD  | 
Double word DWORD  | 
|
|---|---|---|---|---|---|
| HEX | DEC | ||||
| 0000 | 0 | %MB0 | %MX0.0 … %MX0.7 | %MW0 | %MD0 | 
| %MB1 | %MX1.0 … %MX1.7 | ||||
| 0001 | 1 | %MB2 | %MX2.0 … %MX2.7 | %MW1 | |
| %MB3 | %MX3.0 … %MX3.7 | ||||
| 0002 | 2 | %MB4 | %MX4.0 … %MX4.7 | %MW2 | %MD1 | 
| %MB5 | %MX5.0 … %MX5.7 | ||||
| 0003 | 3 | %MB6 | %MX6.0 … %MX6.7 | %MW3 | |
| %MB7 | %MX7.0 … %MX7.7 | ||||
| … | |||||
| 7FFE | 32766 | %MB65532 | %MX65532.0 … %MX65532.7 | %MW32766 | %MD16383 | 
| %MB65533 | %MX65533.0 … %MX65533.7 | ||||
| 7FFF | 32767 | %MB65534 | %MX65534.0 … %MX65534.7 | %MW32767 | |
| %MB65535 | %MX65535.0 … %MX65535.7 | ||||
| 8000 | 32768 | %MB65536 | %MX65536.0 … %MX65536.7 | %MW32768 | %MD16384 | 
| %MB65537 | %MX65537.0 … %MX65537.7 | ||||
| 8001 | 32769 | %MB65538 | %MX65538.0 … %MX65538.7 | %MW32769 | |
| %MB65539 | %MX65539.0 … %MX65539.7 | ||||
| 8002 | 32770 | %MB65540 | %MX65540.0 … %MX65540.7 | %MW32770 | %MD16385 | 
| %MB65541 | %MX65541.0 … %MX65541.7 | ||||
| 8003 | 32771 | %MB65542 | %MX65542.0 … %MX65542.7 | %MW32771 | |
| %MB65543 | %MX65543.0 … %MX65543.7 | ||||
| … | |||||
| FFFE | 65534 | %MB131068 | %MX131068.0 … %MX131068.7 | %MW65534 | %MD32767 | 
| %MB131069 | %MX131069.0 … %MX131069.7 | ||||
| FFFF | 65535 | %MB131070 | %MX131070.0 … %MX131070.7 | %MW65535 | |
| %MB131071 | %MX131071.0 … %MX131071.7 | ||||
| MODBUS address | Byte BYTE  | 
Bit (byte-oriented) BOOL  | 
Word WORD  | 
Double word DWORD  | 
|
|---|---|---|---|---|---|
| HEX | DEC | ||||
| 0000 | 0 | %MB0 | %MX0.0 | %MW0 | %MD0 | 
| 0001 | 1 | %MX0.1 | |||
| 0002 | 2 | %MX0.2 | |||
| 0003 | 3 | %MX0.3 | |||
| 0004 | 4 | %MX0.4 | |||
| 0005 | 5 | %MX0.5 | |||
| 0006 | 6 | %MX0.6 | |||
| 0007 | 7 | %MX0.7 | |||
| 0008 | 8 | %MB1 | %MX1.0 | ||
| 0009 | 9 | %MX1.1 | |||
| 000A | 10 | %MX1.2 | |||
| 000B | 11 | %MX1.3 | |||
| 000C | 12 | %MX1.4 | |||
| 000D | 13 | %MX1.5 | |||
| 000E | 14 | %MX1.6 | |||
| 000F | 15 | %MX1.7 | |||
| 0010 | 16 | %MB2 | %MX2.0 | %MW1 | |
| 0011 | 17 | %MX2.1 | |||
| 0012 | 18 | %MX2.2 | |||
| 0013 | 19 | %MX2.3 | |||
| 0014 | 20 | %MX2.4 | |||
| 0015 | 21 | %MX2.5 | |||
| 0016 | 22 | %MX2.6 | |||
| 0017 | 23 | %MX2.7 | |||
| 0018 | 24 | %MB3 | %MX3.0 | ||
| 0019 | 25 | %MX3.1 | |||
| 001A | 26 | %MX3.2 | |||
| 001B | 27 | %MX3.3 | |||
| 001C | 28 | %MX3.4 | |||
| 001D | 29 | %MX3.5 | |||
| 001E | 30 | %MX3.6 | |||
| 001F | 31 | %MX3.7 | |||
| 0020 | 32 | %MB4 | %MX4.0 | %MW2 | %MD1 | 
| 0021 | 33 | %MX4.1 | |||
| 0022 | 34 | %MX4.2 | |||
| … | … | … | … | … | … | 
| 0FFF | 4095 | %MB511 | %MX511.7 | %MW255 | %MD127 | 
| 1000 | 4096 | %MB512 | %MX512.0 | %MW256 | %MD128 | 
| … | … | … | … | … | … | 
| 7FFF | 32767 | %MB4095 | %MX4095.7 | %MW2047 | %MD1023 | 
| 8000 | 32768 | %MB4096 | %MX4096.0 | %MW2048 | %MD1024 | 
| … | … | … | … | … | … | 
| FFFF | 65535 | %MB8191 | %MX8191.7 | %MW4095 | %MD2047 | 
Calculation of the bit variable from the hexadecimal address:
| Formula: | |||
|---|---|---|---|
| Bit variable (BOOL) := %MXBYTE.BIT | |||
| where: | DEC | Decimal address | |
| BYTE | DEC / 8 | ||
| BIT | DEC mod 8 | (Modulo division) | |
Examples:
Address hexadecimal = 16#2002
DEC := 8194
BYTE := 8194 / 8 := 1024
BIT := 8194 mod 8 := 2
Bit variable: %MX1024.2
Address hexadecimal = 16#3016
DEC := 12310
BYTE := 12310 / 8 := 1538,75 -> 1538
BIT := 12310 mod 8 := 6
Bit variable: %MX1538.6
Address hexadecimal = 16#55AA
DEC := 21930
BYTE := 21930 / 8 := 2741,25 -> 2741
BIT := 21930 mod 8 := 2
Bit variable: %MX2741.2
Calculation of the hexadecimal address from the bit variable:
Examples:
Bit variable := %MX515.4
DEC := 515 * 8 + 4 := 4124
Address hex := 16#101C
Bit variable := %MX3.3
DEC := 3 * 8 + 3 := 27
Address hex := 16#001B
Bit variable := %MX6666.2
DEC := 6666 * 8 + 2 := 53330
Address hex := 16#D052