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