发布于 2007-07-18 16:59:21
0楼
由于PLC总是不断循环运行主程序,所以"第一个扫描周期结束后就归0"指的是PLC在第一次运行主程序时SM0.1=1,是使能的(有效的),从第二次运行主程序起,SM0.1=0。只要程序没有重启,SM0.1总是“0”。因此,SM0.1总是作为初始化程序的运行条件,保证每次启动程序时仅执行一次初始化过程。而你的程序中附加了一个I0.0。这样,在程序启动时由于I0.0没有被置位,即I0.0=0,于是后面的初始化程序也就不可能被运行。既然SM0.1是被你用作初始化程序的使能条件,就不应该再附加其他触发条件。去掉I0.0,直接以LD SM0.1开始。
另外,I0.1作为发送指令的使能条件,应该在中间插入上升沿和SM4.5的判断,否则在I0.1闭合的这段时间中,PLC会不停的执行XMT指令,向外部发送数据,造成混乱。
家养老鼠名MINNIE