第四章 应用LabVIEW实现PID控制功能。
作为虚拟仪器的主流开发语言,图形语言(Graphical Language)在测试系统中得到广泛应用。优秀的图形语言开发环境使LabVIEW不仅包括了开发虚拟仪器面板的各种对象和进行信号分析的丰富的函数,而且提供了外挂的PID控制工具包,使用户可以将虚拟仪器拓展到自动控制领域。
对于自动控制的基本形式,图(4-1)所示的闭环负反馈系统,不仅可以应用虚拟仪器技术完成它的测量部分的功能,而且可以将虚拟仪器技术拓展到系统的控制器部分,构成一种基于虚拟仪器的测量控制系统。
图4-1 闭环负反馈系统
§4.1 PID算式的确定
§4.1.1 PID算式的确定
在测控系统中,被控量和操纵量确定之后,就可以根据对象的特性和对控制质量的要求,选择控制器的控制作用,由控制器按规定的控制规律进行运算,发出相应的控制信号去推动执行器。控制器的控制规律,即为控制器的PID算式。
PID控制算式是一种在工业控制中广泛运用的控制策略。它的优点是原理简单,易于现实,稳定性能好。实际上,大多数的工业过程都不同程度的存在着非线性、参数时变性和模糊不确定性,而传统的PID控制主要是控制具有确定模型的线性过程,因此常规PID控制不具有在线整定参数的能力,其控制效果就不是十分理想。如果采用模糊推理的方法实现PID参数:、TI、TD的在线自适应,不仅保持了常规PID控制的特点,而且具有更大的灵活性、适应性和精确性等优点,是目前一种较为先进的控制算法。
但是考虑到本软件应用客户所具有系统的特点:对象比较简单,非线性程度不高,大多数不具有时变性和模糊不确定性,而且设备的投资成本要求较低,比较适合采用常规PID控制,故本课题中的PID控制算式就确定为常规的PID控
制算式。
§4.1.2数字PID控制算式
PID控制就是确定一个被控制系统的输出量(Y(t)),驱动过程变量接近设定值,其中被控制的系统参数叫做过程变量(PV—Process Variable),将被控制的过程变量指定的理想值叫做设定值(R(t))。
[6]
理论上模拟PID控制器的理想算式为:
1tde(t)u(t)?KC[e??e(t)dt?TD]0TIdt (4-1)
式中 u(t):控制器的输出
e(t):偏差设定值R与过程变量值PV之差。 KC:控制器的放大系数。 TI:控制器的积分时间常数。 TD:控制器的微分时间常数。
基于虚拟仪器的控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此,式(4—1)中的积分项和微分项不能准确计算,只能用数值计算的方法逼近,称为数字PID控制算式。数字PID控制算式通常又分为位置式PID控制算式和增量式PID控制算式。
1. 1. 位置式PID控制算式 在采样时刻t=kθ(θ为采样周期)时,式(4—1)表示的PID控制规律可以通过以下数值公式近似计算:
比例作用:uP(k)?KCe(k) (4-2)
KCkuI(k)???e(i)TIi?0积分作用: (4-3)
TuD(k)?KCD[e(k)?e(k?1)]?微分作用: (4-4)
式(4—2)、式(4—3)、式(4—4)表示的控制算法提供了执行机构的位置u(k),
所以称为位置式PID控制算法,实际的位置PID控制器输出为比例作用、积分作用与微分作用之和,即
?kTu(k)?uP(k)?uI(k)?uD(k)?KC{e(k)??e(i)?D[e(k)?e(k?1)]}TIi?0? (4-5)
如果采样周期θ取得足够小,这种逼近可相当准确,被控过程与连续控制过程十分接近。
这种算法的缺点是,由于全量输出,所以每次输出均与过去的状态有关,计算时要对e(k)进行累加,计算机运算工作量大。而且,因为计算机输出的u(k)对应的是执行机构的实际位置,如计算机出现故障,u(k)的大幅度变化,会引起执行机构位置的大幅度变化,这种情况往往是生产实践中不允许的。因而产生了增量式PID控制算式。位置式PID控制算式的系统控制示意图如图(4-2)所示。
2. 增量式PID控制算式
增量式PID控制算式是指数字控制器的输出只是控制器的增量Δu(k)。当执行机构需要的是控制量的增量(例如驱动步进电机)时,可由式(4-5)导出提供增量的PID控制算式。
根据递推原理可得:
u(k?1)?KC{e(k?1)??TI?e(i)?i?0k?1TD?[e(k?1)?e(k?2)]}
(4-6)
用式(4-5)减去式(4-6)可得: ?u(k)?u(k)?u(k?1)?KC{e(k)?e(k?1)??TIe(k)?TD?[e(k)?2e(k?1)?e(k?2)]} (4-7)
式(4-7)称为增量式PID控制算式。可以看出,由于一般计算机控制系统采用恒定的采样周期θ,一旦确定了KP、KI、KD ,只要使用前后3次测量值的偏差,即可由式(4-7)求出控制增量。
采用增量式算法时,计算机输出的控制增量Δu(k)对应的是本次执行机构位置(例如阀门开度)的增量。对应阀门实际位置的控制量,即控制量增量的积累
u(k)???u(i)i?0k需要采用一定的方法来解决,例如用有积累作用的元件(如步进
电机)来实现;而目前较多的是利用算式u(k)=u(k-1)+Δu(k)通过执行软件来完成。图(4-3)给出了增量式PID控制系统的示意图。
就整个系统而言,位置式与增量式控制算法并无本质区别,增量式控制虽然只是算法上作了一点改进,却带来了不少优点:
(1) (1) 由于计算机输出增量,所以误动作时影响小,必要时可
以用逻辑判断的方法去掉。
(2) (2) 手动/自动切换时冲击小,便于无扰动切换。此外,当计算机发生故障时,由于输出通道或执行装置具有信号的锁存作用,故能仍然保持原值。
(3) (3) 算式中不需要累加。控制增量Δu(k)的确定仅与最近k次的采样值有关,所以较容易通过加权处理而获得比较好的控制效果。 但是增量式控制也有不足之处,积分截断效应大,有静态误差,溢出的影响大。因此,在选择时不可一概而论,一般认为在以晶闸管作为执行器或在控制精度要求高的系统中,可采用位置控制算法,而在以步进电机或电动阀门作为执行器的系统中,则可采用增量控制算法。而本文中的对象正是采用了晶闸管作为执行机构,且要求被控制温度波动小,所以采用了位置控制算法。
§4.1.3数字PID控制算式的改进[13][17][19]
PID数字控制是被广泛采用的一种算法,为了适应实际控制的需要,出现了多种改进后的数字PID控制算法。 1. 积分分离PID控制算法
位置式PID算法每次输出与整个过去状态有关,计算式中要用到过去偏差的累加值i?0?e(i)k,容易产生较大的积累误差。在实际过程控制中应将控制变量限
制
在有限的范围内,即umin?u?umax。如果计算机给出的控制量u在上述范围内,那么控制可以按预期的效果进行。一旦超出上述范围,那么实际执行的控制量就不再是计算值。因此将引起饱和(失控)效应。在位置式PID控制算法中,“饱和效应”主要是由积分项引起的,故称为积分饱和。这种现象在设定值发生突变
时特别容易发生。当设定值由R(t)突变到R(t)″时,若根据位置PID算出的输出量u?umax,那么实际输出量u只能取上限值 umax(图4-4中曲线b),而不是计算值(图4-4中曲线a)。此时由于输出量受到限制,偏差e将比正常情况下持续更长时间(即e(t) > 0的正值)),而使式(4—5)的积分项进行不适当的积累,从而得到较大的累积值。当偏差e(t)出现负值后(e(t)<0),由于积分项的累积值很大,还要经过相当长一段时间τ以后,u才可能脱离饱和区。这种积分项的不适当的积累,
[7]
就会使系统输出u(t)大幅度明显的超调和长时间的振荡,如图(4-4)所示。
克服积分饱和作用的修正算法很多,积分分离PID控制算法是其中之一。当根据PID位置算法式(4—5)算出的输出量超出限制范围时,就不再把积分值累积计入积分项中,就等于去掉了积分作用,从而避免了过大的积分累积。具体做法如下:
(1) (1) 根据实际情况,人为设定一阈值ε>0。
(2) (2) 当|e(k)|>ε时,也即偏差值|e(k)|比较大时,采用PD控制,可避免过大的超调,又使系统有较快的响应。
(3) (3) 当|e(k)|≤ε时,也即偏差值|e(k)|比较小时,采用PID控制,可保证系统的控制精度。 积分分离PID控制算法的表达式为:
u(k)?KC{e(k)??
?TI?e(i)?i?0kTD?[e(k)?e(k?1)]} (4-8)