Reference MVI69E-MBS ♦ CompactLogix Platform
User Manual Modbus Serial Enhanced Communication Module
Page 110 of 154 ProSoft Technology, Inc.
June 28, 2017
7.2.7 Read Input Registers (Function Code 04)
Query
This function retrieves the contents of the controller's input registers from the
Modbus 3x range. These locations receive their values from devices connected
to the I/O structure and can only be referenced, not altered from within the
controller, The addressing allows retrieving up to 125 registers at each request;
however, the specific slave device may have restrictions that lower this maximum
quantity. The registers are numbered for zero (30001 = zero, 30002 = one, and
so on). Broadcast mode is not allowed.
The example below requests the contents of register 30009 in slave number 11.
Note: This is the structure of the message being sent out to the Modbus network. The byte values
below are in hexadecimal display.
Data Number
of Points High
Data Number
of Points Low
Error Check
Field
(2 bytes)
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
2 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 is normally serviced at the end of the controller's
scan, the data reflect the register content at the end of the scan. Each PC limits
the quantity of register contents provided each scan; thus for large register
quantities, multiple PC scans are required, and the data provided is from
sequential scans.
In the example below the register 30009 contains the decimal value 0.
Error Check
Field
(2 bytes)