Read holding registers (function code 03) – ProSoft Technology MVI69L-MBTCP User Manual
Page 112
Reference
MVI69L-MBTCP ♦ CompactLogix Platform
User Manual
Communication Module
Page 112 of 152
ProSoft Technology, Inc.
January 6, 2014
7.2.4 Read Holding Registers (Function Code 03)
Query
This Function Code allows the user to obtain the holding registers (Modbus 4x
range) in the addressed Server. The registers can store the numerical values of
associated timers and counters which can be driven to external devices. The
addressing allows up to 125 registers to obtain at each request; however, the
specific Server device may 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 example below reads registers 40108 through 40110 (3 registers) from
Server ID 11.
Node
Address
Function
Code
Data Start
Point High
Data Start
Point Low
Number of
Points High
Number of
Points Low
Error Check Field
(2 bytes)
0B
03
00
6B
00
03
CRC
Response
The addressed Server 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 Server interface device is normally serviced at the end of the
controller's scan, the data will reflect the register content at the end of the scan.
Some Servers will limit the quantity of register content provided each scan; thus
for large register quantities, multiple transmissions will be made using register
content from sequential scans.
In the example below, the registers 40108 to 40110 have the decimal contents
555, 0, and 100 respectively.
Node
Address
Function
Code
Byte
Count
Hi
Data
Lo
Data
Hi
Data
Lo
Data
Hi
Data
Lo
Data
Error Check Field
(2 bytes)
0B
03
06
02
2B
00
00
00
64
CRC