1管式加热炉控制中的PID算法
理论上模拟PID控制器的理想算法为:
对偏差进行比例P、积分I、微分D计算后,通过线性组合构成控制量,作用于被控对象。其控制规律为:
u(t)=KPe(t) 1TI∫t0e(t)dt TDde(t)dt(1)
基于虚拟仪器的控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此,式(1)中的积分项和微分项不能准确计算,只能用数值计算的方法逼近,称为数字PID控制算法。数字PID控制算法通常又分为位置式PID控制算法和增量式PID控制算法。
位置式PID的控制算法为:
u(k)=uP(k) uI(k) uD(k)=KPe(k) TI∑ki=0e(i) TDTe(k)-e(k-1)(2)
增量式PID控制算法如下:
Δu(k)=u(k)-u(k-1)=KPe(k)-e(k-1) TIe(k) TDTe(k)-2e(k-1) e(k-2)(3)
就整个系统而言,位置式与增量式控制算法并无本质区别,增量式控制虽然只在算法上作了一点改进,却带来了不少优点。
①由于计算机输出增量,所以误动作时影响小,必要时可以用逻辑判断的方法消除;②手/自动切换时冲击小,便于无扰动切换,此外,当计算机发生故障时,由于输出通道或执行装置具有信号的锁存作用,故能保持原值;③算式中不需要累加,计算量小,控制增量Δu(k)的确定仅与最近k次的采样值有关,所以较容易通过加权处理而获得比较好的控制效果;④系统的动态性能比位置式控制算法好。
增量式控制的不足之处是积分截断效应大、有静态误差,并受溢出的影响。因此,在选择时不可一概而论,一般在以晶闸管作为执行器或在控制精度要求高的系统中,可采用位置控制算法;而在以步进电机或电动阀门作为执行器的系统中,则可采用增量控制算法。
2PID算法的改进
2.1微分项的改进
微分环节的引入,改善了系统的动态特性,但对于干扰特别敏感,时间常数较大的系统,其调节作用很小,不能达到超前控制误差的目的。而执行机构的动作速度有限,即使e(k)较大,执行机构还来不及执行D作用,使得D作用不能充分发挥;容易造成计算机中数据溢出;此外过大、过快的变化,对执行机构也会造成影响(通常T<<TD)。
为了克服上述问题,在PID算法中加一个一阶惯性环节(低通滤波器)Gf(s)=11 Tfs,其中Tf=RC为滤波时间常数。如1所示,即可构成实用微分PID控制。
实用微分能有效地克服上述不足,具有较理想的控制特性。同时,实用微分PID中均含一阶惯性环节Gf(s)=11 Tfs,具有数字滤波的功能,使其抗干扰的能力增强。它可以视为一阶低通RC滤波器的数字形式,是一种动态滤波方法,Tf改变较为容易,克服了大时间常数的RC硬件滤波器不易制作而难以实现的缺点。此方法适用于大时间常数的场合。尽管实用微分PID控制算法比普通PID控制算法要复杂些,但由于其良好的控制特性,近年来被越来越广泛地应用。
2.2积分项的改进
位置式PID算法每次输出与整个过去状态有关,计算式中要用到过去偏差的累加值∑ki=0e(i),容易产生较大的积累误差。在实际过程控制中应将控制变量限制在有限的范围内,即umin≤u≤umax。如果计算机给出的控制量u在上述范围内,那么控制可以按预期的效果进行。一旦超出上述范围,实际执行的控制量就不再是计算值,而将引起饱和(失控)效应。在位置式PID控制算法中,“饱和效应”主要是由积分项引起的,故称为积分饱和。这种现象在设定值发生突变时特别容易发生。
当设定值由R(t)突变到R″(t)时,若根据位置PID算出的输出量u>umax,那么实际输出量u只能取上限值umax,而不是计算值。此时由于输出量受到限制,偏差e将比正常情况下持续更长时间(即e(t)>0的正值),从而使位置式PID的积分项进行不适当的积累,得到较大的累积值。当偏差e(t)出现负值后(e(t)<0),由于积分项的累积值很大,还要经过相当长一段时间τ以后,u才可能脱离饱和区。这种积分项的不适当的积累,就会使系统输出u(t)大幅度明显的超调和长时间的振荡,如2所示。
克服积分饱和作用的修正算法很多,积分分离25管式加热炉PID算法改进及其在虚拟仪器中的应用王浩宇,等控制算法是其中之一。当根据PID位置算法式算出的输出量超出限制范围时,就不再把积分值累积计入积分项中,就等于去掉了积分作用,从而避免了过大的积分累积。
系统存在积分饱和时,积分分离PID控制算法的表达式为:
u(k)=KCe(k) βθTI∑ki=0e(i) TDθe(k)-e(k-1)(4)
β按下式取值:β=1,当|e(k)|≤ε0,当|e(k)|>ε(5)
采用积分分离PID控制算法后,控制系统的性能得到了较大的改善。
3被控对象模型仿真
3.1建模
管式加热炉是典型的控制应用模型,其中温度控制是控制过程中的一个重要方面,其对象主要是大延迟的一阶惯性系统。所以采用包含有滞后的一阶惯性环节来进行对被控对象的仿真,以验证PID改进算法的效果。当控制系统中包含有纯滞后环节时,这种环节的数字仿真方法与差分方程仿真方法很相似。
设纯滞后环节的传递函数为:
G(s)=Y(s)U(s)=e-Γs(6)
式中:Y(s)和U(s)分别为该环节输出Y(t)、输入U(t)的拉氏变换式;Γ为延迟时间。
设采样周期为
T,则:ΓT=M0 M1(7)
式中:M0为整数部分;M1为小数部分。
经过Z变换及其反变换,可得差分方程:Y(k)=Uk-(M0 M1)(8)
为了比较算法的优劣并选取最优算法,在进行仿真时选择了同一个模型作为研究对象。选取带延迟的一阶惯性环节:G(s)=K1 T1se-Γs(9)由于计算机处理的都是数字信号,为了便于计算机的仿真处理,必须将一阶惯性环节离散化,才能在计算机上实现。
离散化整理后得:XC(k)=T1XC(k-1) TKXr(k-k0)T T1(10)式中:k0=ΓT。在本设计中,取M0=3,M1=0,则滞后时间Γ=(M0 M1)T=3T,有了模型的仿真,就可以进行PID设计了。
3.2PID的图形化编程
对于普通位置式PID设计、增量式PID设计,存在内扰动,使得被控曲线的平滑度不佳。为了解决这个问题,在微分加滤波的积分分离法位置式PID设计、普通位置式PID设计程序设计的基础上,针对积分调节作用增加了滤波,来抑制积分方面的干扰,分别构成了积分、微分加滤波的积分分离法位置式PID设计和积分加滤波的积分分离法位置式PID设计。特别是对于微分加滤波的积分分离法位置式PID设计,在积分突然作用的情况下,会出现内扰动,使得控制曲线的稳定性变差,积分加上滤波可以解决这个问题。
改变设定值,得到积分、微分加滤波的积分分离法位置式PID设计、积分加滤波的积分分离法位置式PID设计。
对于同一种控制方案,为了得到比较合适的采样时间,取不同的采样时间来进行比较。可以得到,T1=0105s时,曲线移动较快,不便于观察;在T3=015s时,控制作用不及时,控制曲线不够理想;在T2=011s时,控制及时且较容易观察。根据PID归一化参数整定法,再采用试凑法稍微改变PID值,得到工程整定后参数:
T=011s;KP=8;KI≈2;KD≈16179。控制曲线如图3所示。