ProSoft Technology MVI56E-MCM/MCMXT User Manual
Page 161
MVI56E-MCM ♦ ControlLogix Platform
Reference
Modbus Communication Module
User Manual
ProSoft Technology, Inc.
Page 161 of 199
June 18, 2014
Function
Code
Definition
Supported in
Master
Supported in
Slave
22
Mask Write 4X
X
23
Read/Write
X
Each command list record has the same general format. The first part of the
record contains the information relating to the communication module and the
second part contains information required to interface to the Modbus slave
device.
6.8.2 Read Coil Status (Function Code 01)
Query
This function allows the user to obtain the ON/OFF status of logic coils used to
control discrete outputs from the addressed Slave only. 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 coil
address to be read (Starting Address) and the number of locations that is
interrogated to obtain status data.
The addressing allows up to 2000 coils to be obtained at each request; however,
the specific Slave device may have restrictions that lower the maximum quantity.
The coils are numbered from zero; (coil number 1 = zero, coil number 2 = one,
coil number 3 = two, and so on).
The following table is a sample read output status request to read coils 0020 to
0056 from Slave device 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
Adr
Func
Data Start Pt Hi Data Start Pt Lo Data # Of Pts Ho Data # Of Pts Lo
Error Check Field
0B
01
00
13
00
25
CRC
Response
An example response to Read Coil Status is as shown in the table below. 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
follow. For coil quantities that are not even multiples of eight, the last characters
is 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.