quote:以下是引用伊默在2006-10-12 17:16:04的发言:
END是条件结束.你用SM0.1来使能END肯定不对啦.
比如你要求I0.0为1时,程序不执行,且Q0.0-Q0.7全接通.那么在主程序的第一个NETWORK写一句:
LD I0.0
MOVB 16#FF,QB0
END
这样就可以了. 具体需要执行什么的程序,你自己改吧.
谢谢伊默斑斑啦。:)
这个功能其实是上电初始检查,要检查一个开关是否在打开状态,如果是打开那主程序就正常执行,并且下一个程序步骤就是等待有按钮来使开关合闸。如果开关是闭合的,说明在上一次的使用中有故障使得开关被熔住了,则立刻中止所有程序,并使报警灯亮。
所以我考虑,比如下面这段是不是只能在SM0.1里,因为如果放在SM0.0里,要是上电发现I0.0是闭合的倒是可以立即报警并END,但是上电发现I0.0没有闭合,后面的主程序正常执行起来的话,按照正常操作流程迟早是要合上这个I0.0的,以PLC循环扫描的方式,立马就执行END了。
LD I0.0
MOVB 16#FF,QB0
END
另外,照您说的话,END指令是永远结束扫描,而不是仅仅中止当前扫描周期喽?