2. MODBUS Protocol Description
2.6.3 Read Holding Registers (Function Code 0x03)
Function Code
Starting Address
Quantity of Registers
Function Code
Byte Count
Register Value
Function Code
Exception Code
Here is an example of a request to read registers 108–110:
Segment
Function Code
Starting Address: High
Starting Address: Low
Quantity of Registers: High
Quantity of Registers: Low
Note:
1. The 0x0000 is the address of Register [1]
2. The 0x006B is the address of Register [108]
*N = quantity of registers
Read Holding Registers
Request
(Hex)
03
00
6B
00
03
Request
1 Byte
2 Bytes
2 Bytes
Response
1 Byte
1 Byte
N *x2 Bytes
Error
1 Byte
1 Byte
Segment
Function Code
Byte Count
Register Value: High (108)
Register Value: Low (108)
Register Value: High (109)
Register Value: Low (109)
Register Value: High (110)
Register Value: Low (110)
10
0x03
0x0000~0xFFFF
1~125 (0x7D)
0x03
2xN *
0x83
01 or 02 or 03 or 04
Response
(Hex)
03
06
02
2B
00
00
00
64