plc中为什么OUT指令不允许同名输出?

如题所述

这个是允许的,多个OUT指令控制同一个软元件,这种叫做重复输出,也有叫双线圈输出的。很多资料上,说要禁止这种重复输出,说不允许,但是在实际上,是允许的。先说两个例子,说明它是被允许的,拿两个最常见的PLC,首先西门子的S7-200系列,在它的编程软件里,编辑重复输出了,编译时,是没有错误,没有警告的。然后是三菱的FX系列,在它的编程软件里,编辑重复输出了,编译时,也是没有提示错误的。在专门的程序检查选项中,双线圈检查是可选的。如下图。

这就说明,可以认为它是错误,也可以认为它不是错误,也就是可以被允许。而且在别的厂家的PLC,重复输出,要么不是错误,不是警告,要么只是警告,而不是错误。这就说明各家编程软件都是允许重复输出的。而且重复输出了,是可以下载到PLC中,下载里PLC也没有报警的,程序也能运行的。所以综合来看,是允许重复输出的。

然后再说说重复输出怎么运行的,为啥很多资料都说是不允许的。以下图这个程序为例。

两个OUT Y0。根据PLC的执行过程是扫描输入,执行程序,输出刷新。再根据PLC的程序执行顺序是从上到下,从左到右的运行。来分析这两行程序。(1)当扫描输入,X0为ON,X1为OFF。先执行第一行X0常开触点导通,执行OUT Y0了,Y0输出,然后执行第二行,X1常开触点不导通,不执行OUT Y0,Y0不输出。然后刷新输出,就是Y0不输出。(2)当扫描输入,X0为ON,X1为ON。先执行第一行X0常开触点导通,执行OUT Y0了,Y0输出,然后执行第二行,X1常开触点导通,执行OUT Y0,Y0输出。然后刷新输出,就是Y0输出。(3)当扫描输入,X0为OFF,X1为ON。先执行第一行X0常开触点不导通,不执行OUT Y0了,Y0输出,然后执行第二行,X1常开触点导通,执行OUT Y0,Y0输出。然后刷新输出,就是Y0输出。这就可以看出Y0的状态都是根据最后一个OUT Y0执行的状态决定的,前面有多少个OUT Y0都没有用。对于很多学习不深的人来说,第一个PUT Y0,就是要Y0输出的呀,结果不会分析程序,一看,怎么不输出呢,怎么状态不对呢,就蒙了。因此有很多资料,为了防止这种情况,就干脆直接说不允许,就是告诉初学者,你不要忘哪方面想了,那样是不允许的,这样就更容易接受。

如果对程序理解好了,还是可以利用好重复输出的,有效的释放资源,和利用资源的。

望采纳。。。。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-02
同名输出可能会影响顺序控制,存在危险性