beautypg.com

Read input status (function code 02) – ProSoft Technology 5201-MNET-ASCII User Manual

Page 57

background image

MNET ♦ ProLinx Gateway

Modbus Protocol Specification

Modbus TCP/IP Interface Module

Driver Manual

ProSoft Technology, Inc.

Page 57 of 78

September 1, 2010

4.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 Server PC Broadcast mode is not supported with this function code.
In addition to the Server 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 Server 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 from Server number 11.

Adr

Func Data Start Pt Hi Data Start Pt Lo Data #of Pts Hi Data #of Pts Lo Error Check Field

11

02

00

C4

00

16

CRC

Response
An example response to Read Input Status is as shown in Figure C4. The data is
packed one bit for each input. The response includes the Server address,
function code, quantity of data characters, the data characters, and error
checking. Data will be packed with one bit for each input (1=ON, 0=OFF). The
lower order bit of the first character contains the addressed input, and the
remainder follow. For input 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 a quantity of RTU characters, that is, the
number is the same whether RTU or ASCII is used.

Because the Server interface device is serviced at the end of a controller's scan,
data will reflect input status at the end of the scan. Some Servers will limit the
quantity of inputs provided each scan; thus, for large coil quantities, multiple PC
transactions must be made using coil status for sequential scans.

Adr

Func

Byte

Count

Data Discrete Input

10197 to 10204

Data Discrete Input

10205 to 10212

Data Discrete Input

10213 to 10218

Error Check Field

11

02

03

AC

DB

35

CRC

The status of inputs 10197 to 10204 is shown as AC (HEX) = 10101 1100
(binary). Reading left to right, this show that inputs 10204, 10202, and 10199 are
all on. The other input data bytes are decoded similar.

Due to the quantity of input statuses requested, the last data field which is shown
as 35 HEX = 0011 0101 (binary) contains the status of only 6 inputs (10213 to
102180) instead of 8 inputs. The two left-most bits are provided as zeros to fill
the 8-bit format.