大家都很清楚PLC的程序扫描时由头到尾的依次执行的,所以,在我们自己编写程序或修改程序时,一定要重视语句的执行顺序对逻辑运算结果的影响,这是我们常常会犯的错误,下面我就举个小小的示例来看看。
上图是一个很简单的小程序,本意呢就是想通过定时器T0每秒导通一次,那么C0和C1也会每隔1s就会加1。那么大家看看我上面的程序的结果会是什么样的?
下图就是运算的结果,C0计数正常而C1并未继续计数。
那么为什么会出现如上的结果呢?这就是本文前面提到的运算顺序的问题了?
简单分析下过程:为了更直观我们讲上面的LAD转换成STL来看看程序
当如下图所示红框中的第一个逻辑,定时器T0计时时间到后则重新计时,C0得到上升沿而进行计数。
当如下图所示篮框内的将开始重新的逻辑,T0不会产生上升沿,所示C1也就不进行计数。
那么针对本例,怎么修改呢?如下图所示即可。
再来看看修改后的STL程序:
修改后的程序更加精简。
当然了本文只是举个例子,提醒大家在编写程序或修改程序时,一定要遵循PLC程序执行的最基本原则。不要出现本文第一段程序中的“画蛇添足”。
End
文章来源:网络,本文系网络转载,版权归原作者所有。但因转载众多,无法确认真正原始作者,故仅标明转载来源。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容!本文内容为原作者观点,并不代表本公众号赞同其观点和对其真实性负责。
联系客服