个人对程序代码的推断, 仅供参阅!
L P##aalm // 装载32位的双字指针.
AD DW#16#FFFFFFF8 // 获取双字指针的字节地址,比如说: L P#25.3, 我们取字节地址25.
LAR1 // 将指针的字节地址存放在地址寄存器1中.
A(
A #DRV_OPEN // 阀门打开指令.
L S5T#15S // 阀门打开的15秒限时.
SD #DELAY_TIMER
NOP 0
NOP 0
NOP 0
A #DELAY_TIMER
)
AN #OPEN_LIMIT // 在15秒内,阀门必须要打开到位.
R #DRV_OPEN // 否则,取消阀门打开指令.
S [AR1,P#0.1] // 生成阀门报警.
A #DOWN // 阀门联锁条件不具备"#DOWN True-->False".
FN [AR1,P#0.3] // 下降沿检测.
AN #UNLOCK // 阀门操作处在"联锁"状态.
S [AR1,P#0.1] // 生成阀门报警.
R #DRV_OPEN // 取消阀门打开指令.
07-03-26 12:00