积分分离PID算法在吗啉精制控制系统中的应用
2023-08-04魏庆禹张龙琴曹玉波
魏庆禹,宋 楠,张龙琴,曹玉波*
(1.吉林化工学院 信息与控制工程学院,吉林 吉林 132022;2.吉林化工学院 石油化工学院,吉林 吉林 132022)
吗啉作为一种重要的化学原料,是制造许多精细化工产品的中间体[1]。对于采用了传统PID算法的吗啉精制控制系统,发现当系统需要从当前稳态过程过渡到另一种稳态过程时,对于温度这种受纯滞后影响较严重的参数,短时间内会产生较大偏差,致使针对塔顶温度的控制过程中出现大的超调和振荡[2-5]。为了改善此问题,本文引入了积分分离PID算法,并应用在吗啉精制塔顶温度控制系统中,对所提方法进行了验证与分析。
1 工艺流程
吗啉精制工艺流程图如图1所示。
图1 吗啉精制工艺流程图
含有吗啉衍生物的前馏分原料进入精馏塔T-301中。其中甲基吗啉、乙基吗啉以及水(含量约为35%)的三元共沸物作为塔顶的气相成分,塔顶温度的热量来源是由塔釜的蒸汽加热并由塔底向塔顶上升,继而使得塔顶的温度升高,气相经过冷凝器E-301进行冷凝后进入回流罐V-301,由输送泵将甲基吗啉、乙基吗啉产品送出。而共沸塔回流泵会将部分浓缩后的三元共沸物打回到精馏塔塔顶进行再次精馏。精馏塔塔釜为含有微量甲基吗啉、乙基吗啉的釜液,一部分回流到共沸塔T-301,其余作为回收产品经由泵P-302排出。在整个工艺中,保持精馏塔塔顶温度的稳定尤为重要,不仅关乎着生产过程的安全,同时也影响着甲基吗啉、乙基吗啉产品的品质和生产效率。
2 西门子S7 300/400系统PID控制器算法
2.1 STEP7常规PID控制流程
传统PID控制算法可写成[6-9]:
(1)
式中:Kp为比例系数;Ti为积分时间;Td为微分时间。上式经过离散后得
(2)
(3)
式中:Ki为积分系数;Kd为微分系数。
STEP7常规PID控制功能块FB41如图2所示[10]。当偏差绝对值小于死区宽度时,死区非线性输出为0,此时PID控制器的各输出组分(LMN_P、LMN_I、LMN_D)仍然是恒定的,且PID控制器不能作为调节器;当偏差的绝对值大于死区宽度时,将差值输入到控制器中,PID控制器根据一定的运算规律计算并输出,也就是LMN,并将其发送给执行机构进行调整,其中P、I、D表示比例、积分和微分,是一种闭环控制算法。利用这些参数,可以使被控对象跟随设定值变化,实现系统的稳定,从而消除多种干扰对控制过程的影响。
图2 STEP7常规PID控制流程
2.2 常规PID在塔顶温度控制中的应用
三元共沸塔的塔顶温度直接影响着甲基吗啉、乙基吗啉的产出效率,为此需要对塔顶的温度进行相应的定值控制。在STEP7-300软件中编写精馏塔塔顶温度控制程序如图3所示,塔顶温度变送器的电信号经模拟量输入模块FC105转换成控制器可读取的数字信号并送到PLC内部,经PID控制器FB41块运算后得到阀门开度数值,再经模拟量输出模块将阀门开度信号送到调节阀,对塔顶温度进行调控,以此实现对塔顶温度的定值控制。
图3 塔顶温度定值控制程序
传统PID控制系统的温度变化曲线如图4所示,从塔顶温度曲线的变化可知,系统从当前稳态过程过渡到其他稳态过程时,系统的输出在短时间内会出现较大的偏差,此时PID会累积积分,导致计算的控制量可能超出执行机构所允许的最大动作范围,甚至导致系统的振荡,这对塔顶温度的定值控制将造成不利影响。针对此问题,本文引入了积分分离式PID控制算法,在保留了积分功能的同时,又减小了超调,从而提高系统的控制精度。
t/s图4 常规PID控制系统温度变化曲线
3 积分分离PID算法
3.1 算法原理
为了克服常规PID中积分积累的问题,此处引入了积分分离式PID控制思想。积分分离控制的基本原理是[11-12]:当被控量偏离设定值较大时,取消积分作用,避免系统因积分作用而降低系统的稳定性和超调量;为了消除静态误差和提高控制精度,在被控量接近给定值时引入积分控制。控制实现的具体方法如下:
(ⅰ)根据工艺情况设定积分分离的域值α;
(ⅱ)当|e(k)|≥α,采用比例-微分控制,使系统有较快的响应;
(ⅲ)当|e(k)|<α,采用比例-积分-微分控制,保证系统的精度,也可避免较大的超调。
积分分离PID控制算法为[13]
(4)
式中:e(k)、e(k-1)分别是k、k-1时刻控制器的输出与输入的偏差;β是积分作用的状态系数;T为系统的采样时间。本系统采用增量式PID算法,只需保持前两个时刻的偏差,避免了位置式PID算法中极易产生较大积累误差的情况。增量式数字PID控制算法可表示为
ΔU(k)=Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)] ,
(5)
U(k)=u(k-1)+Δu(k).
(6)
积分分离PID算法的程序流程如图5所示。
图5 积分分离PID程序流程图
3.2 程序实现
SCL与PASCAL相似,是一种高级的程序设计语言,它适用于西门子的STEP7系列CPU,SCL不但包含了PLC的一些基本要素(如输出/输入、计数器、定时器等),同时还具备高级语言(如循环、高级函数、分支、选择)的特点,特别适用于复杂的编程环境。根据积分分离式PID算法,参考STEP7的FB41块,在SCL中定义了IN_put、OUT_put、Temp及Static变量,同时列出了变量名称和数据类型,SCL源代码的主要参数如表1所示。
表1 SCL源程序主要参数
基于SCL语言的积分分离程序主要由PID初始化、偏差值计算、积分分离判定、死区宽度判定、比例作用投入、积分作用投入、微分作用投入、PID输出、DISV偏置处理及PID分量输出等部分组成,主程序如图6所示。
图6 基于SCL语言的积分分离PID程序
在完成PID积分分离算法编程后,选取File→Compile对源代码进行封装,然后在STEP7的文件夹中自动生成对应的FB3功能块,它可以被其他程序调用,也可以作为一个通用功能块供其他用户使用。实际调用时,由于所编写的FB3接口与FB41功能块完全一致,所以在STEP7编程中可直接替换FB41功能块,DB数据块及上位机画面中也无须额外变动。
3.3 积分分离PID在吗啉精制过程塔顶温度控制中的应用
将改进后的PID算法应用于吗啉精制塔顶温度控制系统中,通过切换PD和PID功能块的执行输出,有效控制塔顶产品的回流量,达到控制塔顶温度在允许范围内稳定的目的。该系统采用西门子触摸屏为人机接口,实现了对塔顶温度的实时调整,用户只要将温度参数设定在触摸屏上,PLC就能根据该参数进行自动调整。同时,PLC与计算机之间通过以太网实现信息的交流,并将历史数据录入到上位机,在计算机中,通过WinCC组态软件对各时段的温度进行了详细记录,系统的运行曲线如图7所示。
t/s图7 积分分离PID控制系统温度变化曲线
可以看出,传统的PID控制下,塔顶温度的上下波动较大,参数控制不稳,不利于塔顶温度的控制;采用积分分选PID控制,系统的稳态误差较小,可以在一定程度上克服常规PID控制引起的超调现象,减小了系统的振幅,且在整个调节过程中比较稳定,满足了在甲基吗啉、乙基吗啉的生产中塔顶温度恒定的需求。
4 结 论
为了解决传统PID在吗啉精制过程塔顶温度控制系统中大超调、振荡幅度较严重的问题,设计了基于传统PID控制的积分分离PID算法,并应用在吗啉精制塔顶温度控制系统中。工程实践结果表明:该设计相比传统的PID控制方式,能够有效地抑制超调量,消除静态误差,具有较高的实用价值。