[西门子] 编程十年,为什么不建议你使用置位和复位指令进行编程呢?

[复制链接]
查看286 | 回复0 | 2024-6-6 10:33:03 | 显示全部楼层 |阅读模式
>刚入行的时候,我最喜欢的就是置位与复位这两个指令,可以说没有之一。不管是气缸控制,还是灯的控制,使用置位和复位两个指令就可以轻松搞定。但是随着编程时间越长,慢慢发现了它们的一些弊端,所以我越来越不喜欢用置位与复位指令编程了。这是为什么呢?一条条讲给你听。


1.执行效率不高


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




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


2.编程容易遗漏


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


3.设备未全扫描


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


4.程序逻辑不严密


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


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




如果你有不同的意见和看法,欢迎联系我们进行交流。
来源:技成培训网,作者:技成-刘郴,未经授权不得转载!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则