西门子200编程问题

主程序中的Q0.5是由主程序中的M0.5和子程序中的M16.5并行控制,当调用子程序的条件不再适合时.子程序按理不再调用.那时应该M16.5=0,但是由于M16.5依然不置0导致Q0.5一直亮.只有再状态监控表中强行将M16.5置0才可以使0.5熄灭,但是下次程序运行的时候还是必须手动或者断电才可以使程序运行,加了互锁等条件后Q0.5还是因为M16.5置1亮着.它为什么不再调用子程序之后,在程序监控里也显示的是M16.5为灰色的啊,为什么状态表里还为1?怎么样才可以让它不调用之后归0啊.而且,子程序中的M16.3,M16.4在主程序中自动归0了啊.M16.3,M16.4跟M16.5一样,只是在主程序中控制Q0.3,Q0.4而已.各位高手请指教啊,愁死人;了...

问题补充:
M16.5的线圈失电, M16.5对应的常开开关不应该断开吗?还要什么其他的复位操作吗?

最佳答案

朋友,子程序不是MC MCR指令(三菱的),不是IL ILC指令(OMRON的)。不是不执行了就可以为0的。
 估计还是不清楚什么叫“扫描”。
 没有扫描的地方是不变的。
 程序中什么是没有扫描的啊?
 1.已经扫描过去了的。
 2.后面的还没有扫描到的。
 3.END指令后面的。
 4.没有调用的子程序和中断。
 5.被明令跳转过去的部分程序。

提问者对于答案的评价:
谢谢 明白了

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc351583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午12:51
下一篇 2021年7月5日 上午12:51

相关推荐

发表回复

登录后才能评论