beautypg.com

Read holding registers (function code 03) – ProSoft Technology 5201-MNET-ASCII User Manual

Page 58

background image

Modbus Protocol Specification

MNET ♦ ProLinx Gateway

Driver Manual

Modbus TCP/IP Interface Module

Page 58 of 78

ProSoft Technology, Inc.

September 1, 2010

4.3

Read Holding Registers (Function Code 03)

Query
Read Holding Registers (03) allows the user to obtain the binary contents of
holding registers 4xxxx 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 obtained at each
request; however, the specific Server device may have restriction 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 from Server 584
number 11.

Adr Func Data Start Reg Hi Data Start Reg Lo Data #of Regs Hi Data #of Regs Lo Error Check Field
11 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.

Adr Func ByteCnt Hi Data Lo Data Hi Data Lo Data Hi Data Lo Data Error Check Field
11 03

06

02

2B

00

00

00

64

CRC