问题1:
程序如下图1和图2。当主程序的M0.0闭合时,子程序中的M1.0和M1.1分别可以控制Q0.0和Q0.1。当M0.0断开时,子程序中的M1.0和M1.1就不能再控制输出了,这一点没问题。问题是,当M0.0闭合时,操作子程序内Q0.0和Q0.1闭合,如果此时断开M0.0,令主程序不再执行子程序,这时的Q0.0和Q0.1却不会断开。这个状态正常么?我的理解,当子程序外部驱动位断开时,子程序内的即时输出(纯括号)应该断开才对啊,我又不是给他置位了,他不断开正常么?
问题2:
当PLC在RUN状态下运行程序过程中,导致某个M位被置位了,比如M0.0=1了。此时将PLC置于STOP,然后下载程序(或者不下载)。然后将PLC置于RUN,发现此时的M0.0=1。不论我是否在STOP状态下下载了程序,M0.0仍然保持上次RUN状态时的状态,除非给PLC断开电源,M0.0才会恢复初始的0。请问这种情况正常么?
以前都是玩S7-200的,印象中不应该是这种状况,最近开始玩smart,碰到这俩问题,不知道是不是smart的新特性,特地请教各位大神。
图片说明:
最佳答案
1)这个状况属于正常。
你想想,你都已经不调用了,怎么还能够去关注子程序的输出?
当M0.0断开时,无论这个子程序运行的输出如何,将保持断开时的那应该周期的状态。
2)可能你没有仔细验证,这个特性与原200仍然一致,没有变化。
不要说下载前、后的状态,就是删除M0.0用其它地址替换后下载,再删除其它地址再用M0.0替换,删除下载前的状态仍然保持,除非断开plc电源,没有设置断电保持区。
提问者对于答案的评价:
多谢解惑!太久没用西门子了,确实有些陌生了。。。哈哈
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc286583.html