发布于 2004-05-25 09:30:03
0楼
L P##ATO //取 #ATO 变量在 FC0 接口区(LOCAL DATA)的存储地址的指针LAR1 //此指针赋值到 AR1
L W#16#0
L W [AR1,P#0.0] //此指针指向 #ATO 对应的 DB/DI 块号
==I
JZ M001 //如果为 0 ,则表示 #ATO 不是 DB/DI (可能是 M/I/Q 等)
T #TEMP1
OPN DB [#TEMP1] //打开 DB/DI 块
M001: NOP 0
L D [AR1,P#2.0] //此指针指向 #ATO 对应的 DBX10.0 的指针
//或对应的 M0.0/I0.0/Q0.0 等的指针 (M001跳转)
LAR1 //此指针赋值到 AR1
L W#16#0
L W [AR1,P#2.0] //此处实际是取 DB5.DBW12 的值
//或对应的 MW2/IW2/QW2 等的值 (M001跳转)
==I
JZ M002
L W [AR1,P#4.0] //此处实际是取 DB5.DBW14 的值
//或对应的 MW4/IW4/QW4 等的值 (M001跳转)
T #ATO_VAL //赋值到 #ATO_VAL
//条件是 DB5.DBW12 <>0
//或者是对应的 MW2/IW2/QW2 <>0 (M001跳转)
注: #ATO 可以赋值为 DB5.DBX10.0
也可以赋值为 M0.0/P#M0.0, I0.0/P#I0.0, Q0.0/P#Q0.0 等指针