现在现场有一套PLC工作程序。有四个Q点输出。根据程序是达到条件才会工作。但是PLC在开机得电瞬间会导致四个Q点瞬间工作一下。会导致现场系统停机。有没有办法写个程序让这几个程序不会PLC一开机瞬间为1.只能根据程序执行工作。这是个漏洞不晓得怎么改,自己写了个开机10S延时但是还是不行。就是用一个常1,取时间延时。时间到了才得电。一开始会一直断开。
ASs='html_titleimg_p' STyle='text-align:CEnter;'>
最佳答案
首先你要明确你的这几个输出点,在整个程序的什么位置用到了。
然后,PLC上电瞬间为什么会有输出,因为刚开始你的OB100里面,并没有相关置位这些Q点的命令。因此可以判断你为问题出在你的程序里面,可以说你的程序编的不够严谨。
可能,你的Q点输出的条件是由某些DB里的数据来控制的,当系统出现故障时,或者PLC重新启动时,你相应的DB区域在OB100中没有被初始化。
我补建议在OB100里面直接采用
CLR
=Q0.0等之类的指令,因为这样,当PLC启动完成后Q0.0还有可能继续输出一下,因为你OB1中控制Q0.0的条件并没有在OB100中被复位。
比如你的程序中控制Q0.0的条件是
ADB1.DBX0.0
=Q0.0
如果是这种情况,你在OB100加入复位Q0.0的情况下,在OB100执行完成后,OB1运行时,Q0.0还是会有输出。因为DB1.DBX0.0没有被复位,或者控制DB1.DBX0.0的相关条件没有被初始化。
提问者对于答案的评价:
O(∩_∩)O谢谢