应用LabVIEW实现PID自动控制功能.docx
《应用LabVIEW实现PID自动控制功能.docx》由会员分享,可在线阅读,更多相关《应用LabVIEW实现PID自动控制功能.docx(36页珍藏版)》请在冰豆网上搜索。
应用LabVIEW实现PID自动控制功能
作为虚拟仪器的主流开发语言,图形语言(GraphicalLanguage)在测试系统中得到广泛应用。
优秀的图形语言开发环境使LabVIEW不仅包括了开发虚拟仪器面板的各种对象和进行信号分析的丰富的函数,而且提供了外挂的PID控制工具包,使用户可以将虚拟仪器拓展到自动控制领域。
对于自动控制的基本形式,图(4-1)所示的闭环负反馈系统,不仅可以应用虚拟仪器技术完成它的测量部分的功能,而且可以将虚拟仪器技术拓展到系统的控制器部分,构成一种基于虚拟仪器的测量控制系统。
图4-1闭环负反馈系统
§4.1PID算式的确定
§4.1.1PID算式的确定
在测控系统中,被控量和操纵量确定之后,就可以根据对象的特性和对控制质量的要求,选择控制器的控制作用,由控制器按规定的控制规律进行运算,发出相应的控制信号去推动执行器。
控制器的控制规律,即为控制器的PID算式。
PID控制算式是一种在工业控制中广泛运用的控制策略。
它的优点是原理简单,易于现实,稳定性能好。
实际上,大多数的工业过程都不同程度的存在着非线性、参数时变性和模糊不确定性,而传统的PID控制主要是控制具有确定模型的线性过程,因此常规PID控制不具有在线整定参数的能力,其控制效果就不是十分理想。
如果采用模糊推理的方法实现PID参数:
、
、
的在线自适应,不仅保持了常规PID控制的特点,而且具有更大的灵活性、适应性和精确性等优点,是目前一种较为先进的控制算法。
但是考虑到本软件应用客户所具有系统的特点:
对象比较简单,非线性程度不高,大多数不具有时变性和模糊不确定性,而且设备的投资成本要求较低,比较适合采用常规PID控制,故本课题中的PID控制算式就确定为常规的PID控制算式。
§4.1.2数字PID控制算式
PID控制就是确定一个被控制系统的输出量(Y(t)),驱动过程变量接近设定值,其中被控制的系统参数叫做过程变量(PV—ProcessVariable),将被控制的过程变量指定的理想值叫做设定值(R(t))。
理论上模拟PID控制器的理想算式为:
[6]
(4-1)
式中
:
控制器的输出
:
偏差设定值R与过程变量值PV之差。
:
控制器的放大系数。
:
控制器的积分时间常数。
:
控制器的微分时间常数。
基于虚拟仪器的控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此,式(4—1)中的积分项和微分项不能准确计算,只能用数值计算的方法逼近,称为数字PID控制算式。
数字PID控制算式通常又分为位置式PID控制算式和增量式PID控制算式。
1.1. 位置式PID控制算式
在采样时刻t=kθ(θ为采样周期)时,式(4—1)表示的PID控制规律可以通过以下数值公式近似计算:
比例作用:
(4-2)
积分作用:
(4-3)
微分作用:
(4-4)
式(4—2)、式(4—3)、式(4—4)表示的控制算法提供了执行机构的位置u(k),所以称为位置式PID控制算法,实际的位置PID控制器输出为比例作用、积分作用与微分作用之和,即
(4-5)
如果采样周期θ取得足够小,这种逼近可相当准确,被控过程与连续控制过程十分接近。
这种算法的缺点是,由于全量输出,所以每次输出均与过去的状态有关,计算时要对e(k)进行累加,计算机运算工作量大。
而且,因为计算机输出的u(k)对应的是执行机构的实际位置,如计算机出现故障,u(k)的大幅度变化,会引起执行机构位置的大幅度变化,这种情况往往是生产实践中不允许的。
因而产生了增量式PID控制算式。
位置式PID控制算式的系统控制示意图如图(4-2)所示。
2.增量式PID控制算式
增量式PID控制算式是指数字控制器的输出只是控制器的增量Δu(k)。
当执行机构需要的是控制量的增量(例如驱动步进电机)时,可由式(4-5)导出提供增量的PID控制算式。
根据递推原理可得:
(4-6)
用式(4-5)减去式(4-6)可得:
(4-7)
式(4-7)称为增量式PID控制算式。
可以看出,由于一般计算机控制系统采用恒定的采样周期θ,一旦确定了KP、KI、KD,只要使用前后3次测量值的偏差,即可由式(4-7)求出控制增量。
采用增量式算法时,计算机输出的控制增量Δu(k)对应的是本次执行机构位置(例如阀门开度)的增量。
对应阀门实际位置的控制量,即控制量增量的积累
需要采用一定的方法来解决,例如用有积累作用的元件(如步进电机)来实现;而目前较多的是利用算式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算法每次输出与整个过去状态有关,计算式中要用到过去偏差的累加值
,容易产生较大的积累误差。
在实际过程控制中应将控制变量限制
在有限的范围内,即
。
如果计算机给出的控制量u在上述范围内,那么控制可以按预期的效果进行。
一旦超出上述范围,那么实际执行的控制量就不再是计算值。
因此将引起饱和(失控)效应。
在位置式PID控制算法中,“饱和效应”主要是由积分项引起的,故称为积分饱和。
这种现象在设定值发生突变时特别容易发生。
当设定值由R(t)突变到R(t)″时,若根据位置PID算出的输出量
,那么实际输出量u只能取上限值
(图4-4中曲线b),而不是计算值(图4-4中曲线a)。
此时由于输出量受到限制,偏差e将比正常情况下持续更长时间(即e(t)>0的正值)),而使式(4—5)的积分项进行不适当的积累,从而得到较大的累积值。
当偏差e(t)出现负值后(e(t)<0),由于积分项的累积值很大,还要经过相当长一段时间τ以后,u才可能脱离饱和区。
这种积分项的不适当的积累,就会使系统输出u(t)大幅度明显的超调和长时间的振荡,如图(4-4)所示。
[7]
克服积分饱和作用的修正算法很多,积分分离PID控制算法是其中之一。
当根据PID位置算法式(4—5)算出的输出量超出限制范围时,就不再把积分值累积计入积分项中,就等于去掉了积分作用,从而避免了过大的积分累积。
具体做法如下:
(1)
(1) 根据实际情况,人为设定一阈值ε>0。
(2)
(2) 当|e(k)|>ε时,也即偏差值|e(k)|比较大时,采用PD控制,可避免过大的超调,又使系统有较快的响应。
(3)(3) 当|e(k)|≤ε时,也即偏差值|e(k)|比较小时,采用PID控制,可保证系统的控制精度。
积分分离PID控制算法的表达式为:
(4-8)
图4-4系统存在积分饱和时控制器输出u(t)
其中β按下式取值:
(4-9)
采用积分分离PID控制算法后,控制效果如图(4-5)所示。
由图可见,采用积分分离PID控制算法使得控制系统的性能有了较大的改善。
2.遇限削弱积分PID控制算法
遇限削弱积分PID控制算法的基本思想是:
一开始就积分,当控制进入饱和区(即限制范围)以后,即停止积分,不再进行积分项的累加,而只执行削弱积分的运算。
因而,在计算u(k)时,先判断u(k-1)是否已超出限制值。
若u(k-1)>umax,则只累加负偏差;若u(k-1)这种算法可以避免控制量长时间停留在饱和区。
3.不完全微分PID控制算法
微分环节的引入,改善了系统的动态特性,但对于干扰特别敏感。
在误差扰动突变时,微分项如下:
(4-10)
其中:
当e(k)为阶跃函数时,uD(k)输出为:
uD(0)=KD,uD
(1)=uD
(2)=···=0
即仅第一个周期有输出,且幅值为KD,以后均为零。
该输出的特点为:
(1)微分项的输出仅在第一个周期起激励作用,对于时间常数较大的系统,其调节作用很小,不能达到超前控制误差的目的。
(2)uD的幅值KD一般比较大,容易造成计算机中数据溢出;此外uD过大、过快的变化,对执行机构也会造成影响(通常θ<
克服上述缺点的方法之一是在PID算法中加一个一阶惯性环节(低通滤波器) ,如图(4-6)所示,即可构成不完全微分PID控制。 对于图(4-6)所示的不完全微分PID结构,设它的传递函数为: (4-11) 将上式离散化并整理后得: 其中uP(k)与uI(k)与普通PID算式完全一致,只是uD(k)不同 (4-12) 在式(4-12)中,令 ,则 ;显然有α<1,所以1-α<1成立,则式(4-12)可简化为: (4-13) 当e(k)为阶跃(即e(k)=1,k=0,1,2,···)时,可求出: uD(0)=KD(1-α)[e(0)-e(-1)]+αuD(-1)=KD(1-α) uD (1)=KD(1-α)[e (1)-e(0)]+αuD(0)=αuD(0) uD (2)=αuD (1)=α2uD(0) · · · uD(K)=αuD(k-1)=αkuD(0) 由此可见,引入不完全微分后,微分输出在第一个采样周期内的脉冲高度下降,次后又按ekuD(0)的规律(α<1)逐渐衰减。 所以不完全微分能有效地克服上述不足,具有较理想的控制特性(见图(4-7))。 尽管不完全微分PID控制算法比普通PID控制算法要复杂些,但由于其良好的控制特性,近年来越来越得到广泛的应用。 4.微分先行PID控制算法 微分先行PID控制算法特点是只对输出量y(t)进行微分,而对设定值R不作微分。 这样在改变设定值时,输出不会改变,而被控量的变化通常总是比较缓和的。 这种输出量先行微分控制适用于设定值R频繁升降的场合,可以避免设定值升降时所引起的系统振荡,明显地改善了系统的动态特性。 微分先行PID控制的结构如图(4-8)所示。 在上述介绍的四种数字PID控制算式改进方法中微分先行法一般用于有较大纯滞后的系统;再将其余的几种算法结合所选对象的特点,本课题最终选择的PID控制算式是位置控制算法和积分分离PID控制算法的结合。 §4.2程序设计[15][21][17] §4.2.1程序框图 应用LabVIEW提供的功能软件实现PID控制功能的程序如图(4-9)所示。 图4-9PID控制功能程序流程图 §4.2.2程序说明 1.1. 数据采集子程序: 数据采集子程序的功能与前述相同(2.3.4程序流程图说明)。 2.滤波子程序: 同前(已在2.3.4程序流程图说明中有说明)。 3.PID控制子程序: 子程序包括偏差计算、位置PID算式计算、抗积分饱和措施等。 4.显示子程序: 将PID控制子程序中确定的PID控制曲线、设定值曲线、被控对象响应曲线及虚拟的PID控制器的控制按钮等加以显示。 5.PID控制器控制作用输出子程序: 将PID控制器的控制作用转换成执行机构所能接受的电压信号输出。 LabVIEW中PID工具中包括用于LabVIEW环境中开发控制系统的各种函数。 为了适应工程实际使用中的需要,还对式(4—1)做了必要的修正,并为用户提供接口,以便根据现场情况配置参数。 应用LabVIEW提供的功能软件实现PID控制功能的程序的前面板如图(4-10)所示,流程图如(4-11)所示。 图4-10PID控制程序前面板 §4.3程序的仿真试验[19][25][31] 为验证程序的准确性,在进行仿真时选择了三个对象,并利用LabVIEW提供的实时控制模块(RT模块)模拟对象的传递函数。 在进行PID控制程序仿真演示时,对原有的程序进行了如下的改动: 1.1. 设定值子程序: .将原有程序中测量值与设定值之间的差值(即偏差值)改为由单位阶跃信号替代。 2.2. 模拟对象环节子程序: 利用LabVIEW提供的实时控制模块(RT模块)模拟对象的传递函数。 PID控制功能演示程序流程图如图(4-12)所示。 §4.3.1仿真演示实例一 在LabVIEW环境下选择的传递函数为: (4-14) 这是一个一阶惯性环节,当PID参数整定为: δ=22%; =15s; =0s时,其仿真结果如图(4-13)所示。 在仿真过程中设定值采用的是方波信号。 §4.3.2仿真演示实例二 在LabVIEW环境下选择的传递函数为: (4-15) 这是一个二阶惯性环节,当PID参数整定为: δ=8.5%; =12s; =3s时,其仿真结果如图(4-14)所示。 在仿真过程中设定值采用的是单位阶跃信号。 若比例作用增加,即PID参数整定为: δ=2.5%; =12s; =3s; 若比例作用减弱,即PID参数整定为: δ=17%; =12s; =3s; 若积分作用减弱,即PID参数整定为: δ=8.5%; =30s; =3s; 若积分作用增强,即PID参数整定为: δ=8.5%; =6s; =3s; 若微分作用增加,即PID参数整定为: δ=8.5%; =12s; =16s; 若微分作用减弱,即PID参数整定为: δ=8.5%; =12s; =1.5s。 取上述参数时其仿真结果比较如图(4-15)所示。 §4.3.3仿真演示实例三 在LabVIEW环境下选择的传递函数为: (4-16) 这是一个具有纯滞后的一阶惯性环节,也就是在第二章中系统测试软件所选择的实验对象。 由自动控制理论可知,当系统内含有纯滞后环节时,可将纯滞后因子 用有理函数来近似。 我们知道一个指数函数可以用如下极限表示: [5] (4-17) 这就是说,纯滞后环节可以用无穷个具有极点为 值( )的一阶环节串联起来表示。 当然,为了简化起见常用近似公式,例如近似取n=3时则: (4-18) 即用三个一阶环节串联来近似。 对于式(4-17)的表示形式,n取得愈大则愈精确地近似理想值,但增加了分析计算时的复杂性。 指数函数的另一个近似公式是用马克劳林展开式,它由式(4-19)表示: (4-19) 在计算时,可以取前面几项。 如取一项则可写成: (4-20) 同理,也可以将式(4-16)近似表示为: (4-21) 当PID参数整定为: δ=23%; =360s; =90s时,其仿真结果如图(4-16)所示。 在仿真过程中设定值采用的是单位阶跃信号。 若比例作用增加,即PID参数整定为: δ=2%; =360s; =90s; 若比例作用减弱,即PID参数整定为: δ=50%; =360s; =90s; 若积分作用减弱,即PID参数整定为: δ=23%; =720s; =90s; 若积分作用增加,即PID参数整定为: δ=23%; =180s; =90s; 若微分作用增加,即PID参数整定为: δ=23%; =360s; =180s; 若微分作用减弱,即PID参数整定为: δ=23%; =360s; =40s; 取上述参数时其仿真结果比较如图(4-17)所示。 a)对象响应曲线b)调节器输出曲线 图4-15取不同控制参数时二阶惯性环节仿真结果的比较 a)对象响应曲线b)调节器输出曲线 图4-17取不同控制参数时具有纯滞后的一阶惯性环节仿真结果的比较 §4.3.4仿真结果分析[19][25] 1.基本控制规律对过渡过程的影响[8][9] 控制规律就是控制器接受了输入的偏差信号后,控制器的输出随输入变化的规律,在工业自动控制系统中最基本的控制规律有: 比例控制、积分控制、微分控制。 (1)比例控制规律: 比例控制规律是控制器输出的变化量与被控参数的偏差值成比例的关系,常用P表示。 工业上所用的控制器,都用比例度δ(也称比例带)来表示比例控制作用的强弱。 比例度可以用下式来表示: (4-22) 式中e——控制器输入变化量(即偏差); P——控制器的输出变化量; ——仪表的量程; ——控制器输出的工作范围。 比例度就是使控制器输出变化全范围时,输入偏差改变了满量程的百分数。 当仪表的量程和控制器输出的工作范围相等时,比例度就和仪表的放大倍数Kc互为倒数关系,即: (4-23) 比例控制规律就是控制器的输出与输入成比例关系,只要控制器有偏差输入,其输出立即按比例度变化,因此比例控制作用及时迅速;但只是具有比例控制规律的控制系统,当被控参数受干扰影响而偏离给定值后,控制器的输出必定改变,在系统稳定后,由于比例关系,被控参数就不可能回到原先数值上,即存在残余偏差—余差。 余差是比例控制器应用方面的一个缺点,在控制器的输出变化量相同的情况下,比例度δ越小(即Kp越大),余差越小。 但是若比例度过分减小,系统容易振荡。 比例度对控制过程的影响如图(4-18)所示。 由图中可以看出,比例度越大,过渡过程曲线越平稳,但余差也越大。 比例度越小,则过渡过程曲线越振荡。 图4-18比例度对过渡过程的影响 (1) (1) 积分控制规律: 积分控制规律是控制器的输出变化与输入偏差的积分成比例关系,常用I表示。 由于积分作用是偏差对时间的积分,因此积分作用的输出与时间的长短有关。 在一定偏差作用下,积分作用的输出随时间的延长而增加,因此积分作用有“慢慢来”的特点。 由于这一特点,调节不及时,使被调参数的超调量增加,操作周期和回复时间增长,这些对控制是不利的。 因此积分作用往往与比例作用一起使用。 当然若积分时间Ti减小些,被调参数的过渡过程会有所改善,但是Ti过小,将会导致系统激烈的振荡;也是由于这一特点,对一个很小的偏差,虽然在很短的时间内,积分作用的输出变化很小,还不足以消除偏差,然而经过相当长的时间后,积分作用的输出总可以增大到足以消除偏差的程度。 因此积分作用具有消除余差的能力。 图(4-19)是表示在同样的比例度下积分时间对过渡过程的影响。 由图可以看出,积分时间过大,积分作用不明显,余差消除很慢(见曲线3);积分时间过小,过渡过程振荡太剧烈,稳定程度降低(见曲线1)。 图4-19积分时间对过渡过程的影响 (2) (2) 微分控制规律: 微分控制规律是控制器的输出与偏差变化的速度成正比,常用D表示。 由于微分作用的输出与偏差变化的速度成正比,因此对于一个幅度很小,甚至为零的偏差,若变化速度很快,微分作用的输出可以很大。 这种根据偏差变化的趋势,提前采取控制措施,是微分作用的特点,称为超前。 由于微分作用具有超前的特点,因此微分作用用的恰当,被控参数的超调量减小,操作周期和回复时间缩短,系统的质量可得到全面提高。 特别对滞后较大的对象效果更加显著。 微分时间Td越长,微分作用越强;但微分时间过长时,容易引起系统的不良振荡。 微分时间对过渡过程的影响如图(4-20)所示。 由图可以看出,微分作用具有抑制振荡的效果。 在同一个控制系统中,增加适当的微分作用后可以提高系统的稳定性,减少被控参数的波动幅度。 但是微分作用也不能加得过大,否则由于控制作用过强,不仅不能提高系统稳定性,反而会引起被控参数大幅度的振荡。 图4-20微分时间对过渡过程的影响 2.仿真结果分析 由图(4-15)仿真结果显示: (1)因比例作用增加,过渡过程曲线振荡次数增加,过渡过程时间也相应延长;若比例作用减弱,过渡过程曲线相应较平稳。 (2)因积分作用减弱,则在过渡过程曲线上显示出积分作用不明显,余差消除较慢,过渡过程时间延长;若积分作用增强,容易消除余差,可使过渡过程时间适当缩短。 (4)(4) 因微分作用增加,过渡过程振荡幅度也有所增大;若微分作用减弱,由过渡过程曲线可见,系统的平稳度有所提高,过渡过程时间有所减少。 由图(4-17)仿真结果显示: (1)比例作用对系统性能的影响与图(4-15)的结果一样。 (2)积分作用减弱,过渡过程时间延长;若将积分作用增强,容易消除余差,使过渡过程时间相应有所减少。 (3)微分作用增加,控制器的输出信号变化明显增加,说明执行机构动作频繁,过渡过程振荡幅度也有所增大;将微分作用减弱,系统的平稳度有所提高。 综合观察、分析图(4-15)和图(4-17)所示的系统过渡过程响应曲线,由基本控制规律对过渡过程的影响可知,应用LabVIEW所实现的虚拟控制器,基本具有模拟控制器的控制功能,能够完成对一阶惯性系统、二阶惯性系统的控制功能。
展开阅读全文
相关搜索
|