Read Holding Registers (Function Code 03)
Query
This function allows you to retrieve the contents of holding registers 4xxxx (Modbus
4x range) in the addressed slave. The registers can store the numerical values of
associated timers and counters that can be driven to external devices. The
addressing allows retrieval of up to 125 registers per request. However, the
specific slave device can have restrictions that lower this maximum quantity. The
registers are numbered form zero (40001 = zero, 40002 = one, and so on). The
broadcast mode is not allowed.
The following example reads registers 40108…40110 (three registers) from slave number
11.
TIP:
This is the structure of the message being
sent out to the Modbus network. The following byte values are displayed in
hexadecimal format.
Node Address
| Function Code
| Data Start Registers High
| Data Start Registers Low
| Number of Registers High
| Number of Registers Low
| Error Check Field (2 bytes)
|
0B | 03 | 00 | 6B | 00 | 03 | CRC |
Response
The addressed slave responds with its address and the function code, followed by the
information field. The information field contains 1 byte describing the quantity of
data bytes to be returned. The contents of the registers requested (DATA) are two
bytes each, with the binary content right justified within each pair of characters.
The first byte includes the high-order bits and the second, the low-order bits.
Because the slave interface device is normally serviced at the end of the
controller's scan, the data reflects the register content at the end of the scan.
Some slaves limit the quantity of register content provided each scan; thus for
large register quantities, multiple transmissions are made using register content
from sequential scans.
In the example below, the registers 40108…40110 have the decimal contents 555, 0, and
100 respectively.
Node Address
| Function Code
| Byte Count
| High Data
| Low Data
| High Data
| Low Data
| High Data
| Low Data
| Error Check Field (2 bytes)
|
0B | 03 | 06 | 02 | 2B | 00 | 00 | 00 | 64 | CRC |
Provide Feedback