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