一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

  刚入行的时候,我最喜欢的就是置位与复位这两个指令,可以说没有之一。不管是气缸控制,还是灯的控制,使用置位和复位两个指令就可以轻松搞定。但是随着编程时间越长,慢慢发现了它们的一些弊端,所以我越来越不喜欢用置位与复位指令编程了。这是为什么呢?一条条讲给你听。

1.执行效率不高

我们以最典型的电机启停控制程序进行举例,置位复位方式编程如图所示:

为什么说这个程序执行效率不高,因为这个程序如果条件满足时,一个扫描周期内会对Q0.0进行二次写入操作,一次是置1操作,一次是置0操作。

2.编程容易遗漏

置位与复位指令,通常是成对使用的,在编程的时候,如果遗漏了,则可能让程序处于一个状态。如果遗漏掉了置位指令,则会导致处于0的状态;如果遗漏掉了复位指令,则会导致处于1的状态。

3.设备未全扫描

置位复位指令,本质上是一种条件判断。在一个扫描周期内,如果启动和停止按钮都没有按下的状态,则会跳过对Q0.0的写入操作,即不写入0,也不写入1。如果处于这种状态,可能会导致不可预知的情况发生。

4.程序逻辑不严密

当置位操作与复位操作之间,存在多条程序时,会占用一定的扫描时间。如果这个时间存在时间足够长,可能存在一个极短的过渡阶段。当两个条件都满足时,可能在一个扫描周期内,电机先启动了,又停止了。

最后简单总结一下。虽然置位复位指令非常的简单,但是由于存在一些问题,所以对于逻辑控制的程序,不采用这种方法编程。那么采用什么方法实现呢?可以采用程序自锁的方式来进行逻辑控制。如图所示:

 

posted on 2023-08-07 13:54  一杯清酒邀明月  阅读(565)  评论(0编辑  收藏  举报