PID算法
在过程控制中,PID控制器,一直是应用最为广泛的一种自动控制器;PID控制也一直是众多控制方法中应用最为普遍的控制算法,PID算法的计算过程与输出值(OUT)有着直接函数关系,因此想进一步了解PID控制器,必须首先熟悉PID算法,这也是笔者为什么在下面的内容里大费周章讨论这个问题的原因所在。
PID控制器调节输出,是为了保证偏差值(e值)为零,使系统达到一个预期稳定状态。这里的偏差(e)是给定值(SP)和过程变量值(PV)的差。PID控制原理基于下面的算式:
输出M(t)是比例项(P)、积分项(I)、微分项(D)的函数。 M(t)=KC*e+ KC* +Minitial+ KC*TD* (1-1)
为了让计算机能处理这个PID算法,我们必须把这个连续算式离散化成为周期采样偏差算式,才能计算调节输出值(以下简称OUT值)。将积分与微分项分别改写成差分方程,可得: (1-2)=e(1)+e(2)+…………+e(k); (1-3)=[e(k)-e(k-1)]/T。 T是离散采样周期
将上(1-2)和(1-3)式代入输出项函数(1-1)式,可得数字偏差算式(1-4)为:
Mn=KC*en+KC* +Minitial+ KC* *(en-en-1) (1-4) 输出=比例项 +积分项 +微分项
(1-1)与(1-4)式中:
M(t) :回路输出(时间函数)
Mn :第n次采样时刻,PID回路输出的计算值(OUT值) T :采样周期(或控制周期)
Minitial :PID回路输出初始值 Kc :PID回路增益
TI :积分项的比例常数 TD :微分项的比例常数
en :在第n次采样时刻的偏差值(en=SPn-PVn)
en-1:在第n-1次采样时刻的偏差值(也称偏差前项)
从这个数字偏差算式可以看出;
比例项是:当前误差采样的函数。
积分项是:从第一个采样周期到当前采样周期所有误差项的函数。 微分项是:当前误差采样和前一次误差采样的函数。
在这里需要说明的是:我们在积分项中可以不保存所有误差项,因为保存所有误差项会占用较大的计算机存储单元,所以我们通常从第一次误差采样开始,我们利用每一次偏差采样都会计算出的输出值的特点,在以后的输出值计算时只需保存偏差前项和积分项前值。利用计算机的处理的周期重复性,我们就可以根据我们刚才推导的数字偏差算式计算出下一次积分项值。因此我们可以简化上述的数字偏差算式(1-4)为:
Mn=KC*en+KC* en +MX+ KC* *(en-en-1) (1-5)
CPU(计算机中央芯片)实际计算中使用的是(1-5)简化算式的改进比例项、积分项、微分项和的形式计算PID输出的。 改进型算式是:
Mn = MPn +MIn + MDn (1-6) 输出=比例项+积分项+微分项 项) 关系
(1-5)和(1-6)式中:
Mn :第n次采样时刻,PID回路输出的计算值(OUT值) MPn :第n次采样时刻的比例项 MIn :第n次采样时刻的积分项 MDn :第n次采样时刻的微分项 T :采样周期(或控制周期) MX :PID回路积分前项 Kc :PID回路增益
TI :积分项的比例常数 TD :微分项的比例常数
en :在第n次采样时刻的偏差值(en=SPn-PVn)
en-1 :在第n-1次采样时刻的偏差值(en-1=SPn-1-PVn-1) (也称偏差前 下面我们就根据(1-5)与(1-6)的对应关系单独分析一下各子项中各值的
3.1比例项(MPn):
比例项MP是增益(Kc)和偏差(e)的乘积。因为偏差(e)是给定值(SP)与过程变量值(PV)之差(en=SPn-PVn)。根据(1-5)与(1-6)式中对应关系可得CPU执行的求比例项算式为:
MPn=Kc* (SPn-PVn) (2-1) 式中 :
MPn :第n次采样时刻比例项的值 Kc :PID回路增益
SPn :第n次采样时刻的给定值
PVn :第n次采样时刻的过程变量值
从式(2-1)中,SP和PV都是已知量,因此影响输出值OUT在比例项中只有回路增益Kc。不难看出比例项值的大小与回路增益大小成比例系数关系。根据 P控制规律,在比例项中我们只要合理的设定Kc的大小,就能因根据采样偏差e值的变化规律改变MPn,从而影响Mn来控制调节幅度。 3.2积分项(MIn):
积分项值MI与偏差和成正比。因为偏差(e)是给定值(SP)与过程变量值(PV)之差(en=SPn-PVn)。根据(1-5)与(1-6)式中对应关系可得CPU执行的求积分项算式为:
MIn=Kc* (SPn-PVn)+MX (2-2) 式中:
MIn :第n次采样时刻积分项的值 Kc :PID回路增益
T :采样周期(或控制周期) TI :积分时间常数
SPn :第n次采样时刻的给定值
PVn :第n次采样时刻的过程变量值
MX :第n-1采样时刻的积分项(积分前项) 在CPU每次计算出MIn之后,都要用MIn值去更新MX,MX的初值通常在第一次计算输出以前被设置为为Minitial(初值),这也就是Minitial为什么会在(1-5)式未执行扫描到(1-6)式执行扫描后变为MX的原因。
从式(2-2)中我们可以看出,积分项包括给定值SP、过程变量值PV、增益Kc、控制周期T、积分时间常数TI、积分前项MX 。而SP、PV、Kc(已在比例项中设定)、T(根据设备性能参照确定)、MX(上一次积分已算出)都是已知量,因此影响输出值OUT在积分项中只有积分时间常数TI。不难看出积分项值的大小与位于积分算式分母位置的积分时间常数TI大小成反比系数关系。也就是说,在有积分项参与输出调节控制的时候,积分时间常数设置越大,积分项作用输出值就越小,反之增大。根据I控制规律,在积分项中我们只要合理的设定TI的大小,就能因根据采样偏差e值的变化规律改变 MIn,从而影响Mn来控制调节幅度。
在这里又涉及到采样周期选取的问题,采样周期是计算机重新扫描各现场参数值变化的时间间隔,控制周期是重新计算输出的时间间隔,在不考虑计算机CPU运算速度的情况下,采样周期与控制周期通常认为是同一描述。在实际工业过程控制中,采样、控制周期越短,调节控制的品质就越好。但盲目、无止境追求较短的采样周期,不仅使计算机的硬件开支(如:A/D、D/A的转换速度与CPU的运算速度)增加,而且由于现行的执行机构(如:电动类调节阀)的响应速度较低,过短的采样周期并不能有效的提高系统的动态特性,因此我们必须从技术和经济两方面综合考虑采样频率的选取。
选取采样周期时,有下面几个因素可供读者参考:
1、 采样周期应远小于对象的扰动周期。
2、 采样周期应比对象的时间常数小得多,否则所采样得到的值无法反映瞬间变化的过程值。
3、 考虑执行机构的响应速度。如果采用的执行器的响应速度较慢,那么盲目的要求过短的采样周期将失去意义。
4、 对象所要求的调节品质。在计算机速度允许的情况下,采样周期短,调节品质好。
5、 性能价格比。从控制性能来考虑,希望采样周期短。但计算机运算速度,以及A/D和D/A的转换速度要相应地提高,会导致计算机的费用增加。 6、 计算机所承担的工作量。如果控制的回路较多,计算量又特别大,则采样要加长;反之,可以将采样周期缩短。
综上分析可知:采样周期受很多因素的影响,当然也包括一些相互矛盾的,必须根据实际情况和主要的要求作出较为折衷的选择。笔者在实际过程控制中得出以下经验(仅供读者参考):如:流量1~2S,压力2~3S,温度1.5~4S,液位5~8S等。
3.2 微分项(MDn):
微分项值MD与偏差的变化成正比。因为偏差(e)是给定值(SP)与过程变量值(PV)之差(en=SPn-PVn)。根据(1-5)与(1-6)式中对应关系可得CPU执行的求微分项算式为:
MDn= KC* *{( SPn-PVn)-(SPn-1-PVn-1)} (2-3) 为了避免给定值变化引起微分项作用的跳变,通常在定义微分项算式时,采用假定给定值不变,即:SPn =SPn-1。这样可以用过程变量的变化替代偏差的变化,计算算式可改进为:
MDn= KC* * (PVn-PVn-1) (2-4) (2-3)与(2-4)式中:
MDn :第n次采样时刻微分项的值 Kc :PID回路增益
T :采样周期(或控制周期) TD :积分时间常数
SPn :第n次采样时刻的给定值
PVn :第n次采样时刻的过程变量值 SPn-1 :第n-1次采样时刻的给定值 PVn-1 :第n-1次采样时刻的过程变量值
式(2-4)中参与控制的变量或常量有增益Kc、微分时间常数TD、控制周期T、第n次采样时刻的过程变量值PVn、第n-1次采样时刻的过程变量值 PVn-1。而PVn、PVn-1、Kc(已在比例项中设定)、T(根据设备性能参照确定)都是已知量,因此影响输出值OUT在微分项中只有微分时间常数 TD。在式中不难看出,1、为了计算第n次的微分项值,必须保存第n-1次过程变量值参与下一次计算,而不