quote:以下是引用电工在2005-10-16 10:00:16的发言:
谢谢,shine老师的方法很好,但有一点,假如m1.0的故障没有被激活,而被激活的是后面的故障,那么M0.0提前被复位,无法起到复位的作用!
kinkin 老师的意思是M0.0经过上升沿处理后再做复位,这个实际中我也是这么做的,但没有效果。至于跳出子程序,我的理解是这样的:
a m0.0
r m1.0
jc over
a m1.0
l 1
t qb8
jc over
...
over:beu
是这样理解吗?
我回去试试
你的理解基本上正确,但是在调用这段子程序中必须要用上跳沿调用,如下:
A M 0.0
FP M 10.0
JNB _001
CALL FC 1
_001: NOP 0
否则的话,如果M0.0按下的时间超过一个周期的话,就有可能复位其他的报警,不能达到一次复位一次的目的。
而你的FC1如下:
A M0.0
A M1.0
R M1.0
JC OVER
A M0.0
A M1.1
R M1.1
JC OVER
.
.
.
OVER:BE