蚁群算法在油库发油PID控制中的应用

2019-09-20 07:35
测控技术 2019年2期
关键词:发油油库模拟量

(江南大学 轻工过程先进控制教育部重点实验室,江苏 无锡 214122)

PID控制是最早发展起来的控制方案之一,由于其具有鲁棒性能好、可靠性高等特点,被广泛应用于工业过程控制中[1]。油库定量发油的过程具有滞后、惯性以及时变性等特点,普通PID控制不能很好地适应参数变化,很难满足油库发油的控制要求。为了提高油库发油的控制性能,满足油库发油的控制要求,有必要研究一种智能PID发油控制系统。

针对油库定量发油过程,本文将一种蚁群算法优化PID参数的方法用于油库发油控制,并取得了较好结果。控制系统采用S7-1200 PLC作为中央控制器,通过SCL语言实现蚁群算法对PID参数的优化。实验表明,基于蚁群算法优化后的PID发油控制器具有动态响应速度更快、上升时间更短等优点。

1 油库发油控制系统的结构及硬件框架

针对油库发油的控制要求,设计了系统的结构框图,如图1所示。根据油库现场控制的要求,对所需要的控制模块进行合理的规划。其中,数字量输入点包括静电接地、溢油检测、鹤管到位、鹤管复位和启停开关等信号输入。数字量输出点包括油泵、静电声光报警、溢油声光报警、发油指示等信号输出。模拟量包括电液阀模拟量输出点、温度传感器模拟量输入点。

该控制系统需要控制6个鹤管,对I/O口进行分配,包括36个数字量输入点、24个数字量输出点、6个模拟量输入点、6个模拟量输出点。在S7-1200中含有部分I/O端口,考虑到添加10%的裕量,对模拟量I/O和数字量模块进行了合理的配置。硬件的详细模块参数如表1所示。

表1 系统模块选型

图1 油库发油控制系统结构图

2 基于蚁群算法的PID控制参数的优化

控制参数的优化对于PID性能的好坏起着决定性的作用。常规的整定方法有试凑法和理论计算整定法。然而,当参数发生变化时,常规的系统整定方法会使控制器的性能变差。因此,需要一种智能优化方法对控制器的参数进行实时优化,采用蚁群算法来优化PID控制的3个参数,使之能够达到良好的整定效果[2]。

2.1 蚁群算法优化PID参数的系统结构图

该蚁群算法的PID控制是PID控制器和蚁群算法两个部分组成[3]。PID控制器对被控对象进行闭环控制,系统的优化指标大于设定指标时调用蚁群算法对Kp、Ki、Kd3个参数进行实时优化,当优化指标小于设定指标时,停止参数优化;蚁群算法以性能指标的最优化为目的,根据系统的运行状态,调节PID控制器的参数[4]。蚁群算法优化PID控制系统结构图如图2所示。

图2 控制系统结构图

2.2 节点和路径的选择

PID控制的Kp、Ki、Kd3个参数为优化变量,设均保留3位小数,各需要4个数字来表示,共需要12个数字。利用Z-N法得到的参数初步确定Kp、Ki、Kd的数值Kp=1.231、Ki=0.124 、Kd=1.023并将Kp、Ki、Kd数值抽象体现在XOY平面上如图3所示。

图3 节点及路径生成示意图

在XOY平面上一共有12×10个节点,用C(xi,yi,j)表示一个节点,其中xi表示节点的横坐标,yi,j表示节点的纵坐标[5]。假设蚂蚁的出发点为原点O,其爬行的路径为:Path=(0,y1,j,y2,j,…,y12,j)。该路径表示的Kp、Ki、Kd3个参数的值可按如下公式计算:

(1)

在实际设置各节点的过程中,根据Z-N法整定出的Kp、Ki、Kd按照式(2)对蚂蚁的搜索范围进行一定的缩小,使蚂蚁在有可能出现最优解的范围内进行搜索,加快了蚁群算法的收敛速度[6]。

(2)

式中,ε为[0,1]内选定的某一数值。

2.3 目标函数的建立

目标函数的建立是为了使系统具有更好的性能,因此以系统的性能指标为根本依据来建立目标函数[7]。本设计选择式(3)绝对误差矩的积分作为评价用的性能指标,利用该性能指标3的多种性质,来综合反映控制系统的精确性和快速性,在兼顾较小超调量的同时能够兼顾较快的响应速度[8]。

(3)

式中,e(t)为控制系统中输入量与输出量的误差,目标函数F越小,表明系统的性能指标越优异。

2.4 路径的选择和信息素的更新

在蚂蚁的搜索空间中,信息素为蚂蚁路径的指引,在寻优的过程中不断选择并调整路径[9]。

① 本文中蚂蚁的状态转移概率计算公式为

