Read input status (function code 02) – ProSoft Technology MVI69L-MBS User Manual
Page 108
Reference
MVI69L-MBS ♦ CompactLogix Platform
User Manual
Communication Module
Page 108 of 154
ProSoft Technology, Inc.
January 6, 2014
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
01
00
13
00
25
CRC
Response
The data is packed one bit for each coil. The response includes the Slave
address, function code, quantity of data characters, the data characters, and
error checking. Data is packed with one bit for each coil (1 = ON, 0 = OFF). The
low order bit of the first character contains the addressed coil, and the remainder
follows. For coil quantities that are not even multiples of eight, the last characters
are filled in with zeros at high order end. The quantity of data characters is
always specified as quantity of RTU characters, that is, the number is the same
whether RTU or ASCII is used.
Because the Slave interface device is serviced at the end of a controller's scan,
data reflects coil status at the end of the scan. Some Slaves limit the quantity of
coils provided each scan; thus, for large coil quantities, multiple PC transactions
must be made using coil status from sequential scans.
Node
Address
Func
Code
Byte
Count
Data Coil
Status 20
to 27
Data Coil
Status 28
to 35
Data Coil
Status 36
to 43
Data Coil
Status 44
to 51
Data Coil
Status 52
to 56
Error Check
Field (2
bytes)
0B
01
05
CD
6B
B2
OE
1B
CRC
The status of coils 20 to 27 is shown as CD (HEX) = 1100 1101 (Binary).
Reading from left to right, this shows that coils 27, 26, 23, 22, and 20 are all on.
The other Data Coil Status bytes are decoded similarly. Due to the quantity of
coil statuses requested, the last data field, which is shown 1B (HEX) = 0001 1011
(Binary), contains the status of only 5 coils (52 to 56) instead of 8 coils. The 3 left
most bits are provided as zeros to fill the 8-bit format.
7.2.3 Read Input Status (Function Code 02)
Query
This function allows the user to obtain the ON/OFF status of discrete inputs
(Modbus 1x range) in the addressed Slave PC Broadcast mode is not supported
with this function code. In addition to the Slave address and function fields, the
message requires that the information field contain the initial input address to be
read (Starting Address) and the number of locations that are interrogated to
obtain status data.
The addressing allows up to 2000 inputs to be obtained at each request;
however, the specific Slave device may have restrictions that lower the maximum
quantity. The inputs are numbered form zero; (input 10001 = zero, input 10002 =
one, input 10003 = two, and so on, for a 584).
The following table is a sample read input status request to read inputs 10197 to
10218 (22 coils) from Slave number 11.