PLX30 Series
MBTCP Protocol
Ethernet and Serial Gateways
User Manual
ProSoft Technology, Inc.
Page 113 of 200
September 19, 2012
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
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