茹雪艳,何 凯
(1.蚌埠学院 电子与电气工程学院,安徽 蚌埠 233030;2.蚌埠依爱电子科技有限责任公司,安徽 蚌埠 233006)
闪蒸罐因具有耗能低、速度快、易冷却等优点,已广泛应用于化工领域[1]。通常,流入闪蒸罐的高温高压液体沸点因压降降低,迅速产生汽化,两相分离。因此,闪蒸罐压力稳定,且迅速适应扰动对过控系统非常关键。由于结构复杂、分离对象多样,闪蒸罐压力滞后大,同时具备非线性、模型难搭建等特点,导致控制复杂[2]。目前,缺少基于PSD(Proportional Sum Differential,比例、求和、微分)算法和SMPT-1000实验平台实现闪蒸罐压力自适应控制的案例[3-5],传统PID(Proportional Integral Differential,比例、积分、微分)参数整定过程长、控制反应滞后,因此,闪蒸罐压力采用复杂先进的控制算法很有必要。
首先介绍了常规PID的原理及局限,结合单神经元的优点,并加入PSD控制算法,形成单神经元自适应PSD算法,基于SCL编译,经连续功能图(Continuous Function Chart,CFC)组态单神经元自适应PSD-PID复合串级控制。通过高级多功能过控实训装置SMPT-1000,在线调试SCL编程的PSD控制器,实时监控算法迭代,整定PSD控制器参数,对控制策略进行实验验证。为清晰观察PSD控制器控制闪蒸罐压力的效果,设计了视窗控制中心(Windows Control Center,WinCC)人机界面,同时监控其对系统的作用效果。
在文献[6]、[7]所述的过程工艺中,分析SDG(Signed Directed Graph,符号有向图)可知,闪蒸罐是分离产物及回收原料的关键设备,其压力直接影响产物浓度及产出流量。
PID控制系统中,设定值与实际输出之间的误差作为控制量[8],经比例、积分、微分运算后作用于被控对象,使之逐渐接近设定值直到消除误差。
増量式PID以增量形式输出,计算量少,易实现,对执行器的冲击小,表示为:
Δu(k)=kp[e(k)-e(k-1)]+kie(k)+kd[e(k)-2*e(k-1)+e(k-2)]
(1)
式中,Δu(k)为第k采样时刻计算输出增量值,e(k)、e(k-1)分别为第k、k-1时刻的偏差信号。
常规PID参数设定过程耗时费力,无法自学习整定,适应非线性、耦合、强干扰系统的能力较差。
神经网络可利用学习规则整定、优化参数,学习和容错能力强。单神经元是其最小组成单元,结构简单,参数由设定的规则自整定,鲁棒性强。
增益系数K是单神经元自适应PID控制器最敏感的参数,K值越大,调节响应越快,系统易超调,振荡概率增加,其稳定性也变差,反之,调节越缓,系统过渡时间越长。一旦设定,便无法在线自调整。因此,增益系数K能够适应系统的变化同样重要。
Msrsk和Strejc学者提出的PSD算法[8],只需检测预期和实际输出值,不辨识过程参数,实时性、自适应性强,结构简单易实现。因此,单神经元PID算法的增益利用无辨识PSD在线调节,结合后的单神经元自适应PSD算法的结构如图1所示。
图1 单神经元自适应PSD控制结构框图
单神经元自适应PSD算法的增量形式为:
Δu(k)=K(k)[e(k)+Te(k)Δe(k)+Tv(k)Δ2e(k)]
(2)
(3)
其中,增益K(k)迭代算法的表达式为:
(4)
显然,式(3)与式(1)都是自适应控制,且结构相同,因此,理论上具备了结合的基础。借鉴单神经元强大的学习能力,同时将PSD算法中K(k)的自整定规律应用于单神经元PID增益系数K中,形成增益可自适应的单神经元PSD算法,以此提高控制器的动态响应速度,最终提高控制性能。
e(k)和Δe(k)的变化直接影响PSD参数学习调整性能,优化加权系数学习规则后,PSD算法表达如公式(5)[8]:
(5)
式(5)中,Δe(k)=e(k)-e(k-1),z(k)为教师信号,取z(k)=e(k)。
单神经元自适应PSD算法控制非线性、不确定等复杂系统时,干扰和噪声使得误差在零值附近振荡[8]。当系统检测到振荡时,K值不断变化成上一次迭代结果的0.75倍,导致K值过小,控制效果较差;同时,K值调整过大,系统易振荡。
因此,设计单神经元自适应PSD控制器之初,加入可调整K值的限制条件,使K值在下限值Kmin和上限值Kmax间调节,既限定K值的取值范围,同时又避免控制器波动较大,精细调节,保证控制的完整性,设计流程如图2所示。
图2 单神经元自适应PSD控制器设计流程框图
SCL是西门子特有的高级语言,具有条件、选择等结构和I/O、定时等PLC元素,函数运算能力强大[9]。其编程界面及单神经元自适应PSD算法的SCL代码如图3所示。
基于SCL编写PSD算法时,符号函数sign是组成增益迭代过程的重要部分,因此,首先新建名为“sign”的FC函数于符号表中,然后建立名为“ANNC-PSD(单神经元自适应PSD控制器)”的FB模块并打开,按照式(4)和上述流程图进行编写,在编译、保存成功后,最终在CFC中生成如图4所示的ANNC-PSD控制模块。
符号函数sign的代码如下所示:
FUNCTION"sign":INT
VAR_INPUTIN:REAL;
END_VAR
BEGIN
IFIN>0THENsign:=1;
ELSIFIN<0THENsign:=-1;
ELSEsign:=0;
END_IF;
END_FUNCTION
ANNC-PSD控制块代码包括参数定义、迭代叠加、条件、选择语句等,可直接调用sign函数,以式(5)所述的单神经元PSD算法进行自学习、自整定运算,实现自适应智能控制。
图3 单神经元自适应PSD算法的SCL编程界面
图4 SCL编译的ANNC-PSD控制模块
进入CFC编程界面,选择“ANNC-PSD”功能块覆盖文献[6]、[7]中闪蒸罐压力串级PID的主控制器,并修改名称为PIC1103,将控制器管脚连接至指定位置,转化成如图5所示的ANNC-PSD-PID的复合串级控制组态。
图5 ANNC-PSD-PID复合串级控制CFC组态
在单神经元自适应PSD控制器中,ηI,ηP,ηD,加权系数初值w1(0)、w2(0)、w3(0),增益K(k)初值的选择,一定程度上,也会影响控制器输出效果,虽然PSD控制器可自适应系统,但初始参数同样有必要整定[7-8]。
(1)加权系数的初值影响控制效果不明显,同时可以学习规则实时调整,因此,可取相等的值,即w1(0)=w2(0)=w3(0)。
(2)ηI、ηP、ηD的整定类似于PID系数。起初,ηD选择较小值,受控对象性能改善时,ηD逐步变大,以确保输出无波纹;若系统超调量大、上升快,或者阶跃输入下,系统多次正弦衰减,则减小ηP;反之,则增大ηP、ηD;如果上升缓慢,超调随着ηP增加而变大,应增加ηI。若超调快速降至给定值以下,而后,缓慢达到稳态,则减少ηP,增加ηI。
(3)K(k)是PSD控制器最敏感的参数,其值的调整直接影响P、I、D三项参数的自学习轨迹,可决定系统最终性能。K(0)是增益K(k)的初始值,而Tv(0)、C及L则决定了K(k)的适应系统变化的时间,Tv(0)大、C小、L大,则K(k)适应系统快,调节器易超调,系统振荡概率加大;反之,K(k)变化过缓,系统调节慢,过渡时间长。所以,应首先调整K(0)、Tv(0)、C及L的值,一般,K(0)的选取从0.01-0.08开始,Tv(0)=C取0.025-0.05,L取0.05-0.1[9]。
3.2PSD控制器程序调试
硬件连接和通信正常后,通过以太网连接,下载程序至S7-400PLC。在SCL编程界面配置程序调试设置,依次选择Options→Customize→Complier,选中Createdebuginfo,然后按下Ctrl+F7,即可调试SCL编译的PSD算法。
PSD算法调试完成后,在CFC中编译、下载整套程序,选择菜单命令Debug→TestMode,激活CFC在线功能,即可调试、整定PSD控制器。
将PLC与实验平台SMPT-1000以ProfibusDP接口的形式进行连接[6-7,10]。闪蒸罐压力采用ANNC-PSD-PID复合串级控制程序,其余回路沿用文献[6]、[7]设计的程序。
利用3.1节所述调试规则整定PSD控制器参数,同时观察实验平台上位机监控软件SMPTLab的波形,直至获得最佳控制效果,具体参数配置如图5所示,得到的效果曲线如图6所示。
图6 闪蒸罐压力在单神经元自适应PSD控制器自适应控制下的系统运行趋势图
对比文献[6]、[7]的实验数据,可得:单神经元自适应PSD控制下的闪蒸罐压力比PID控制提前65s达到设定值,产物浓度达到79%的进程加快了31s,同时累积量增加107.1kg,回收流量增加18.6kg。
分析FI1103曲线,可知500-1050s缓慢加负载,1050-1600s再次加大进料,此时系统尚未稳定,闪蒸罐压力PI1103虽有波动,但在PSD控制器的自适应控制下,在730s逐渐稳定,比闪蒸罐压力采用PID的状态快了31s,进程加快1.3%,产量达16120.46kg,物料A回收量达2804.60kg。
SMPT-1000上位机软件SMPTLab缺乏系统状态监控、参数预警、控制器在线调试等功能,无法统计回收物总量,只能观察指定的波形曲线,不够直观。
因此,本文运用PCS7V8.2内嵌的WinCC组态人机界面[11],在线调试、监控PSD控制器,实时显示过控系统的工艺界面,并对参数预警,同时以CFC中组态TotalL模块的方式,在界面中显示生成和回收量,设计的系统界面如图7所示。
图7 连续过程控制系统WinCC监控主界面
由图7可知,该WinCCOS面板可实时显示回收、总产量、参数监控等,支持调试PSD控制器参数从而控制闪蒸罐压力,实现过控系统的可视化组态。
本研究基于SCL完成单神经元自适应PSD算法编译,并组态ANNC-PSD-PID复合串级控制器,实现连续过程系统中闪蒸罐压力的自适应控制,利用SMPT-1000完成实验对比,结果表明,单神经元自适应PSD控制器调节速度优于PID,系统进程加快1.3%,产量及回收量均有提升。同时设计WinCC组态界面,更加方便直观地观察和控制闪蒸罐压力及系统参数。该方案对PSD算法实现智能控制的的应用及SCL相关实验具有重要的参考价值。