Read holding registers (function code 03) – ProSoft Technology MVI56E-MNETC User Manual
Page 148

Guide to the MVI56E-MNETC User Manual
MVI56E-MNETC ♦ ControlLogix Platform
User Manual
Modbus TCP/IP Client Enhanced Communication Module
Page 148 of 183
ProSoft Technology, Inc.
February 3, 2013
The status of inputs 10197 to 10204 is shown as AC (HEX) = 10101 1100
(binary). Reading left to right, this show that inputs 10204, 10202, and 10199 are
all on. The other input data bytes are decoded similar.
Due to the quantity of input statuses requested, the last data field which is shown
as 35 HEX = 0011 0101 (binary) contains the status of only 6 inputs (10213 to
102180) instead of 8 inputs. The two left-most bits are provided as zeros to fill
the 8-bit format.
5.5.4 Read Holding Registers (Function Code 03)
Query
Read Holding Registers (03) allows the user to obtain the binary contents of
holding registers 4xxxx 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 obtained at each
request; however, the specific server device may have restriction 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 from server 584
number 11.
Ad
r
Fun
c
Data Start Reg
Hi
Data Start Reg
Lo
Data #of
Regs Hi
Data #of Regs
Lo
Error Check
Field
11 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.
Adr Func ByteCn
t
Hi Data Lo
Data
Hi Data Lo
Data
Hi Data Lo
Data
Error Check
Field
11
03
06
02
2B
00
00
00
64
CRC