beautypg.com

Read holding registers (function code 03) – ProSoft Technology MVI69L-MBTCP User Manual

Page 112

background image

Reference

MVI69L-MBTCP ♦ CompactLogix Platform

User Manual

Communication Module

Page 112 of 152

ProSoft Technology, Inc.

January 6, 2014

7.2.4 Read Holding Registers (Function Code 03)

Query
This Function Code allows the user to obtain the holding registers (Modbus 4x
range) in the addressed Server. 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 Server 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
Server ID 11.

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

03

00

6B

00

03

CRC

Response
The addressed Server responds with its address and the function code, followed
by the information field. The information field contains 1 byte describing the
quantity of data bytes to be returned. The contents of the registers requested
(DATA) are two bytes each, with the binary content right justified within each pair
of characters. The first byte includes the high order bits and the second, the low
order bits.

Because the Server interface device is normally serviced at the end of the
controller's scan, the data will reflect the register content at the end of the scan.
Some Servers will limit the quantity of register content provided each scan; thus
for large register quantities, multiple transmissions will be made using register
content from sequential scans.

In the example below, the registers 40108 to 40110 have the decimal contents
555, 0, and 100 respectively.

Node
Address

Function
Code

Byte
Count

Hi
Data

Lo
Data

Hi
Data

Lo
Data

Hi
Data

Lo
Data

Error Check Field
(2 bytes)

0B

03

06

02

2B

00

00

00

64

CRC