labview实现PID控制 下载本文

采用增量式算法时,计算机输出的控制增量Δu(k)对应的是本次执行机构位置(例如阀门开度)的增量。对应阀门实际位置的控制量,即控制量增量的积累

u(k)???u(i)i?0k需要采用一定的方法来解决,例如用有积累作用的元件(如步进

电机)来实现;而目前较多的是利用算式u(k)=u(k-1)+Δu(k)通过执行软件来完成。图给出了增量式PID控制系统的示意图。

就整个系统而言,位置式与增量式控制算法并无本质区别,增量式控制虽然只是算法上作了一点改进,却带来了不少优点:

(1) 由于计算机输出增量,所以误动作时影响小,必要时可以用逻辑判断的方法去掉。

(2) 手动/自动切换时冲击小,便于无扰动切换。此外,当计算机发生故障时,由于输出通道或执行装置具有信号的锁存作用,故能仍然保持原值。

(3) 算式中不需要累加。控制增量Δu(k)的确定仅与最近k次的采样值有关,所以较容易通过加权处理而获得比较好的控制效果。

但是增量式控制也有不足之处,积分截断效应大,有静态误差,溢出的影响大。因此,在选择时不可一概而论,一般认为在以晶闸管作为执行器或在控制精度要求高的系统中,可采用位置控制算法,而在以步进电机或电动阀门作为执行器的系统中,则可采用增量控制算法。而本文中的对象正是采用了晶闸管作为执行机构,且要求被控制温度波动小,所以采用了位置控制算法。

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的正值)),而使式(1—5)的积分项进行不适当的积累,从而得到较大的累积值。当偏差e(t)出现负值后(e(t)<0),由于积分项的累积值很大,还要经过相当长一段时间τ以后,u才可能脱离饱和区。这种积分项的不适当的积累,

[7] 就会使系统输出u(t)大幅度明显的超调和长时间的振荡,如图(1-4)所示。

克服积分饱和作用的修正算法很多,积分分离PID控制算法是其中之一。当根据PID位置算法式(1—5)算出的输出量超出限制范围时,就不再把积分值累积计入积分项中,就等于去掉了积分作用,从而避免了过大的积分累积。具体做法如下:

(1) 根据实际情况,人为设定一阈值ε>0。

(2) 当|e(k)|>ε时,也即偏差值|e(k)|比较大时,采用PD控制,可避免过大的超调,又使系统有较快的响应。

(3) 当|e(k)|≤ε时,也即偏差值|e(k)|比较小时,采用PID控制,可保证系统的控制精度。

积分分离PID控制算法的表达式为:

ku(k)?KDC{e(k)???T?e(i)?TIi?0?[e(k)?e(k?1)]}

图4-4 系统存在积分饱和时控制器输出u(t)

(1-8)

其中β按下式取值:

???

?1?0当e(k)??当e(k)?? (1-9)

采用积分分离PID控制算法后,控制效果如图(4-5)所示。由图可见,采用积分分离PID控制算法使得控制系统的性能有了较大的改善。

2. 遇限削弱积分PID控制算法

遇限削弱积分PID控制算法的基本思想是:一开始就积分,当控制进入饱和区(即限制范围)以后,即停止积分,不再进行积分项的累加,而只执行削弱积分的运算。因而,在计算u(k)时,先判断u(k-1)是否已超出限制值。若u(k-1)>umax,则只累加负偏差;若u(k-1)

3. 不完全微分PID控制算法

微分环节的引入,改善了系统的动态特性,但对于干扰特别敏感。在误差扰动突变时,微分项如下:

T??uD(k)??KCD??e(k)?e(k?1)??KD?e(k)?e(k?1)???? (1-10)

其中:

KD?KCTD?

当e(k)为阶跃函数时,uD(k)输出为:

uD(0)=KD, uD(1)= uD(2)=···=0

即仅第一个周期有输出,且幅值为KD,以后均为零。该输出的特点为: (1)微分项的输出仅在第一个周期起激励作用,对于时间常数较大的系统,其调节作用很小,不能达到超前控制误差的目的。

(2)uD的幅值KD一般比较大,容易造成计算机中数据溢出;此外uD过大、过快的变化,对执行机构也会造成影响(通常θ<

克服上述缺点的方法之一是在PID算法中加一个一阶惯性环节(低通滤波

Gf(s)?器)

11?Tfs,如图(4-6)所示,即可构成不完全微分PID控制。