Read input registers (function code 04) – ProSoft Technology 5201-MNET-ASCII User Manual

Page 59

Advertising
background image

MNET ♦ ProLinx Gateway

Modbus Protocol Specification

Modbus TCP/IP Interface Module

Driver Manual

ProSoft Technology, Inc.

Page 59 of 78

September 1, 2010

4.4

Read Input Registers (Function Code 04)

Query
Function code 04 obtains the contents of the controller's input registers at
addresses 3xxxx. These locations receive their values from devices connected to
the I/O structure and can only be referenced, not altered from within the
controller, The addressing allows up to 125 registers to be obtained at each
request; however, the specific Server device may have restrictions that lower this
maximum quantity. The registers are numbered for zero (30001 = zero, 30002 =
one, and so on). Broadcast mode is not allowed.

The example below requests the contents of register 3009 in Server number 11.

Adr Func Data Start Reg Hi Data Start Reg Lo Data #of Regs Hi Data #of Regs Lo Error Check Field
11 04

00

08

00

01

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 2 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 is normally serviced at the end of the controller's
scan, the data will reflect the register content at the end of the scan. Each PC will
limit the quantity of register contents provided each scan; thus for large register
quantities, multiple PC scans will be required, and the data provided will be form
sequential scans.

In the example below the register 3009 contains the decimal value 0.

Adr

Func Byte Count

Data Input Reg Hi

Data Input Reg Lo

Error Check Field

11

04

02

00

00

E9

Advertising