数字PID控制原理与算法.docx
- 文档编号:9825418
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:76
- 大小:927.37KB
数字PID控制原理与算法.docx
《数字PID控制原理与算法.docx》由会员分享,可在线阅读,更多相关《数字PID控制原理与算法.docx(76页珍藏版)》请在冰豆网上搜索。
数字PID控制原理与算法
第一章计算机常规控制技术
多年以来,在连接生产过程控制中,按偏差的比例(P)、积分(I)、微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。
它具有原理简单,易于实现,鲁棒性(robustness)强和适应面广等优点。
在计算机用于生产过程之前,过程控制中采用的气动、液动和电动的PID控制器几乎一直占主导地位。
计算机的出现及其在过程控制中的应用使这种情况开始有所改变。
尽管现代控制理论应用于过程控制后,相继出现了一批复杂的只有计算机才能实现的控制算法。
但是在连续生产过程计算机控制中,PID控制仍然是目前应用最为广泛的控制算法。
不过,用计算机实现PID控制,已不仅仅是简单地把PID控制规律数字化,而是与计算机的逻辑判断和运算功能进一步结合起来,使PID控制更加灵活多样,更能满足生产过程提出的各式各样的要求。
本章主要讨论数字PID控制算法及其改进、数字PID控制器的工程实现、数字PID控制系统的设计及其控制参数的整定。
1.1数字PID控制算法
在连续生产过程计算机控制系统中,一般采用两种PID控制算法:
一种是含有理想微分的PID控制,另一种是含有实际微分的PID控制。
1.1.1理想微分PID控制
在连续生产过程控制系统中,采用如图1.1所示的PID控制,其算式为
或写成传递函数形式:
图1.1PID控制系统框图
其中,Kp为比例增益,Kp与比例带δ成倒数关系,即Kp=1/δ,Ti为积分时间,Td为微分是,u为控制量,e为被控量y与给定值r的偏差。
为了便于计算机实现PID控制算式,必须把微分方程式(1.1.1)改写成差分方程。
为此,可作如下近似,即
其中,T为控制周期,n为控制周期序号(n=0,1,2,…),e(n-1)和e(n)分别为第(n-1)和第n控制周期所得的偏差。
将式(1.1.3)和(1.1.4)代入式(1.1.1),可得差分方程
其中u(n)为第n时刻的控制量。
如果控制周期T与被控对象时间常数Tp比较是相对小,那么这种近似是合理的,并与连续控制十分接近。
在模拟仪表调节器中难以实现理想微分de/dt,而用计算机却可以实现它的差分方程式(1.1.4),所以把式(1.1.5)称为理想微分PID数字控制器。
1.位置型算式
模拟仪表调节器的调节动作是连续的,任何瞬间的输出控制量u都对应于执行机构(如调节阀)的位置。
由式(1.1.5)可知,数字PID控制器的输出控制量u(n)也和阀门位置对应,故称此式为位置型算式。
必须指出,数字PID控制器的输出控制量u(n)通常都送给D/A转换器,它首先将u(n)保存起来,再把u(n)变换成模拟量(如4mA–20mADC或0-10mADC),然后作用于执行机构,直到下一个控制时刻到来为止。
因此,D/A转换器具有零阶保持器的功能。
计算机实现位置型算式(1.1.5)不够方便,这是因为要累加偏差e(j),不仅要占用较多的存储单元,而且不便于编程序。
为此,必须改进式(1.1.5)。
2.增量型算式
根据式(1.1.5)不难写出第(n-1)时刻控制量u(n-1),即
将式(1.1.5)减式(1.1.6)得n时刻控制量的增量△u(n)为
其中
由于式(1.1.7)中的△u(n)对应于第n时刻阀门位置的增量,故称此式为增量算式。
因此,第n时刻的实际控制量为
u(n)=u(n-1)+△u(n)(1.1.8)
其中u(n-1)为第(n-1)时刻的控制量。
综上所述,计算△u(n)和u(n)要用到第(n-1),(n-2)时刻的历史数据e(n-1),e(n-2)和u(n-1),这三个历史数据也已在前时刻存于内存储器。
通常采用平移法保存这些历史数据。
比如,计算完u(n)后,首先将e(n-1)存入e(n-2)单元,然后将e(n)存入e(n-1)单元,以及把u(n)存入u(n-1)单元,如图1.2所示。
这样就为下时刻计算机做好准备。
图1.2保存历史数据
由此可见,采用增量型算式(1.1.7)和(1.1.8)计算u(n)的优点是,编程续简单,历史书记可递推使用,占用存储单元少,运算速度快。
为了编程序方便,也可将式(1.1.7)整理成如下形式:
△u(n)=q0e(n)+q1e(n-1)+q2e(n-2)(1.1.9)
其中
增量型算式仅仅是计算方法上的改进,并没有改变位置型算式(1.1.5)的本质。
因为式(1.1.8)的u(n)对应于式(1.1.7),此时u(n)仍通过D/A转换器作用于执行机构。
如果只能输出式(1.1.7)的增量△u(n),那么必须采用具有保持历史位置功能的执行机构。
比如用步进电机作为执行机构时,应将△u(n)变换成驱动脉冲,驱动步进电机从历史位置正转或反转若干度,相当于完成式(1.1.8)的功能。
理想微分PID控制的实际控制效果有时并不理想,从阶跃响应看,它的微分作用只能维持一个控制周期,如图1.4(a)所示。
由于工业用执行结构(如气动调节阀或电动调节阀)的动作速度受到限制,致使偏差较大时,微分作用不能充分发挥。
因此,在实际应用中,通常采用含有实际违反内的PID控制算式。
1.1.2实际微分PID控制
在模拟仪表调节器中,PID运算是靠硬件实现的,由于反馈电路本身特性的限制,无法实现理想的微分,其特性是采用以下三种实际微分PID控制器。
1.实际微分PID控制算是之一
该算式的传递函数为
其中,Kp为比例增益,Ti为积分时间,Td为微分时间,Kd为微分增益。
为了便于编写程序,可用框图1.3(a)表示式(1.1.10)。
首先分别求出比例、积分和微分这三个框的输出差分方程式△up(n),△ui(n)和△ud(n),然后再求总输出△u(n)。
这样,可得实际编程序用的增量型差分方程式为
其中ud(n)和ud(n-1)分别为实际微分环节第n,n-1时刻的输出。
实际微分PID控制算式的优点是微分作用能维持多个控制周期,如图1.4(b)所示。
这样就能更好地适应一般的工业用执行机构(如气动调节阀或电动调节阀)动作速度的要求,因而控制效果比较好。
2.实际微分PID控制算式之二
该算式的传递函数为
(1.1.17)
其中Kp,Ti,Td和Kd同式(1.1.10)。
图1.3实际微分PID算式框图
为了便于编写程序,将式(1.1.7)用框图1.3(b)来表示。
首先分别求出这三个框的输出差分方程式ud(n),up(n),和ui(n),然后再求总输出u(n)。
微分作用输出差分方程式为
其中
积分作用输出差分方程式为
ui(n)=ui(n-1)+a4ud(n)(1.1.19)
其中
比例作用输出差分方程式为
ud(n)=Kpud(n)(1.1.20)
将式(1.1.19)、式(1.1.20)相加得位置型算式为
u(n)=up(n)+ui(n)=Kpud(n)+ui(n)
通过上述推导,可得式(1.1.17)的增量型递推差分方程式为
ud(n)=a1ud(n-1)+a2e(n)+a3e(n-1)(1.1.22a)
ui(n)=ui(n-1)+a4ud(n)(1.1.22b)
△ud(n)=ud(n)-ud(n-1)(1.1.22c)
△up(n)=ui(n)-ui(n-1)(1.1.22d)
△u(n)=Kp△ud(n)+△ui(n)(1.1.22e)
u(n)=u(n-1)+△u(n)(1.1.22f)
3.实际微分PID控制算式之三
该算式的传递函数为
通过简单推导,可得式(1.1.23)的增量型递推差分方程式为
△u(n)=C1△u(n-1)+C2e(n)+C3e(n-1)+C4e(n-2)(1.1.24a)
u(n)=u(n-1)+△u(n)(1.1.24b)
其中
将式(1.1.23)和式(1.1.2)比较可知,理想微分PID控制算式(1.1.2)与一阶惯性节1/(1+TdS/Kd)串连,即成为实际微分PID控制算式(1.1.23)。
众所周知一阶惯性环节具有数字滤波的能力。
实际微分PID控制算式(1.1.10)中的微分部分为理想微分TdS与一阶惯性环节1/(1+TdS/Kd)串连。
实际微分PID控制算式(1.1.17)中也含有一阶惯性环节,为了清楚起见,对式(1.1.17)作如下整理:
(1.1.25)
其中
将式(1.1.25)和式(1.1.23)比较可知,两者具有相同的结构形式,区别在于
,
和
这三个系数,人们称F为Kp,Ti和Td的干扰系数。
理想微分PID数字控制器和实际微分PID数字控制器的阶跃响应如图1.4所示,比较这两种PID数字控制器的阶跃响应,可以得知:
(1)理想微分PID数字控制器的控制品质有时不够理想,究其原因是微分作用仅限于第一个控制周期有一个大幅度的输出。
一般的工业用执行机构,无法在较短的控制周期内跟踪较大的微分作用输出。
而且,理想微分还容易引进高频干扰。
(2)实际微分PID数字控制器的控制品质较好,究其原因是微分租用能持续多个控制周期,使得一般的工业用执行机构,能比较好地跟踪微分租用输出。
由于实际微分PID算式中有一阶关系环节,具有数字滤波的能力,因此,抗干扰能力也较强。
图1.4PID数字控制器的阶跃响应
1.2数字PID控制算法的改进
为了解决计算机控制中所遇到的一些实际问题以便提高PID控制性能,必须对数字PID控制算法作某些改进。
本节主要讨论如何改进积分作用和微分作用,以及采用变PID控制算法。
1.2.1积分项的改进
在PID控制中,积分作用是消除残差,为了提高控制性能,对积分项可采取以下4条改进措施。
1.积分分离
在一般的PID控制中,当有较大的扰动或大幅度改变给定值时,由于此时有较大的偏差,以及系统有惯性和滞后,故在积分项的作用下,往往会产生较大的超调和长时间的波动。
特别对于温度、成分等变化缓慢的过程,这一现象更为严重。
为此,可采用积分分离措施,当偏差e(n)较大时,取消积分作用;当偏差e(n)较小时,才使用积分作用。
即
当|e(n)|>β时,用PID控制;
当|e(n)|≤β时,用PID控制。
积分分离值β应根据具体对象及要求确定。
若β值过大,则达不到积分分离的目的;若β值过小,一旦被控量y无法跳出积分分离区,只进行PD控制,将会出现残差,如图1.5曲线b所示。
图1.5积分分离曲线
为了实现积分分离,编程序时必须从PID差分方程中分离出积分项。
例如,式(1.1.7)应改写成
若积分分离,则取
(1.2.4)
2.抗积分饱和
由于长时间存在偏差或偏差较大,计算出的控制量u(n)有可能溢出,或小于零。
所谓溢出就是计算机运算出的控制量u(n)超出D/A所能表示的数值范围。
例如,12位D/A的数值范围为000H至FFFH(H表示十六进制),一般执行机构有两个极限位置,如调节阀全开或全关。
设u(n)为FFFH时,调节阀全开;反之,u(n)为000H时,调节阀全关。
为了提运算精度,通常采用双字节或浮点数计算PID差分方程式。
如果执行机构已到了极限位置,仍然不能消除偏差时,由于积分作用,尽管计算PID差分方程式所得的结构继续增大或减小,而执行机构已无相应的动作,这就称为积分饱和。
当出现积分饱和时,势必使超调量增加,控制品质变坏。
防止积分饱和的方法之一为,对运算出的控制量u(n)限幅,同时,把积分作用切除掉。
若以12位D/A为例,则
当u(n)<0时,取u(n)=0;
当u(n)>FFFH时,取u(n)=FFFH。
3.梯形积分
在PID控制器中,积分项的作用是消除残差,应提高积分项的运算精度。
为此,可将巨型积分改为梯形积分,如图1.6所示。
梯形积分的计算式为
图1.6两种积分方式
4.消除积分不灵敏区
PID数字控制器的增量型算式(1.1.15)或式(1.1.7)中积分作用的输出为
由于计算机字长的限制,当原酸结构小于字长所能表示的精度,计算机就作为“零”将此数丢掉。
从式(1.2.6)可知,当计算机的运算字长较短、控制周期T较短、而积分时间Ti又较长时,△ui(n)容易出现小于字长所能表示的精度而丢数,此时也就没有积分作用,称为积分不灵敏区。
例如,某温度控制系统,温度量程为0℃至1275℃,A/D转换为8位,并采用但字节(8位)定点运算。
设Kp=1,Ti=1s,T=1s,e(n)=50℃,根据式(1。
2。
6)得
这就说明,如果偏差e(n)<50℃,则△ui(n)<1,计算机就作为“零”将此数丢掉,控制器就没有积分作用。
只有当偏差e(n)≥50℃时,才会有积分作用。
这样,势必造成控制系统的残差。
为了消除积分不灵敏区,通常采用以下措施:
(1)增加A/D转换位数,加长运算字长,这样可提高运算精度;
(2)当积分项△ui(n)连续出现小于输出精度ε的情况时,不要把他们作为“零”舍掉,而是把它们一次次累加起来,即
知道累加值Si大于ε时,才输出Si,同时把累加单元清零,其程序流程如图1.7所示。
图1.7消除积分不灵敏区程序流程
1.2.2微分项的改进
微分项是PID数字控制器中响应最敏感的一项,应尽量减少数据误差和噪声,以消除不必要的扰动。
为此,可作以下两项改进。
1.偏差平均
偏差平均的公式为
式中平均项数m的选取,取决于被控对象的特性一般流量信号m取10项,压力信号m取5项,温度、成分等缓慢变化的信号m取2项或不平均。
2.测量值微分
当控制系统的给定值r(n)发生阶跃变化时,微分动作将导致控制量u(n)的秒年时微秒,这样不利于生产的稳定操作。
因此,在微分项中不考虑给定值y(n)(被控量)进行微分。
考虑到在正反作用下,偏差的计算方法不同,即
e(n)=y(n)-r(n)(正作用)(1.2.9a)
或e(n)=r(n)-y(n)(反作用)(1.2.9b)
参照式(1.1.7)中的微分项
△ud(n)=Kd[e(n)-2e(n-1)+e(n-2)](1.2.10)
改进后的微分项算式为
△ud(n)=Kd[y(n)-2y(n)+y(n-2)](正作用)(1.2.11a)
或△ud(n)=-Kd[y(n)-2y(n)+y(n-2)](反作用)(1.211b)
必须注意,对串级控制的副级控制的副调节器而言,因给定值是主调节器的输出控制量,故上述仅对测量值微分的做法并不适用,仍应按原微分项算式(1.2.10)对偏差进行微分。
测量值微分也称微分先行。
1.2.3变速PID控制
一般对象具有惯性或自平衡能力,被控量y对给定值改变和负荷改变的响应曲线如图1.8所示。
针对被控对象的自平衡能力,可以采用P,PI控制,其优点是减少超调,缩短调节时间。
下面分别叙述给定值改变和负荷改变时的变PID控制。
1.给定值改变的变PID控制
被y对给定值改变的响应曲线如图1.8(a)所示。
首先将曲线分为Oab,bc,cd,de,ef,fg,gh等段,然后根据每段的特性采用P或PI控制。
图1.8变PID控制分段曲线
Oab段:
该段是系统从稳态到动态再向稳态转变的关键阶段,由于对象具有惯性,决定了此段曲线呈倾斜方向上升,并逐步接近新的给定值r(稳态值),因此采用比例(P)控制。
当被控量y上升到a点接近稳态而与给定值r的偏差为ε时,降低比例增益,使系统借助于惯性继续上升,这样既有利于减少超调又不至于影响上升时间。
也就是说,Oab段采用变增益的比例(P)控制。
bc段:
该段被控量y远离给定值r,向偏差增大的方向变化,到波峰c点偏差达到最大值。
这段的控制作用应该尽力压低超调,除了采用比例(P)控制外,还要有积分(I)控制,以便通过对偏差积分而强化控制作用,使被控量y尽快回到给定值r(稳态值)。
cd:
段该段被控量y靠近给定值r,向偏差减小的方向变化,达到d点偏差为零。
这段如再继续用积分(I)控制,势必造成控制作用太强,而出现过大的超调。
因此,应取消积分(I)控制,仅保留比例(P)控制。
de:
段:
该段被控量y又远离给定值r,偏差向反方向增大,到波谷e点偏差达到最大值。
显然,这段类似于bc段,应采用比例(P)积分(I)控制。
ef段:
这段被控量y又趋向给定值r,向偏差减小的方向变化,到达f点偏差为零。
显然,这段类似于cd段,应采用比例(P)控制。
后面各段与前面类似,不再阐述。
2.负荷改变的变PID控制
被控量y对负荷改变的响应曲线如图1.8(b)所示,与图1.8(a)曲线比较,仅少了Oab段,其余个段类似,不在阐述。
为了实现上述分段变PID控制,首先要判别被控量y变化是给定值改变引起的还是负荷改变引起的,然后再根据被控量y变化趋势来判断是远离给定值r还是靠近给定r,并决定采用PID或P控制。
1.3数字PID控制器的工程实现
前面两节分别讨论了数字PID控制算法及其改进措施,为编制PID程序提供了算式,这是数字PID控制器的核心问题。
如果计算机仅实现此算式,并不能完全满足实际控制的需要,还必须考虑其他工程实际问题,才能使PID控制程序具有通用性和使用价值。
众所周知,电动仪表中的模拟PID调节器是一台硬设备。
与之相比,计算机中的数字PID控制器却是一台软设备,也就是说,它是由一段PID程序来实现的。
一台模拟调节器只能控制一个回路,而一段PID控制程序却可以作为一台计算机所控制的所有PID控制回路的公共子程序。
所不同的只是各个控制回路提供的原始数据不一样,输入输出通道也不一样。
为此,必须给每个PID控制回路提供一段内存数据区(亦称线性表),以便存放各种信息参数。
既然PID控制程序是公共子程序,那就应该具有通用性和工程实用价值。
在设计PID控制程序时,必须考虑各种工程实际情况,并含有多种功能,以便用户选择。
计算机控制中的数字PID控制器是由PID控制程序及相应的数据区构成的,本书称它为PID控制块。
每个PID控制块对应一段数据区(亦称参数表,详见表1.3.1),也就是说,一台计算机中可以有n个PID控制块及对应的n个PID控制块参数表,而PID控制程序只有一个,可以供n个PID控制块共用。
计算机控制中数字PID控制器以PID控制块的形式出现,而PID控制块的用户表现形式是PID控制块参数表(1.3.1),也可以把PID控制块参数表称为PID控制块的实体。
在PID控制组态软件的支持下,用户只需按要求填写PID控制块参数表即可构成PID控制块,实现PID控制功能。
项号
参数名
名称
数据及说明
默认
1
NO
功能块号
0~255
2
TAGNAME
工位号
8个字符
3
ALGORITH
算法码
8个字符PID
PID
4
ACTIVE
PID功能块激活
未激活=OFF激活=ON
OFF
5
ATTRIBUT
PID功能块属性
OPERATOR=OFFPROGRAM=ON
OFF
6
PV_MODE
PV方式
自动AUTO=OFF手动MAN=ON
OFF
7
PV
被控量
工程量RL~RH
8
RH
PV量程上限
工程量RH>RL-99999.00~+99999.00
9
RL
PV量程下限
工程量RL 10 EU PV工程单位 ℃,Pa,Mpa,m³(自定义8个字符) 11 OV_MODE PID工作方式 MAN=0AUTO=1INIT=2NLH=3PBH=4 0 12 SV_MODE 给定值方式 内给LOC=0串级CAS=1监控SCC=2 0 13 SVL 内给定值 工程量RL~RH 14 SV 串级给定值 工程量RL~RH 15 SVS SCC给定值 工程量RL~RH 16 SR 给定值变化率限制 0.1%~100%(RH~RL)/s 5 17 PHHA PV高高报警值 RL~RHPHHA≥PHIA RH 18 PHIA PV高限报警值 RL~RHPHIA≥PLOA RH 19 PLOA PV低限报警值 RL~RHPLOA≥PLLA RL 20 PLLA PV低低报警值 RL~RHPLLA≥RL RL 21 HY PV报警死区 0.1%~100%(RH~RL) 1 22 D_R 正/反作用 正作用D=OFF反作用R=ON OFF 23 DVA 偏差报警值 0.1%~100%(RH~RL) 1 24 NA 非线性区 0.0%~100%(RH~RL) 0 25 NK 非线性区增益 0.0~0.0 1 26 ICV 输入补偿量 工程量RL~RH 27 ICM 输入补偿方式 0=无1=加2=减3=置换 0 28 DV_PV 微分方式 DV微分=OFFPV微分=ON OFF 29 KP 比例增益 0.1~1000.0 1 30 TI 积分时间 0.1s~1000.0s,0: 无积分 1 31 TD 微分时间 0.1s~10000.0s0: 无微分 1 32 KD 微分增益 0.1~1000.0 5 33 IB 积分分离值 0.1%~100%(RH~RL) 5 34 OH 控制量上限值 0.1%~100%(RH~RL) 100 35 OL 控制量下限值 0%~100%OH>OL 0 36 OCV 输出补偿量 0%~100%OL≥0 37 OCM 输出补偿方式 0=无1=加2=减3=置换 0 38 OHS 输出保持开关 无保持NH=OFF保持YH=ON OFF 39 OSS 输出安全开关 无安全NS=OFF安全YS=ON OFF 40 SOV 输出安全值 0%~100% 50 41 OTV 输出跟踪值 0%~100% 42 OTS 输出跟踪开关 无跟踪NT=OFFYT=ON OFF 43 OR 控制量变化率限制 0.1%/s~100%/s 5 44 COV 输出控制量 0%~100% 45 MOV 手动控制量 0%~100% 46 TF PV滤波时间常数 0.1s~1000.0s 47 EQ_MODE PID算法 算式1=1算式2=2算式3=3算式4=4 2 48 TC PID控制周期 0.2s~60.0s 1 49 RE_MODE 恢复工作方式 手动MAN=0自动AUTO=1 0 50 DECIMAL 小数点位数 0,1,2,3,4 2 51 S_PV PV标准数 标准数“0~1” 52 S_SVL SVL标准数 标准数“0~1” 53 S_SV SV标准数 标准数“0~1” 54 S_SVS SVS标准数 标准数“0~1” 55 S_ICV ICV标准数 标准数“0~1” 56 S_OCV OCV标准数 标准数“0~1” 57 S_OTV OTV标准数 标准数“0~1” 58 S_MOV MOV标准数 标准数“0~1” 59 S_COV COV标准数 标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 PID 控制 原理 算法