Read holding registers (function code 03) – ProSoft Technology MVI69E-MBS User Manual

Page 117

Advertising
background image

MVI69E-MBS ♦ CompactLogix Platform

Reference

Communication Module

User Manual

ProSoft Technology, Inc.

Page 117 of 162

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

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 Slave address, function
code, quantity of data characters, the data characters, and error checking. Data
are 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 follows. For input
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 a
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 input status at the end of the scan. Some Slaves 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.

Node
Address

Func
Code

Byte
Count

Data Discrete
Input 10197 to

10204

Data Discrete
Input 10205 to

10212

Data Discrete
Input 10213 to

10218

Error Check
Field (2 bytes)

0B

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.

7.2.4 Read Holding Registers (Function Code 03)

Query
This Function Code allows you to obtain the holding registers (Modbus 4x range)
in the addressed Slave. The registers can store the numerical values of
associated timers and counters which can be driven to external devices. The
addressing allows up to 125 registers to obtain at each request; however, the
specific Slave device may have restrictions that lower this maximum quantity.
The registers are numbered form zero (40001 = zero, 40002 = one, and so on).
The broadcast mode is not allowed.

The example below reads registers 40108 through 40110 (3 registers) from
Slave ID 11.

Advertising