发布于 2007-08-29 00:43:53
0楼
谢谢!有地方表达错了,是一个X_S7-300和三个S7-200的MPI通讯!程序就在S7-300里面,一个“X_GET”和“PUT”没超过8个字节,不过一个S7-200的读写共有3个.就是理论上一个扫描周期和一个S7-200的CPU通讯2个“X_GET”读了8个字节,1个“PUT”写了1个字节!付程序:
A DB100.DBX 97.2
FN DB100.DBX 91.0
O(
A DB100.DBX 97.3
FP DB100.DBX 92.1
)
= DB100.DBX 95.1
R DB100.DBX 97.3
A DB100.DBX 95.1
= L 0.0
BLD 103
A DB100.DBX 95.0
= L 0.1
BLD 103
CALL "X_GET"
REQ :=L0.0
CONT :=L0.1
DEST_ID :=W#16#4
VAR_ADDR:=P#DB1.DBX 100.0 BYTE 4
RET_VAL :=MW106
BUSY :=DB100.DBX95.2
RD :=P#DB102.DBX 100.0 BYTE 4
NOP 0
A DB100.DBX 95.2
FN DB100.DBX 91.1
= DB100.DBX 95.3
A DB100.DBX 95.3
= L 0.0
BLD 103
A DB100.DBX 95.0
= L 0.1
BLD 103
CALL "X_GET"
REQ :=L0.0
CONT :=L0.1
DEST_ID :=W#16#4
VAR_ADDR:=P#DB1.DBX 136.0 BYTE 4
RET_VAL :=MW106
BUSY :=DB100.DBX95.4
RD :=P#DB102.DBX 104.0 BYTE 4
NOP 0
A DB100.DBX 95.4
FN DB100.DBX 91.2
= DB100.DBX 95.5
A DB100.DBX 95.5
= L 0.0
BLD 103
A DB100.DBX 95.0
= L 0.1
BLD 103
CALL "X_PUT"
REQ :=L0.0
CONT :=L0.1
DEST_ID :=W#16#4
VAR_ADDR:=P#DB1.DBX 110.0 BYTE 1
SD :=P#DB100.DBX 0.0 BYTE 1
RET_VAL :=MW108
BUSY :=DB100.DBX95.6
NOP 0