
Reference MVI56-MCM
♦
ControlLogix Platform
Modbus Communication Module
ProSoft Technology, Inc.
Page 127 of 159
July 24, 2008
_CoilArray
Conversion to INT values
Tag Name
Data Type
Description
Boolean
BOOL[416]
Conversion from Bool to INT data types
8.9
Modbus Protocol Specification
8.9.1 Read Output 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 will be
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, etc.).
The following table is a sample read output status request to read coils 0020 to
0056 from slave device number 11.
Adr
Func
Data Start Pt Hi
Data Start Pt Lo Data # Of Pts Ho Data # Of Pts Lo Error Check
Field
11
01
00 13 00 25 CRC
Response
An example response to Read Output Status is as shown in Figure C2. 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
will be 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 will be 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 will reflect coil status at the end of the scan. Some slaves will 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.
Adr
Func
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
11
01
05 CD 6B B2 OE 1B CRC