大林算法在氨汽化温度控制系统中的应用研究
2023-08-04林建东张春山曹玉波
林建东,张春山,张 浩,曹玉波*
(1.吉林化工学院 信息与控制工程学院,吉林 吉林 132022;2.杭州和利时自动化有限公司 长春办事处,吉林 长春 130051)
近年来,我国合成氨行业快速发展,通过合成工艺所制备的氨占我国氨总使用量的80%左右[1]。在氨的合成工艺中,氨汽化器是重要设备之一,运行过程中一旦出现异常或者停机,将导致整个系统的生产中断[2]。在实际生产过程中,传统PID由于系统滞后性的存在,追踪设定值时频繁出现收敛较慢的情况,为保证系统运行的稳定性和安全性,对该温度控制回路设计大林算法控制器[3]。该算法的中心思想是设计一个合适的数字控制器,使整个系统的闭环传递函数为带有原滞后时间的一阶惯性环节[4]。大林算法能够降低静态误差,减小超调量,解决氨汽化系统中的温度控制问题,对改善纯滞后特性给系统带来的不良影响、提高系统的控制质量和增强系统的稳定性具有重要意义。
1 氨汽化系统工艺流程
来自液氨储罐的液氨(2.5 MPa;24 ℃)经过液氨进料泵打入到氨汽化器E01内,与低压蒸汽(0.9 MPa;220 ℃)交换热量后汽化,氨气由E01上方管道排出,根据工艺控制要求,需控制氨汽化器出口温度在45 ℃。TIC301实时检测汽化器出口温度,经变送装置送至控制器与给定温度进行比较,通过控制器输出相应的电信号控制低压蒸汽调节阀的开度,控制低压蒸汽进入量,以此来控制汽化器出口温度。由于执行器与检测器之间的空间距离加上温度传感器的输出滞后,使得反馈信号的滞后,进而导致系统控制不及时,造成系统震荡。某合成氨汽化系统工艺流程图如图1所示。
图1 合成氨汽化系统工艺流程图
使用常规PID控制器控制氨汽化器的出口温度,整定后确定控制器的调节参数:Kp=0.89,Ki=34,Kd=0.1。
系统设定温度值为45 ℃,得到实际温度值随时间变化的曲线如图2。观察曲线中发现,该系统的被控对象存在较大程度的时滞,系统受到扰动作用后,温度回到设定值的时间较长,并且在控制过程中出现了较为明显的超调的现象,严重时甚至可能引起生产事故,为降低超调和扰动后的过渡时间,采用大林算法对系统进行控制,能使上述问题得到一定程度的缓解和改善。
时间/s图2 常规PID控制曲线图
2 基于大林算法的汽化器出口温度控制
2.1 大林控制算法基本原理
对于上述大时滞的被控过程,为了提高系统的控制品质,采用大林算法控制方案。大林算法是由美国IBM公司的大林(Dahlin)于1968年提出的针对工业生产过程中含纯滞后对象提出的控制算法,其操作方法是:当被控过程受到扰动而使被控参数偏离设定值时,即采样一次被控参数与给定值的偏差,发出一个调节信号,与此同时保持该调节信号不变,保持的时间与纯滞后时间相等或较长一些。当经过τ时间后,由于操作信号的改变,被控参数必然有所反应,此时,再按照被控参数与设定值的偏差及其变化方向与速度值来进一步调节,调节后又保持其量不变,再等待一个纯时滞τ,以此反复上述操作,逐渐校正被控参数的偏差值[5]。大林算法控制系统方框图包含D(z)数字控制器,H(z)零阶保持器,G0(z)被控对象,T采样周期。实现采样的装置叫采样器,采样器周期的同时接通或断开,把连续的信号转换成离散信号,此过程叫作采样过程,零阶保持器作用使每一输出信号的瞬时值一直保持到下一输出瞬时值,从而使输出信号变成阶梯信号,即将离散信号转化为连续信号。控制系统方框图如图3所示。
图3 大林算法控制系统方框图
由图3可以得到系统的闭环Z传递函数为
(1)
被控对象看成带有纯滞后项的一阶惯性环节,其表达式为
(2)
其中k是被控对象的放大系数;τ为被控对象的滞后时间,τ=NT,假定滞后时间τ是采样和周期T的整数倍,N为正整数。
通过观察得到,将式(2)代入式(1)中,系统的闭环传递函数的特征方程中含有纯滞后项,会对系统的稳定性造成不良影响,因此大林算法的思路是设计一个数字控制器D(z),使期望的系统闭环传递函数W(s)为带纯滞后的一阶惯性环节,并要求纯滞后时间等于被控对象的纯滞后时间τ,如此闭环特征方程中不含有纯滞后项,并且T0可以按要求自由选取[6],得到期望的闭环传递函数为
(3)
其中,T0为期望的闭环时间常数,滞后时间与被控对象的滞后时间τ相同。当采用数字控制时,其采样周期T的选择通常满足τ=NT。
由此可得,Dahlin算法的数字控制器D(z)为[7]
(4)
将式(4)化简得[8]
(5)
经交叉相乘得
U(k)=b1e(k)-b2e(k-1)+aU(k-1)+(1-a)U(k-N-1).
(6)
2.2 被控对象模型
将氨气汽化器控制系统投入运行后,进行开环实验,实验时室温为24.0 ℃,在系统运行100 s时,设置输入控制量为4%,系统输出电信号控制阀门开度为4%,控制低压蒸汽的进入量,对氨气进行加热,对阶跃响应曲线数据进行记录,实际数据如表1所示。
表1 4%开度下温度数据
采用一阶延迟系统两点法,通过阶跃响应曲线上的两个观测点数据Δt1,Δy(t1)和Δt2,Δy(t1)来确定传递函数模型参数[9]。
被控对象我们以一阶惯性带有纯滞后的模型结构对模型参数进行求取,设一阶滞后系统阶跃响应为
(7)
设系统输入的阶跃信号的幅值为X,系统阶跃响应的稳态值为:
(8)
系统的增益K可通过式(8)得到,K=Y(∞)-Y(0)/X,求得放大系数K为
(9)
采集两个观测点数据Δt1,Δy(t1)和Δt2,Δy(t2)代入一阶延迟响应曲线式(7)中,得到
(10)
(11)
因此,根据系统的阶跃响应数据,通过一阶延迟系统两点法,最终确定了被控对象的数学模型为
(12)
2.3 大林控制算法实现
由前文的大林算法和被控对象参数,对大林算法控制器进行设计。根据式(12)被控对象的传递函数,令期望的系统闭环传递函数为
(13)
在设计大林算法数字控制器时首先得考虑振铃现象,振铃现象为数字控制器的输出以1/2采样频率上下大幅摆动的现象,会对系统的执行器带来不可逆的磨损,不仅会影响系统的稳定性,在实际生产过程中还会损坏设备,引起事故等重大损失。因此,在纯滞后控制系统设计大林算法数学控制器时须检验是否存在振铃现象。对该系统数字控制器的Z传递函数进行求取,令期望的闭环传递函数的时间常数T0=20 s,采样时间T=1 s。经过运算,最终得到数字控制器具体表达式如下:
(14)
对式(13)进行零极点分析,可以判断出极点恒大于零,不存在左半平面的极点,因此控制器的输出不存在振铃现象。
为了便于在PLC编写大林算法的程序语言,根据式(13)与式(14),将被控对象模型参数和所期望的闭环传递函数的参数,代入到式(12)中,最终可以确定该控制系统的大林算法数字控制器的关系式为
U(k)=7.253 1e(k)-7.131 2e(k-1)+0.951 23U(k-1)+0.048 77U(k-N-1).
(15)
首先,对系统进行初始化,设置数字控制器的初始输出值为0。系统从某一时刻采集得到被控对象的输出,由于纯滞后的存在,系统输出滞后N步,计算系统设定值与反馈值的偏差,将偏差带入到数字控制器输出关系式中,得到控制器输出,即阀门开度,再将得到的值做赋值处理,如采样时间未结束,则继续上述所有步骤,如采样时间结束,系统结束循环。大林算法程序流程图如图4所示。
图4 大林算法程序流程图
根据图4大林算法程序流程图,利用Step7-300编写大林算法控制器程序。设置CPU的扫描周期为1 000 ms,即采样时间为1 s,将温度实际值、设定值和控制器各项系数作为FB1(Dahlin算法模块)的输入端,运算结果作为大林算法控制器输出。首先,温度传感器TIC301实时检测现场氨汽化器出口温度信号(电信号),经过PLC模拟量输入通道内部的A/D模块转换为整型值,通过FC105模块将整型值转换为温度实际值,温度实际值作为大林算法控制器的输入,与设定值做差值运算,得到的偏差代入到控制器关系式中,大林算法控制器输出U经FC106模块转换为阀门开度系数,由模拟量输出通道内部的D/A模块转换为电信号给低压蒸汽调节阀,改变蒸汽的进入量来控制汽化器出口温度,从而实现汽化器出口温度的定值自动控制。大林算法STL程序如图5所示。
图5 大林算法控制程序图
3 氨汽化温度大林控制系统仿真
由之前实际被控对象模型参数,将组态王与Step7-300软件建立连接,建立了氨汽化器温度控制系统,进行氨汽化器温度控制回路仿真实验。按照大林数字控制器设计,控制器某一时刻的输出由当前时刻的误差值、前一时刻的误差值和控制器的前次输出值以及k-N-1时刻的输出值所决定,输出给低压蒸汽调节阀控制其开度,以此来控制低压蒸汽的流量,最后控制汽化器出口的温度,再将温度值与设定值做差值运算得到误差值,在采样时间内如此反复,最后实现了大林控制算法。在仿真实验中,设置初始温度为24 ℃,仿真开始70 s后,给定幅值为45阶跃信号。当曲线进入新的稳态后,给定幅值为35的负阶跃信号,观察PID与大林算法控制出口温度曲线的变化情况。两种算法对出口温度的控制效果和曲线如图6所示,过渡过程控制性能指标见表2。
时间/s图6 氨汽化温度控制效果对比图
对比图6和表2可得,在仿真实验中采用大林算法控制方案时,控制系统在设定值发出阶跃信号后,系统的上升时间较常规PID长,但过渡时间比常规PID短,且系统在达到预先设定值后没有出现超调现象,而是逐渐过渡到平稳状态,维持控制效果,控制精度相比普通PID控制器有明显提升,并且发生扰动后的PID算法过渡时间较大林算法长。
结合以上结果,从稳定性和安全性角度分析,大林算法的控制质量优于常规PID控制器,有效地缩短了超调和扰动后的过渡时间[10-11]。
4 结 论
本文在某合成氨汽化系统的汽化器温度控制回路中,针对温度对象参数存在滞后性问题,基于西门子软件平台,设计了大林控制算法程序。系统仿真结果表明,大林算法校正带有纯时滞的氨汽化器温度控制回路时,能够有效减小系统超调,降低静态误差,缩短扰动后的过渡时间,增强系统的反馈性能,取得了较为理想的控制效果,对实际工程项目的应用具有一定参考意义。