Twido PLC实现队列控制的一个方法

2017/1/10 11:29:12

1.概述

  队列是来自数据结构的一个概念,即数据的处理是按照先进先出(FIFO)原则执行,在PLC的控制程序中有时也会用这种方法。

  在一条生产线上的颗粒状物料输送设备中,有四路物料输送管线,但抽取物料的罗茨泵只有一台,因此在任意时刻只能有一条物料输送管线工作,如果在这条管线工作时,其它物料管线有工作请求,只能排队等待,在有等待状况发生时的PLC程序的控制,是一个典型的队列应用。

  2 在Twido系列PLC中的实现方法

  在Twido PLC中有现成的寄存器功能块可以配置成队列(FIFO)工作方式,最初也正是用这种方式编写的PLC的控制程序,程序的几处关键请看下面几个程序段图。

  在程序调试阶段,设备工作一切正常。但设备在实际运行中,总是会在1~3天内发生1到2个物料输送管线的请求不被执行而始终处于等待状态,只有断电后重新启动设备才能恢复正常工作。随后又仔细分析了Twido PLC的寄存器(队列模式)功能块,发现使用它时必须保证四路物料输送管线的请求在任意时刻不能同时有两个请求发生,否则就会出现上面的问题,而实际工作中,两个或两个以上的请求同时(PLC的一个扫描周期,大约在10ms之内)发生的机率确实存在,正是这种不定期发生的同时出现的请求,使设备不定期地出现物料输送管线的不正常工作。

  找到原因后,在改写PLC程序时发现,如果加上处理同时发生的几个请求的程序,使得使用Twido所提供的寄存器(队列模式)功能块的程序可能会更加复杂,于是决定不使用这个功能,用常规编程来完成控制要求。

  在程序需要重点考虑的就是这种多路物料输送管线同时发生请求的情况。在程序中将每一个请求用自锁回路保持住,然后将锁定的信号驱动一个定时器,对请求的执行是通过比较几个定时器的当前值大小来决定那一路物料输送管线动作。

  在程序中编写下面四个类似的程序段:

  实现请求的判断:

  请求处理:

  在请求处理程序段中已经包含如果有同时发生的请求时,按照1->2->3->4的默认动作顺序来决定优先顺序。

  在使用改进后队列处理程序后,该设备运行约两年,一直工作正常,再没出现过某路物料输送管线的请求不被执行的情况。

  在这个案例中,说明有些情况下,使用PLC所提供的功能并不一定是最佳的解决方式,此时,不妨考虑一下换一个实现思路的可能性。

施耐德电气技术文摘:
昆钢25MW发电机组煤气锅炉引送风机变频改造实施经验
施耐德电气热继电器选型方式
TWIDO一种简洁的实现点动开关自锁方式
施耐德电气LMC058运动控制器的三大功能介绍
施耐德电气变频器故障代码及处理方法
两种TWIDO PLC在线修改程序错误的解决方法
Twido程序不能正常打开的处理
施耐德电气变频器故障代码及处理方法
施耐德电气PLC通过CANopen的SDO报文控制SD388B
TWDLC*A10DRF单字乘除扩展功能
Twido PLC的数据保持
在Twido PLC的通讯程序中巧用常量字KW
施耐德电气Twido系列PLC数据掉电保存的应用
光电传感器选型需要哪些主要参数?
ATV61变频器高级多泵卡的PID参数的整定方法
为什么变频器不能用作变频电源?
Twdio PLC无法自动运行解决方法
施耐德电气ATV31变频器电机自整定注意事项
更多施耐德电气技术文摘...

通过中华工控网在线联系施耐德电气有限公司:

免费注册为中华工控网会员