beautypg.com

Read input registers (function code 04) – ProSoft Technology MVI56E-MNETC User Manual

Page 149

background image

MVI56E-MNETC ♦ ControlLogix Platform

Reference

Modbus TCP/IP Client Enhanced Communication Module

User Manual

ProSoft Technology, Inc.

Page 149 of 183

February 3, 2013

5.5.5 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.

Ad
r

Fun
c

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