Operating instructions
Reference PTQ-MCM ♦ Quantum / Unity Platform
Modbus Communication Module
ProSoft Technology, Inc. Page 115 of 139
April 29, 2008
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
The status of coils 20 to 27 is shown as CD(HEX) = 1100 1101 (Binary). Reading
left to right, this shows that coils 27, 26, 23, 22, and 20 are all on. The other coil
data 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.
8.6.2 Read Input Status (Function Code 02)
Query
This function allows the user to obtain the ON/OFF status of discrete inputs 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 will be 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, etc., for a 584).