Rockwell Automation Publication 5069-UM003B-EN-P - January 2020
135
Modbus Command Codes
Appendix B
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 reflect 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.
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 that are
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 can 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 following example requests the contents of register 30009 in slave number
11.
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
TIP
This is the structure of the message being sent out to the Modbus network.
The following byte values are in hexadecimal display.
Node Address
Function Code
Data Start Point
High
Data Start Point
Low
Data Number of
Points High
Data Number of
Points Low
Error Check Field
(2 bytes)
0B
04
00
08
00
01
CRC