(4)

式中,α为遗留信息量的重要程度;β为启发信息的重要程度;τ(xi,yi,j,t)为t时刻在节点上残留的信息量;η(xi,yi,j,t)为节点C(xi,yi,j)上信息量的能见度,且

(5)

② 节点信息素更新按式(6)确定。

τ(xi,yi,j,t)=ρτ(xi,yi,j,t)+Δτ(xi,yi,j,t)

(6)

式中,ρ为信息素挥发系数;Δτ(xi,yi,j,t)为t时刻节点上C(xi,yi,j)的信息素的总变化量,按照式(7)来确定。

(7)

式中,Δτk(xi,yi,j,t)为k只蚂蚁爬过后节点C(xi,yi,j)上的信息素的变化量,按照式(8)来确定。

(8)

式中,Fk为第k只蚂蚁在本次循环中的目标函数值;Q为一个常数,表示蚂蚁在完成一次探索时所释放的信息素总浓度。

2.5 PID参数的寻优步骤

(1) 初始化。

设定初始参数,蚂蚁数量m,信息素初始浓度C,α,β,ρ,Q,最大迭代次数NC。

(2) 寻优。

① 将蚂蚁放在原点,开始爬行,按照式(4)计算各节点的状态转移概率P,并选择下一个爬行节点;

② 当蚂蚁爬过Li线段上任意一点的时候,完成一次循环,并记录各点的纵坐标;

③ 当蚂蚁完成一次爬行,按式(1)计算Kp、Ki、Kd,并赋值给PID控制器;

④ 运行控制系统模型,得到目标函数值,并返回,记录本次的最优结果。

(3) 按照式(6)更新信息素,迭代次数加1。

(4) 进入下一个循环中直到达到最大的迭代次数NC,输出最优PID参数。

3 程序设计

蚁群PID的优化程序采用西门子STEP7中的SCL语言编写。SCL语言符合国际标准IEC 61131-3,是一种类似于PASICAL的高级编程语言。SCL语言为PLC做了优化,不仅具有PLC的典型元素,而且具有高级语言的特性。

3.1 蚁群算法优化PID参数

SCL语言是西门子STEP7支持的结构化语言,编写后封装成FB功能块,在主程序OB功能块中调用。具体的程序流程如图4所示。

图4 程序流程图

3.2 蚁群PID的PLC实现

蚁群算法PID具体在PLC上的实现由两个部分组成,即蚁群算法的优化PID参数和PID控制器。蚁群算法优化PID参数用SCL进行编写并封装成FB功能块,并可以由其他程序调用,在实际应用中还要与PID控制器相结合,最终实现蚁群PID控制器的设计。

S7-1200上有集成的PID控制模块,在具体的实现上,需要将蚁群PID控制器上的3个输出值即Kp、Ki、Kd,通过接口模块赋值给PID控制器,还需要对蚁群算法优化PID参数的功能模块的背景参数进行正确设置,实现PID参数的在线调整。

4 仿真实验测试结果

为了验证本文给出的蚁群算法优化PID参数的控制方案的可行性和有效性,对该控制方案进行实验,根据现场的发油管道,设置发油量为20 kg/s。按照前文的步骤首先确定由Z-N法得到的PID参数,即Kp=1.231、Ki=0.124、Kd=1.023 ,以此来确定搜索范围,减少搜索时间,并取α=1,β=1.5,ρ=0.4,Q=10,m=10,N=20利用蚁群逐步迭代优化得到的PID参数为Kp=0.940,Ki=0.082,Kd=1。系统的响应如图5所示。为了更直观地观察仿真实验结果,将两种控制方法的仿真参数列出。具体两种控制方法的仿真参数如表2所示。

表2 两种控制方法的PID参数及性能指标

图5 优化前后系统响应曲线

由图5和表2中的数据可以看出利用蚁群算法得到的PID控制系统响应更快,有较小的超调量且过度平稳,控制效果较好。

5 结束语

本系统采用蚁群算法优化PID参数的策略,经过实际仿真表明:与常规PID控制相比具有动态响应速度快、上升时间短等特点。该控制算法通过西门子结构化控制语言(SCL)在PLC上实现,改善了控制效果。油库的实际应用验证了该系统的实用性和可靠性。

猜你喜欢
发油油库模拟量
提高油库消防预案工作效果的措施
基于神经网络算法在机场油库安全的应用
基于信号集中监测的轨道电路模拟量报警分析
秀发防晒不马虎
关于600MW火电机组模拟量控制系统设计和研究
油库是我家
油库安全管理影响因素分析
一种通用模拟量及开关量信号采集板卡的设计
霍尼韦尔公司TAS系统在西固油库公路自助发油系统中的应用
内燃机务段(折返段)一体化卸发油新设备研究