S3964R
♦
ProLinx Gateway
Functional Overview
Siemens 3964R Protocol
Driver Manual
Page 48 of 64
ProSoft Technology, Inc.
April 14, 2009
5.4.4 Example RK512 DB-FETCH initiated by 3964R
Now let's say the 3964R device needs to fetch data from the Modbus TCP/IP
device. The 3964R device issues a DB-FETCH. The Modbus TCP/IP device
needs to continually poll the ProLinx for an indication of a new telegram
requesting new data.
Use a Modbus Function Code 3 to read header data from the ProLinx
R
ECEIVE
BUFFER
. The 3964R device issues a DB-FETCH telegram to the ProLinx. The
ProLinx will copy the DB-FETCH telegram into the
R
ECEIVE BUFFER
. Use a
Modbus Function Code 3 to read the data from the ProLinx
R
ECEIVE BUFFER
.
Use a Modbus Function Code 16 to write the fetch response data to the ProLinx
T
RANSMIT BUFFER
. The ProLinx will then create a DB-FETCH response telegram
back to the 3964R device.
1
Continually watch G for a change in value.
2
Verify the Job Code in L, to make sure this is new DB-FETCH command.
3
If the Job Code is 0x1145, then read the
R
ECEIVE BUFFER
.
C
HECK
J
FOR
ERRORS
,
AND
K
AND
L
FOR DATA
.
4
Then write the data count and the data in E and F.
5
Set B to the value in G.
6
Now set the trigger, A, to tell the ProLinx to begin. Set it to the value already
in A, plus 1.
7
Watch A and H. When A = H, then you know the ProLinx module has read
the data you just wrote.
8
Continually poll the error code, J to verify no errors.
Transmit Buffer
Receive Buffer
Item
Address
Transmit Value
Item
Address
Receive Value
A
(<port#> * 600) + 300
Sequence
Number
G
<port#> * 600
Sequence Number
B
((<port#> * 600) + 300) + 1
Last Receive
Sequence
Number
H
(<port#> * 600) + 1
Last Transmit
Sequence Number
C
((<port#> * 600) + 300) + 2
Blocks
Remaining
I
(<port#> * 600) + 2
Blocks Remaining
D
((<port#> * 600) + 300) + 3
Reserved
J
(<port#> * 600) + 3
Error Code
E
((<port#> * 600) + 300) + 4
Data Count
K
(<port#> * 600) + 4
Data Count
F
((<port#> * 600) + 300) + 5
through ((<port#> * 600) +
300) + 299
Data
L
(<port#> * 600) + 5
through (<port#> *
600) + 299
Data
Port 0 Receive Database (DB-Fetch Initiated from 3964R Communication
Partner)
Here is an example of an RK512 DB-FETCH initiated from the 3964R
communication partner on port 0. This example fetches five words of data from
the MNET processor. The values for the five words of data are 11, 22, 33, 44,
and 55.
Содержание ProLinx S3964R
Страница 1: ...S3964R ProLinx Gateway Siemens 3964R Protocol April 14 2009 DRIVER MANUAL...
Страница 4: ......