第一篇:先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问
先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问
因为课题需要,刚开始学习专家控制器matlab仿真,用的是刘金锟 先进PID控制及MATLAB仿真。有一些问题想和大家交流,向大家请教。
1、第三章 专家PID中,第一条规则应按最大输出。在p96例3-1中输出分别为0.45、0.40、0.12、0.01。如果我的输入信号不是阶跃信号,而是从0到1缓慢变化的s形曲线,如v=[1-cos(pi/50*t)]*735。输出还可以设定为0.45、0.40、0.12、0.01吗?
2、专家PID控制中第二条规则当误差处在增大阶段,前面讲的输出为,而例3-1中rule2输出u(k)=u_1+1.5*kp*x(1)。这与上式为什么不同?我觉得kp*x(2)+ki*x(1)+kd*[x(2)-x2_1]等于u(k)的导数,对不对?它与kp*x(1)相等吗?为什么在例3-1中不用 ?
3、假设某时刻误差处在变大阶段,且x(1)=0.25。程序执行时首先执行rule1,因为误差大于0.2,则u(k)= 0.12。然后再判断rule2,因为条件也满足,误差值在变大,也大于0.05所以u(k)又变为u_1+1.5*kp*x(1)。这样程序是不是存在二义性?而且在我应用此算法仿真一五阶系统时(详见附件),rule5误差值小于0.001,则输出震荡,而改为0.1,则输出正常。这样,很多时候,只要误差小于0.1,则执行rule1,u(k)先等于0.1,再执行rule2,等于u_1+1.5*kp*x(1),再执行rule5,等于0.4*x(1)+0.475*x(3)。这样,使得rule2、rule4根本就不起作用。我觉得各误差段应既无遗漏又不重叠。不知我的理解对否?
4、本来我对采样时间的理解是采样时间越短,仿真精度越高。但我发现只改变采样时间,其它不变,则输出大不相同,甚至震荡。一开始我以为我的控制器没设计好,后来我找了书上不少例子试了试,例3-
1、1-
9、1-12都有此现象。这怎么解释?那这样仿真,和其他控制方法比较时还有可信度吗?也必须在相同采样时间下吗?
5、在simulink模型仿真时,怎样设置采样时间?在configuration parameter中,有sample time,但都不能设定具体值。在solver中,当采用固定步长时,不能设置采样时间。当采用变步长ode45时,max step time和min step time又不能设置为相等。难道只有采用默认采样时间?而默认的又是多少呢?
6、input delay和transport delay、iodelay到底有什么区别啊?带延迟环节的传递函数应该用哪个来表示,还是都可以?
7、在例3-1加入滞后,sys=tf(5.235e005,[1,87.35,1.047e004,0],'inputdelay',76000000);结果输出和不加滞后完全一样,不管滞后有多大。我自己的控制器也是如此。是专家PID抵抗滞后能力强,还是滞后加的不对?
8、例3-2.s.m中最后一句sys=[sys;x(3)];是什么意思?输出为什么是加上x(3)的增广矩阵?
这些问题困扰我好长时间了,百思不得其解,书上也找不到相关的资料。如能解惑,不胜感激。谢谢
我的专家控制器
附:我的专家控制器 %Expert PID Controller clear all;close all;ts=0.001;sys=tf(158.91e6,[0.7596 133.728 1.405e4 6.237e5 1.015e7 9.015e6]);dsys=c2d(sys,ts,'z');[num,den]=tfdata(dsys,'v');u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0;y_1=0;y_2=0;y_3=0;y_4=0;y_5=0;x=[0,0,0]';x2_1=0;kp=1.44;ki=1.28;kd=0.008;error_1=0;for k=1:1:5000 time(k)=k*ts;
rin(k)=1;%Tracing Jieyue Signal u(k)=kp*x(1)+kd*x(2)+ki*x(3);%PID Controller %Expert control rule if abs(x(1))>0.8 %Rule1:Unclosed control firstly u(k)=0.45;elseif abs(x(1))>0.40 u(k)=0.30;elseif abs(x(1))>0.20 u(k)=0.2;elseif abs(x(1))>0.10 u(k)=0.03;
elseif abs(x(1))<=0.05 %Rule5:Integration separation PI control u(k)=0.25*x(1)+1.75*x(3);
elseif x(1)*x(2)>0|(x(2)==0)%Rule2 if abs(x(1))>=0.1 u(k)=u_1+1.5*[kp*x(2)+ki*x(1)];else u(k)=u_1+0.6*[kp*x(2)+ki*x(1)];end elseif x(1)*x(2)<0&x(2)*x2_1<0 %Rule4 if abs(x(1))>=0.1 u(k)=u_1+2*kp*error_1;else u(k)=u_1+0.4*kp*error_1;end end
if(x(1)*x(2)<0&x(2)*x2_1>0)|(x(1)==0)%Rule3 u(k)=u(k);end
%Restricting the output of controller if u(k)>=2 u(k)=2;end if u(k)<=0 u(k)=0;end %Linear model yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3-den(5)*y_4-den(6)*y_5+num(2)*u_1+num(3)*u_2+num(4)*u_3+num(5)*u_4+num(6)*u_5;error(k)=rin(k)-yout(k);
%----------Return of PID parameters------------% u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_5=y_4;y_4=y_3;y_3=y_2;y_2=y_1;y_1=yout(k);
x(1)=error(k);% Calculating P x2_1=x(2);x(2)=(error(k)-error_1)/ts;% Calculating D x(3)=x(3)+error(k)*ts;% Calculating I error_1=error(k);end figure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)');ylabel('rin,yout');grid on;刚学PID的一点想法 PID
这几天稍微看了一点点的PID,今天有了小小头绪,于是,就想把自己的想法写出来,欢迎拍砖。
最开始的时候,是先了解什么是PID。PID实指“比例proportional”、“积分integral”、“微分derivative”,如果我们要求被控制的对象最终趋于一个稳定的结果,一般就可以使用PID算法。假设说,有一辆速度为1m/s的小车,我们要求他的速度改变为5m/s,要完成这样的一件事,我们必须要有,1.小车驱动装置(用程序控制它输出多大的电压,电压决定驱动的马力),2.被驱动器控制的部分(即小车),3.检测当前速度的装置(当前速度与目标速度的差称为误差)。本来,我们可以给小车一个驱动力让小车加速,直到检测到小车速度达到5m/s,撤去驱动力。然而,这样做会带来几个问题。1,当小车速度达到5m/s时,从装置检测到这个速度,通知控制器,让控制器改变输出的电压,这一个过程需要耗费一定时间,在这个时间里面,小车速度可能增加了不少。2,撤去驱动力后,外界条件如摩擦会让小车速度进一步改变。PID算法可以在一定误差内解决这些问题。
使用PID算法时,大致是这样的。每一个采样周期,通过速度检测装置获得当前速度,传入程序,通过程序计算得到电压控制小车得到新速度。下一个采样周期又把新速度传入,获得新电压,再传入速度,再获得电压,如此反复。
PID算法的关键,是如何根据当前得到的速度值,输出一个“恰当”的电压,以致小车最终能够趋于稳定。
PID算法采用比例,积分,微分三种方法进行控制。三种方法都有自己对应的一个常量(pconst,iconst,dconst)。这三个变量都需要在实验中多次尝试得出。
一般地,先把与算法相关的量放入一个结构体,方便调用。
srtuct PID
{
double pconst, //比例控制常量
iconst, //积分控制常量
dconst;//微分控制常量
double ErrorSum;//误差累计
double iMax,iMin;//积分上下限
double Vnew;
//当前速度
};
比例:
Vnew = GetV();
//获得当前速度
error = aim当前速度
pTerm = error*pconst;//比例项的值就是误差乘上比例常量
Motor(pTerm);//让电机根据得出的值工作
有时候,我们增大比例常数可以让小车更快的到达目标速度,但是过大的比例常数又容易产生过冲,即速度超过目标速度5m/s,然后再减速,再加速,在减速。这样,系统产生振荡,然而,振荡的结果不一定能趋于稳定。
积分:
Vnew = GetV();
//获得当前速度
ErrorSum +=(aimVlast)*dconst;//当前速度-上次速度,再乘微分常数
Vlast = Vnew;
//保留本次速度,下次当成上次速度使用
Motor(dTerm);//让电机根据得出的值工作
同样,微分控制也是与比例,积分一起使用,形成PID算法,Motor(pTerm+iTerm+dTerm)。
微分控制相当强大,然而也很容易出问题。具体调控和整定我想等到实际应用时再学习。
PID控制是工程控制中最常用的控制算法,最简单的PID控制就是
其实质就是一个关于比例,积分,微分控制公式
注:上式中第一个Td应改为Ti,为笔误.其传递函数为G(s)=U(s)/error(s)=Kp*[1+(1/Ti*s +Td*s)}
当反馈中有误差存在时,(1)比例坏节第一时间对误差进行放大送给控制器,(2)而积分环节扮演的角色就是当有误差时误差随着时间的增加就会越来越大,(3)而微分环节所扮演的角色就是当误差变化向减小方向时(即(e(t)-e(t-1)<0)),微分的作用就是负方向的,而当误差变化向较大方向变化时(即e(t)-e(t-1)>0),微分作用就是正方向的且误差变化(e(t)-e(t-1)的值)越快那么微分作用就越大。
从以上三条中我们可以得到一个很有效的信息那就是比例积分对误差的作用都是正作用的,但是微分却不同,微分与误差没有关系只与系统加速与减速有关,若系统在加速那么微分作用为正,若系统为减速那么微分作用为负向,它可以有效地对系统进行动态的调节,对系统的惯性进行有效的抑制。
PID参数整定 [原创 2011-05-04 15:19:47] 字号:大 中 小
上一章简单介绍了自动调节的发展历程。搞自动的人,许多人对如何整定PID参数感到比较迷茫。课本上说:整定参数的方法有理论计算法和经验试凑法两种。理论计算法需要大量的计算,对于初学者和数学底子薄弱的人会望而却步,并且计算效果还需要进一步的修改整定,至今还有人在研究理论确认调节参数地方法。所以,在实际应用过程中,理论计算法比较少。
经验试凑法最广为人知的就是第一章提到的整定口诀了。该方法提供了一个大致整定的方向形性思路。当时整定参数,需要两只眼睛盯着数据看,不断地思考琢磨。上世纪90年代的时候,我就曾经面对着I型和II型仪表,就这么琢磨。如果是调节周期长的系统,比如汽温控制,需要耗费大量的时间。
科学发展到了今天,DCS应用极其普遍,趋势图收集极其方便。对于单个仪表,也大都有趋势显示功能。所以,我们完全可以借助趋势图功能,进行参数整定。
我们可以依靠分析比例、积分、微分的基本性质,判读趋势图中,比例、积分、微分的基本曲线特征,从而对PID参数进行整定。这个方法虽然基本等同于经验试凑法,但是它又比传统的经验试凑法更快速更直观的,更容易整定。因而,我把这种依靠对趋势图的判读,整定参数的办法,称之为: 趋势读定法。趋势读定法三要素:
设定值、被调量、输出。三个曲线缺一不可。串级系统参照这个执行。
这个所谓的趋势读定法,其实早就被广大的自动维护人员所掌握,只是有些人的思考还不够深入,方法还不够纯熟。这里我把它总结起来,大家一起思考。
这个东西看着新鲜,其实一点都不高深,上过初中的人,只要受过严格训练,都可以成为整定参数的好手。什么?初中生理解积分微分的原理么?恩,初中生没有学过微积分,可是一旦你给他讲清楚微积分的物理意义,然后认真训练判断曲线的习惯和能力,完全可以掌握好PID的参数整定。苦功夫还要花的。必须要经过比较严格的训练。怎么才算受过严格训练呢?我不了解别人是怎么训练的,我只根据我自己理解的情况,把我认为正确的理解给大家讲述一下。咱既然说了,初中生都可以理解,那么咱依旧避免繁琐的公式推导,只对其进行物理意义分析。
提前声明:这些物理意义的分析,非常简单,非常容易掌握,但是你必须要把下面一些推导结论的描述弄熟弄透,然后才能够进行参数整定。很简单的哦。在介绍PID参数整定之前,先介绍几个基本概念: 2-1 几个基本概念
单回路:就是只有一个PID的调节系统。
串级:一个PID不够用怎么办?把两个PID串接起来,形成一个串级调节系统。又叫双回路调节系统。在第三章里面,咱们还会更详细的讲解串级调节系统。在此先不作过多介绍。主调:串级系统中,要调节被调量的那个PID叫做主调。
副调:串级系统中,输出直接去指挥执行器动作的那个PID叫做副调。主调的输出进入副调作为副调的设定值。一般来说,主调为了调节被调量,副调为了消除干扰。
正作用:比方说一个水池有一个进水口和一个出水口,进水量固定不变,依靠调节出水口的水量调节水池水位。那么水位如果高了,就需要调节出水量增大,对于PID调节器来说,输出随着被调量增高而增高,降低而降低的作用,叫做正作用。
负作用:还是这个水池,我们把出水量固定不变,而依靠调节进水量来调节水池水位。那么如果水池水位增高,就需要关小进水量。对于PID调节器来说,输出随着被调量的增高而降低的作用叫做负作用。
动态偏差:在调节过程中,被调量和设定值之间的偏差随时改变,任意时刻两者之间的偏差叫做动态偏差。简称动差。
静态偏差:调解趋于稳定之后,被调量和设定值之间还存在的偏差叫做静态偏差。简称静差。回调:调节器调节作用显现,使得被调量开始由上升变为下降,或者由下降变为上升。阶跃:被观察的曲线呈垂直上升或者下降,这种情况在异常情况下是存在的,比如人为修改数值,或者短路开路。
2-2 P —— 纯比例作用趋势图的特征分析
前面说过,所谓的P,就是比例作用,就是把调节器的输入偏差乘以一个系数,作为调节器的输出。
温习一下:调节器的输入偏差就是被调量减去设定值的差值。
一般来说,设定值不会经常改变,那就是说:当设定值不变的时候,调节器的输出只与被调量的波动有关。那么我们可以基本上得出如下一个概念性公式: 输出波动=被调量波动*比例增益
注意,这只是一个概念性公式,而不是真正的计算公式。咱们弄个概念性公式的目的在于:像你我这样的聪明人,不屑于把精力用在考证那些繁琐的公式上面,我们关注什么呢?我们关注的是公式内部的深层含义。呵呵。我们就来努力挖掘它的深层含义。
通过概念性公式,我们可以得到如下结论,对于一个单回路调节系统,单纯的比例作用下: 输出的波形与被调量的波形完全相似。
纯比例作用的曲线判断其实就这么一个标准。一句话简述:被调量变化多少,输出乘以比例系数的积就变化多少。或者说:被调量与输出的波形完全相似
为了让大家更深刻理解这个标准,咱们弄几个输出曲线和被调量曲线的推论:
1、对于正作用的调节系统,顶点、谷底均发生在同一时刻。
2、对于负作用的调节系统,被调量的顶点就是输出的谷底,谷底就是输出的顶点。
3、对于正作用的调节系统,被调量的曲线上升,输出曲线就上升;被调量曲线下降,输出曲线就下降。两者趋势完全一样。
4、对于负作用的调节系统,被调量曲线和输出曲线相对。
5、波动周期完全一致。
6、只要被调量变化,输出就变化;被调量不变化,不管静态偏差有多大,输出也不会变化。上面6条推论很重要,请大家牢牢记住。记住不记住其实没有关系,只要你能把它溶化在你的思想里也行。
溶化了么?那我出个思考题:
1、被调量回调的时候,输出必然回调么?
2、被调量不动,设定值改变,输出怎么办?
3、存在单纯的比例调节系统么?
4、纯比例调节系统会消除静差么? 第一条回答:是。
第二条回答:相当于被调量朝相反方向改变。你想啊,调节器的输出等于输入偏差乘以一个系数,设定值改变就相当于设定值不变被调量突变。对吧?
第三条回答:是。在电脑出现之前,还没有DCS,也没有集中控制系统。为了节省空间和金钱,对于一些最简单的有自平衡能力的调节系统,比如水池水位,就用一个单纯的比例调节系统完成调节。
第四条回答:否。单纯的比例调节系统可以让系统稳定,可是他没有办法消除静态偏差。那么怎么才能消除静态偏差呢?依靠积分调节作用。为了便于理解,咱们把趋势图画出来分析。见图2:
图2:比例作用下的调节曲线
假设被调量偏高时,调门应关小,即PID为负作用。在定值有一阶跃扰动时,调节器输入偏差为-△e。此时Tout 也应有一阶跃量△e ·(1 / δ),然后被调量不变。经过一个滞后期t2,被调量开始响应Tout。因为被调量增加,Tout也开始降低。一直到t4时刻,被调量开始回复时,Tout才开始升高。两曲线虽然波动相反,但是图形如果反转,就可以看出是相似形。
一般来说,积分作用往往被初学者过度重视。因为积分作用造成的超调往往被误读为比例作用的不当。
而对于一个很有经验的整定高手来说,在一些特殊情况况下,积分作用往往又被过度漠视。因为按照常理,有经验的人往往充分理解积分作用对静态偏差的作用,可是对于积分作用特殊情况下的灵活运用,却反而不容易变通。
以前看史书,毛泽东曾指着邓小平对一个苏联人说:瞧见那个小个子了没有?这个人很了不起,既有原则性,又有灵活性。
瞧见没有,最高明的政治家们都注重原则性和灵活性之间的微妙的关系,咱们搞自动的,实际上也离不开原则性和灵活性啊。当然了,对于一般的初学者,还不到感悟灵活性的时候。初学者只有老老实实先把原则掌握再说。灵活性是建立在原则的基础之上的。就如同现实生活中一样,没有原则的灵活是什么?老滑头。
什么时候才可以灵活?等你能够彻底解读调节曲线,并能够迅速判断参数大小的时候,才可以稍微尝试了解灵活性。千万不要耍滑头哦。
2-6 比例积分微分作用的特征曲线分析
2-7 整定参数的几个原则
大家看过百家讲坛里面王广雄教授讲自动调节系统么?我没有看过,很遗憾。不过我听别人说王教授这么说自动调节系统:她里面处处闪烁着哲学的光辉。这个光辉我也经常感觉得到。并且我觉得,似乎它不仅仅是一门技术,而且还是一门艺术。因为对于一个复杂的自动调节系统,你永远不能确定哪个参数是最好的。只要你愿意下功夫去整定,似乎总有更适合的参数等着你。而等到一个系统遇到了很复杂的大干扰的时候,一般情况下,你总想修改已经极其膨胀了的控制策略,效果虽有好转,可总是难以适应各种工况,参数愈来愈多,整定愈来愈复杂。可是等到你某一天突然灵光一闪,想到一个新鲜思路的时候,你激动得恨不得马上从床上爬下来要去应用,第二天你发现既不需要修改控制策略,应用效果又出奇的好的时候,你会感到一种艺术的成就感和满足感。
这就是自动调节系统的魅力。它需要你在各个问题、各个参数之间反复权衡,在灵活性和原则性之间思想游走,在全面和孤立之间合并分解。机械与权衡的变通、灵活性和原则性的关系前面已经说过了。下面还要说说全面和孤立的关系。对于一个复杂调节系统,既要全面看待一个系统,又要学会孤立看待一个系统。原则与灵活,全面与孤立,都是个辩证的问题。
其实谁都知道要全面看待问题这个说法。要全面了解整个调节系统,要对工艺流程、测量回路、数据处理DCS或者PLC、控制调节过程、PID各个参数、操作器、伺服放大器、执行器、位置反馈、阀门线形等各个环节都要了解,出了问题才能够快速准确的判断。可是孤立分析问题这个提法,是不似有点新鲜?怎样才算孤立看待问题? 我们首先要把复杂的问题简单化,简单化有利于思路清晰。那么怎样孤立简化呢?
1、把串级调节系统孤立成两个单回路。把主、副调隔离开来,先整定一个回路,再全面考虑;
2、至于先整定内回路还是先整定外回路,因系统而异。一般来说,对于调节周期长的系统可以先整定内回路。我们还可以手动调整系统稳定后,投入自动,先整定内回路;
3、把相互耦合的系统解耦为几个独立的系统,在稳态下,进行参数判断。让各个系统之间互不干扰,然后再考虑耦合;
4、把P、I、D隔离开来。先去掉积分、微分作用,让系统变为纯比例调节方式。然后再考虑积分,然后再考虑微分。
在学习观察曲线的时候,要学会把问题简单化,孤立看待系统;在分析问题的时候,要既能够全面看待问题,也能够孤立逐个分析。咱们下面讨论如何整定参数的时候,也是先要把参数孤立起来看待的。
以前曾经有一个化工的朋友说:自动调节系统哪有这么复杂?无非是一个PID,对其参数进行整定一番就可以了。我对他说:很不幸,你工作在一个简单调节系统的环境下,你没有真正接触过复杂的自动调节系统。是的,火电厂自动调节系统要复杂些。可惜我没有机会接触更为复杂的自动调节系统,深为遗憾!至今为止,我所接触到最复杂的自动调节系统,无非是火电厂的蒸汽温度、汽包水位、蒸汽压力,还有一个大杂烩——协调。至于脱硫方面的,都交给运行自行调节,懒得去管。2-8 整定比例带
有人说:很麻烦,我的调节系统不容易看到调节周期。哦,恭喜你,你的系统整定工作做得很好。
不管是被调量还是调节输出,其曲线都不应该有强烈的周期特征。
曾经有个人跟我说:你看我的调节系统整定得多好,被调量的曲线简直跟正弦波一样好看。我回答说:不用问,调节输出也跟正弦波一样吧?他说是。那你的执行机构还不跟正弦波一样不能歇着啊?这样的调节系统的整定工作是不够好的,还有优化空间的。
自动调节的困难还在于:即使是很老练很在行的整定者,也不见得整定效果就很好。近两年我见了一些自动调节的论文,有的论文中附有调节效果曲线。根据我的分析,有一些论文所表现的调节质量并不够好,还有很大的参数优化空间。
有许多人看系统难以稳定,就认为是控制策略的问题,就去修改控制策略。最终使得控制策略庞大臃肿。控制策略臃肿的不利后果有三个:
1、不利于检查问题和整定参数,程序越复杂越不利;
2、容易出现编程错误甚至前后矛盾;
3、增加了系统负担。DCS系统要求单机负荷率要低。DCS中,影响负荷率的最大因素就是模拟量运算。自动调节系统的模拟量运算最大。所以,臃肿的调节系统增加了系统负荷率。具体的论文就不说了。只说最近论坛上经常对给水三冲量调节系统发表质疑。我个人认为:给水三冲量自动调节系统是很完善很完美的,你之所以觉得不够好,是因为你没有把参数整定好。如果你不认可,我给你整定,保证能让你的系统在经典的三冲量调节系统下,运行得很好。
所以能够通过整定参数解决的问题,最好不通过控制策略来解决。所以,就要求我们广大的自动调节工作者,在整定参数方面打好基本功。
我说过,我感到整定参数不仅仅是一门技术,而且像一门艺术。因为“艺无止境”。2-9 整定积分时间
前面咱们已经说过,积分作用最容易被人误解。一个初学者往往过分注重积分作用,一个整定好手往往又漠视积分作用。咱们先对初学者说怎么认识积分作用。
对于主调来说,主调的目的就是为了消除静态偏差。如果能够消除静态偏差,积分作用就可以尽量的小。
在整定比例作用的时候,积分作用先取消。比例作用整定好的时候,就需要逐渐加强积分作用,直到消除静差为止。
我们需要注意的是:一般情况下,如果比例参数设置不合理,那么静差也往往难以消除。在没有设置好比例作用的时候,初学者往往以为是积分作用不够强,就一再加强比例作用,结果造成了积分的干扰。
那么积分作用设置多少合理?咱们还要拐回头,看第2-5节。为了查看方便,我重新把图5粘贴过来。
这个区域叫做积分拐点。
积分拐点这个概念很重要,输出的拐点不能比积分拐点更靠后 为什么积分要这么弱? 当被调量回调的时候(t5时刻),说明调节器让执行机构发挥了调节作用,此时调节机构的开度足以控制被调量不会偏差更大,为了消除静态偏差,可以保持这个开度,或者让执行机构稍微继续动作一点即可。如果此时被调量回调迅速,则说明执行机构的调节已经过量,那么必须也要让执行机构回调,执行机构的回调是怎样产生的?是比例作用克服了积分作用而产生的,是比例和积分的叠加:Tout(δ)+Tout(i)。而此时Tout(δ)和Tout(i)所调节的方向是不一样的,一个为正,一个为负。
从上面的叙述,我们还可以验证前面的一个推理:积分作用和比例作用是相对的。当比例作用强的时候,积分也可以随之增强;比例作用弱的时候,积分也必须随之下调。积分作用只是辅助比例作用进行调节,它仅仅是为了消除静态偏差。
还是那句话:搞自动的要善于灵活处理问题,一方面要把握原则,一方面要有灵活性。切不可因为刚才调好了积分作用,就把积分参数固定死再也不变了。积分作用设置的关键在于t6的位置,要记住:不能超过积分拐点。
对于积分作用在特殊情况下的妙用,下一章会提到。咱现在还是牢牢掌握原则吧。2-10 整定微分作用
微分作用比较容易判断,那就是PID输出“毛刺”过多。
一般来说,微分作用包含两个参数:微分增益和微分时间。实际微分环节在前面已经说过。图4就是实际应用中的微分环节。
其实理想的微分环节并不是这样的。当阶跃扰动来临的时候,理想微分环节带来的调节输出是无穷大的。如下图所示:
理想微分环节
为了工程应用方便,人们设计了实际微分环节。微分的目的许多人都知道:它具有超前调节的功能。
微分为什么具有超前调节作用?
1、波动来临时,不管波动的幅度有多大,只要波动的速度够大,调节器就会令输出大幅度调整。也就是说,波动即将来临的时候,波动的征兆就是被调量的曲线开始上升。对于比例和积分作用来说,开始上升不意味着大幅度调节;对于微分作用来说,开始上升就意味着调节进行了,因为“开始”的时候,如果速度上去了,输出就可以有一个大幅度的调整。这是超前调节的作用之一。见图6的T8时刻。
2、波动结束后,如果调节器调节合理,一般被调量经过一个静止期后,还会稍微回调一点。在被调量处于静止期间,因为微分时间的作用,不等被调量回调,调节器首先回调。这是微分的超前作用之二。见图6的T7时刻。
在微分增益增大的时候,一定要考虑到微分时间的调整。否则调节曲线上会有很多毛刺。毛刺直接影响到执行机构的频繁动作,一般来说,它是有害的。
好的调节效果,往往在调节曲线上是看不到毛刺的。只可以在输出曲线上看到一个突出的陡升或者陡降。
要合理利用微粉增益和微分时间的搭配,会取得很好的调节效果。有许多人牢牢记住了“微分的超前调节作用”,只要觉得系统不够快,就会加微分。这是一种懒人的思维。系统快不快不能看表面现象,有许多系统往往是参数整定不好造成的震荡。震荡发生的时候,往往急得初学者恨不得马上让系统回调,不能马上回调,就想到了微分。要记住:震荡的产生可能与三个参数都有关。一定要认真判读震荡曲线的特征,分辨是那个因素造成的,然后对症下药才能够抑制震荡。
还有一些人不管三七二十一,把所有的系统都使用比例积分微分。比例积分可以都使用,但有些系统使用微分是不恰当的。微分的使用条件有:
1、被调量是水位、气压、风压的调节系统不宜使用微分。它们本身的数值容易受各种因素影响,即使稳定的系统,被调量也很难稳定在一个数值。微分作用会因为被调量的小波动,使得输出大幅度来回动作,形成干扰,而且对执行机构也不利;
2、被调量有微小扰动的时候,要先消除扰动再使用微分。
3、系统有大迟延的情况下应使用微分。
微分作用是最容易判断的。但是对于一个熟练整定PID参数的人来说,怎样充分发挥微分参数的“超前调节”作用,并且不增加对系统有害的干扰,仍旧是一个需要长久思考的问题。有的系统把微分作用分出调节器以外。比如火电厂主汽温度控制,许多厂家用了“微分导前调节”。所谓的“微分导前”,就是把微分分出调节器,专门对温度前馈量进行微分运算,然后把运算的结果叠加到PID的输出,去控制执行机构。
使用微分导前而不使用串级调节系统,有它特殊的地方。目前,许多人对于到底是用微分导前还是串级很迷惑,这个问题在下一章我们会讲到。这里暂略不表。
2-11 比例积分微分综合整定 一个精通参数整定的人,在具体草整定参数的时候,要熟悉系统工艺原理,更要熟悉系统操作。对待一个复杂系统如何操作的问题,整定参数的人甚至比专业的运行操作员更知道怎么操作,比他们更熟练的进行手工干扰。因为只有我们知道怎样操作是正确的,才能够知道PID发出的指令是否正确的,才能够知道怎样修改PID参数。另外,运行操作员往往抱着一种急切的心理,看到被调量偏差大,恨不得一下子调正常。心情可以理解,往往偏离了正常的调节方法。我们除了要整定参数外,有时候还要担负运行操作讲解员的责任。虽然在整体系统上我们不如他们,但是具体操作上,我们的理解有比他们强的地方。互相沟通才能共同进步,才能搞好系统。
同时,对于系统工艺操作的理解,对于实际发生的各种干扰问题,运行操作员又比我们更熟悉。所以,我们还要虚心向他们请教。系统发生了波动,到底是什么原因造成的?什么因素之干扰的主要因素?怎样操作弥补?了解清楚之后,再加上我们的分析,才能得到最真实的资料。
我们要记住:沟通是双向的。切入正题,说说综合整定。
假设有一个水池,上面一个进水管下面一个排水管。进水管的流量不大确定,有时候稳定,有时候有波动。我们要调节排水阀的开度来调整水池水位。
如果水位高,我们要开排水阀放水。如果我们想要迅速平抑水位,那就要大开排水阀。大开排水阀造成水位急剧降低,这时候我们该怎么办?水位急剧降低表明排水阀开过度了,也就是比例带过小,水位急剧降低需要我们稍微关闭排水阀,否则水位按照目前降低的速度来看,有可能造成水位过低。那么,关闭排水阀属于比例带的调节作用。为什么?我们还记得么?比例作用趋势图的特征是:输出曲线和被调量是相似形。我们这里调节器是正作用,那么水位急剧降低,我们的排水阀也应该急剧关闭。
比例先生比较规矩,干事情循规蹈矩,他的行为准则是一切跟着偏差走。他总是看偏差的脸色行事,设定值不变的情况下,也就是看被调量的脸色了。被调量怎样走,他就怎样走,一点都不知道变通。太不浪漫了。
我们这个系统还有积分作用存在。积分女士比较自私,眼光也短,比例作用总说她不顾全大局。她说:我不管你什么大局小节,只要偏差存在我就要一直积下去。
问题出来了:水位急剧降低,需要稍微关闭排水阀才能抑制水位降低的速度,可是积分女士这时候因为偏差大,反而更加起劲的要开排水阀。头疼!
作为调节器统揽全局的你该怎么办?你要权衡两者的作用。水位急剧降低,说明了比例过强,你要批评比例先生,让他再谨慎点,让比例带大点。积分小姐也别得意,你也有问题。你的问题在于不顾大局,水位都恁低了你还要开,你的积分时间也要大点。
比例先生和积分小姐的意见一综合叠加,决定:如果水位下降太慢,积分就再开点也无妨;如果下降得快,比例先生可要发挥作用;如果不算快也不算慢,两个意见相加的结果抵消,喔,我也不知道该咋办了,等形势明朗了再决定,现在静观待变。
水位急剧下降,你决定让排水阀稍微关闭,水位下降势头得到抑制,水位保持在低于设定值的位置不变了,迟迟看不到水位变化,怎么办?
积分小姐,别矜持了,逐渐关闭些,一直等到水位达到目标才行。如果积分增益太小,你就需要增加积分增益了。积分小节慢吞吞的行使职责,这时候坏了!进水管突然捣蛋,进水阀门虽然没有开,可是进水流量不知道为什么突然增加,眼看着水位蹭蹭蹭往上窜。急什么,比例,快点开,你要跟着水位的升高而升高。积分小姐也跟着使劲,因为这时候水位高于设定值了。
正当大家手忙脚乱的调整的时候,突然进水阀流量又减小了,水位又急着降低!急得比例积分满头大汗,那个乱啊!一边抱怨:都怪那个捣蛋鬼进水流量,他一直折腾我们!对啊!我要监视捣蛋鬼!把捣蛋鬼纳入监听,只要他增加,排水阀别管比例积分说什么,只管开——哦不——在比例积分的面子还是要给的,在他们命令的基础上再额外增加一个开度!瞧,前馈是个好办法。
这时候我们的系统改变了,由一个司令部变成了两个:串级调节系统诞生了。还有人说不。为了精兵简政,不要后面的司令部,后面弄个加法块咋样? 前面的司令部不答应,他不是不要权力,而是跟踪让他手忙脚乱。
跟踪为了告诉司令部现在前方部队——阀门开到什么位置了。在司令部休息的时候(手动状态),司令部掌握前方部队的位置,一旦司令部工作起来(自动状态),司令部只要告诉前方部队在现在的位置上增加或者减少多少就可以了。
可是因为司令部后面有个加法块捣乱,司令部得到的始终是加后值。司令部由休息转到工作的时候,就会出现工作失误,一直循环叠加,会出问题的。所以还是要俩司令部的好。
那个谁,第二个司令部,就不给你配备女秘书了。你别管水位高低,不要无差调节,你要积分也没啥用。
突然,前馈尖兵报告:等我知道消息已经晚了,水量已经大幅度波动了。这时候即使叠加了前馈调节,调节效果还是不明显。要是能够提前知道捣蛋鬼的动作就好了。前馈尖兵回答:进水管太孬了,前面几十米弯弯曲曲,没办法设立监听站。怎么办呢?
一旁有个诗人含酸带醋的,幽幽的道:唉!漫漫长夜,悠悠我心。世无伯乐,沉吟至今„„ 这个诗人叫做微分。抱歉,冷落微分很久了。
把微分放在前馈尖兵上,效果马上好转。因为诗人有点神经质,前馈没有波动的时候他趴着不动弹,一有波动他马上就跳起来,吓得司令部赶紧进行调节,扰动得到了有效的遏制。调节效果好了,第一司令部有意见了。他说:给我施加点压力吧,我要上进,后面那个司令部就取消了,好么?
可以取消了。因为我们看:微分这个诗人虽然浪漫,可是有点懒。前馈有变化的时候,他动作很积极,前馈不变的时候,他赖着不动了。
运行操作员在投自动的时候,都是系统稳定的时候。这时候捣蛋鬼没有捣蛋,微分诗人在发呆,前方司令部的跟踪的结果就是排水阀的开度。
这时候如果取消第二司令部,用加法块,完全可以。诗人打盹的时候,第一司令部的命令没有被篡改。
恩,这就是微分导前调节系统。
你一定对诗人刮目相看了吧?你想要微分发挥更大作用么?那你就给水位增加个微分试试?不行的。进水掉下来,砸到水池里,水位本来就上下波动,诗人这时候的神经质发作了,他让你的司令部一刻不停的发布命令,让排水阀忽关忽开。前敌执行官排水阀叫林彪,他向司令部打报告:这是在走弓背路,乱指挥,我建议更换司令,让有能力的人来干,否则我就罢工!
得!怪谁?怪你,怪你用人不当。自古哪有诗人当大任的? 看明白了么?指挥可不简单咧!2-12 自动调节系统的质量指标
教科书里说的指标早就忘了,相关规定里面说的指标也没工夫细看。根据我的经验,这几个指标需要重视:
1、衰减率:大约为0.75最好。好的自动调节系统,用俗话说“一大一小两个波”最好。用数学方法表示出来,就是合适的衰减率。
2、最大偏差:一个扰动来临之后,经过调节,系统稳定后,被调量与设定值的最大偏差。一个整定好的稳定的调节系统,一般第一个波动最大,因为“一大一小两个波”,后面就趋于稳定了。如果不能趋于稳定,也就是说不是稳态,那就谈不上调节质量,也就无所谓最大偏差了。
3、波动范围:顾名思义,没必要多说。实际运行中的调节系统,扰动因素是不断存在的,因而被调量是不断波动着的,所以波动范围基本要达到一个区间。
4、执行机构动作次数。动作次数决定了执行机构的寿命。这里说的执行机构不光包括执行器,还包括调节阀门。执行机构频繁动作不光损坏执行器,还会让阀门线性恶化。下一节会更加详细的予以说明。
5、稳定时间:阶跃扰动后,被调量回到稳态所需要的时间。稳定时间决定了系统抑制干扰偶的速度。
1、执行机构动作次数: 执行机构动作次数不能过频,过频则容易烧坏电机。动作次数与比例积分微分作用都有关系。一般来说,合适的比例带使得系统波动较小,调节器的输出波动也就小,执行器波动也少;积分的章节已经说过:如果输入偏差不为零,积分作用就会让输出一直向一个方向积下去。积分过强的话,会让执行器一次只动作一点,但是频繁地一点点向一个方向动作;微分作用会让执行器反复波动。
一般来说,国产DKJ系列的执行器的电机耐堵转特性较好,其它性能不一。电机在刚得电动作的时候,电流大约是正常运转电流的5-10倍。电机频繁动作很容易升温,从而烧坏电机。另外对执行机构的传动部件也有较大磨损。
一般来说,不管对于直行程还是角行程,对于国产还是进口,对于智能还是简单的执行器,动作次数不大于10次/分钟。对于一些进口执行器,尤其是日本的,次数还要减少。对于执行机构是变频调节的(这里是说纯变频调节,而不是指执行机构采用变频电机),可以让参数快点,因为变频器始终处于运行状态。需要注意的是,变频器转速线性不能太陡,否则变频器输出电流大幅度变化,影响变频寿命。
2、PID死区问题:
为了减少执行器动作次数,一般都对PID调节器设置个死区。在±死区内,都认为输入偏差为0。当超过死区后,输入偏差才从0开始计算。死区可以有效减少执行器的动作次数。但是死区过大的话又带来了新的问题:调节精度降低,对于一般的调节系统,不要求调节精度过高,精度高意义也不大。
提高死区降低精度的同时,也会降低调节系统稳定性。因为它造成了调节滞后。这一点不大容易被人理解。附图8表明了死区过带大来的调节滞后。
图8:前半部分是死区过大带来调节滞后,影响系统稳定性。后半部分降低了死区,调节效果马上有了大幅度的好转。
对于串级调节系统,主调的死区可以降低甚至取消。设置副调的死区就可以降低执行机构的动作次数了。
3、裕度问题:
调节系统要有一个合适的调节裕度。如果执行机构经常处于关闭或者开满状态,那么调节裕度就很小,调节质量就受到影响。一般来说——都无数个“一般来说”了,谁让现场情况复杂,咱们不能把话说绝了呢——阀门在80%以上,流量已经达到最大,所以执行机构经常开度在80%也可以说裕度减小了。
这里所说的阀门,包括了各种调节工质流量的机构,包括阀门、泵的调速部分等。在第三章中,咱们专门要说一下执行机构的种类。
4、通流量问题: 调节阀门的孔径都是经过严格计算的。不过也存在计算失误的时候。通流量过大,执行机构稍微动作一点就可能发生超调;反之执行机构大幅度动作还不能抑制干扰。所以这个问题也是个重要问题。如果通流量不合适,有些系统甚至不可能稳定运行。
图9表明了通流量过小,输出波动较大,系统难以达到理想稳态的现象。
5、空行程问题
在一定的开度内,调节器输出有变化,执行器也动作了,可是阀门流量没变化,这属于空行程问题。空行程有是执行其产生的,也有法门产生的。一般的机构都存在这个问题。空行程一般都比较小,可以忽略。可是如果过大,就不得不要重视这个问题了。
解决空行程的办法有很多,一般都在DCS内完成。当然,如果执行器和阀门能够解决的,要以硬件解决为主。
6、线性问题
一般来说阀门开度与流量的关系都成平滑的线性关系。这些线性关系包括直线型、等百分比型、抛物线型等。如果阀门使用时间长,或者阀门受到损伤,线性就会改变。线性问题可以有多种解决办法,既有参数整定的,也有控制策略的。当然最根本的解决办法在于对线性恶化的治理。如果是比较贵重的调速泵线性恶化,难以治理更换,那只好从调节系统寻找解决办法了。
还有个在火电厂中普遍存在的问题:减温水调节阀的线性恶化。这基本上是个顽疾。因为减温水调节阀动作频繁,经常在完全关闭和打开之间反复波动,相当多的电厂减温水阀门线性都很不好,而且还伴随着空行程偏大。两个问题加起来,给自动调节带来很大的困难。在第三章中,咱们要专门谈到,怎么从自动方面解决线性恶化问题。
7、耦合问题
一个调节系统或者执行机构的调节,对另一个系统产生干扰互相干扰,或者是两个调节系统间互为干扰,产生直接耦合。解耦的办法是先整定主动干扰的调节系统,再整定被动系统。也可以在主动干扰的输出乘以一个系数,作为被动干扰的前馈。
还有一种间接耦合。这个现象在协调控制中比较明显:负荷与汽压的关系是互为耦合。解决问题的办法有两种:一种是互为修正前馈,这个解决办法的应用比较普遍,效果不是太好;更有效的办法是整定参数,效果要比前者优越得多,抗干扰能力也很大,可惜擅长此道的人太少。如果有人有这方面的意愿,可以找我联系。
上述的七个问题,真正能够解决的不多。除下第三、四条无法用参数解决只能用参数缓解以外,其它问题都可以通过控制策略、甚至仅仅靠整定参数就可以解决。我说句这句话真正相信的人不多,可是我就是这样解决的。衡量一个人整定参数的水平就是看能不能解决复杂问题。举个例子:
我公司锅炉蒸发量430吨/小时。我们的给水执行器平均每2分钟动作1次。
一次发生意外,左侧主汽门突然关闭,蒸汽流量瞬间下降100吨/小时,负荷由130MW下降到80mw,蒸汽压力下降1MPa。而汽包水位自动没有退出,波动范围是-49mm~73mm,设定值是39mm。而我们的控制策略就是很简单很普遍的三冲量调节系统,没有做任何修改。图8是当时的调节效果截图:
图9:主汽流量大干扰下的汽包水位波动曲线
所以,我始终认为:国内目前的自动调节系统,参数整定的空间相当大。如果这方面有想法的,可以联系我,欢迎交流。2-14 整定参数的几个认识误区
1、对微分的认识误区
认为微分就是超前调节,如果被调量或者测量值有滞后,就要加微分。微分是有超前调节的功能,但是微分作用有些地方不能用:测量值存在不间断的微小波动的时候。尤其是水位、气压测量,波动始终存在,我们一直在考虑滤波呢,再加个微分,就会造成调节干扰。不如不要微分。
2、对积分的认识误区 有些人发现偏差就要调积分,偏差存在有可能是系统调节缓慢,比例作用也有可能影响,如果积分作用盖过了比例作用,那么这个系统就很难稳定。
咱们上面说过:初学者容易强调积分作用,熟练者容易忽略积分作用。不再赘述。
3、对耦合系统中,超前调节的认识误区
对于耦合系统,不管初学者熟练者都容易考虑一个捷径:增加前馈调节。这个问题甚至搞自动控制的老手都容易犯,毕竟捷径谁都想走。比如众所周知的协调控制,经典控制法中,就有负荷和汽压互为前馈的控制策略设计。这个方法也不为错,但是更普适更好的方法是一种整定参数的思想,参数设置合理的话这个前馈画蛇添足。要积极探讨各种控制办法。
4、反馈过强
复杂调节系统中,前馈信号和反馈信号过强的话,会造成系统震荡,所以调解过程中不仅仅要注意PID参数,还要注意反馈参数。
尤其在汽包水位三冲量调节系统中,蒸汽流量和给水流量的信号都要经过系数处理。有些未经处理的系统,在负荷波动的时候,就要退掉自动,否则会发生震荡的危险。
5、死搬标准,强调个别指标
教科书里,自动调节系统需要关注的指标有很多。这些指标都有助于自动调节系统的整定。但是自动好不好,不要硬套指标。最应关注的有两个指标:被调量波动范围、执行机构动作次数,其他都不是最必要的。
曾经有一次,我帮助一个电厂整定自动调节系统。快要结束的时候,对方专工说:按照国家制定的自动调节系统调试标准,在多大干扰的情况下,系统恢复稳定的时间要小于若干分钟。我说按照这个标准,调节系统可能会发生震荡。对方说震荡没关系,只要能达到国家标准就可以。我重新整定系统后完全可以达到这个标准,可是再强调系统存在震荡的可能——大干扰情况下难以稳定——半个月后,这个参数下,该执行器烧坏。
6、改变设定值以抑制超调
频繁改变设定值是干扰自动调节。尤其减温水系统,没有必要依靠改变设定值来抑制超调。那么什么情况下,需要人为干扰呢?
在系统输出长时间最大或者最小的时候,说明达到了积分饱和,需要退出系统,然后再投即可。
频繁改变设定值是干扰自动调节
7、主调快还是副调快?因系统而定,因参数而定。常规参数:主调的比例弱,积分强,以消除静差;副调的比例强,积分弱,以消除干扰。不绝对。2-15 趋势读定法整定口诀
我发现大家都对口诀很钟情。为了让大家用起来熟练,我也弄个口诀: 自动调节并不难,复杂系统化简单。整定要练硬功夫,图形特征看熟练。趋势读定三要素:设定被调和输出。三个曲线放一起,然后曲线能判读。
积分微分先去掉,死区暂时也不要。比例曲线最简单,被调、输出一般般。顶点谷底同时刻,升降同时同拐点。波动周期都一样,静态偏差没法办。比例从弱渐调强,阶跃响应记时间。时间放大十来倍,调节周期约在内。然后比例再加强,没有周期才算对。
静差消除靠积分,能消静差就算稳。不管被调升或降,输出只管偏差存。输入偏差等于零,输出才会不积分。积分不可加太强,干扰调节成扰因。被调拐点零点间,输出拐点仔细辨,积分拐点再靠前,既消静差又不乱。
(积分拐点——第2-9节整定积分时间里面讲过,被调量回调的拐点,与被调量回调到设定值的点,两个点的时刻相减,乘以三分之一,这一点叫做积分拐点。)
微分分辨最容易,输入偏差多注意。偏差不动微分死,偏差一动就积极。跳动之后自动回,微分时间管回归。系统若有大延迟,微分超前最适宜。风压水位易波动,微分作用要丢弃。比例积分和微分,曲线判读特征真。如果不会看曲线,多看杖策行吟文 综合比较灵活用,盛极而衰来扼杀因 2-16 其它先进自动控制方式
在PID调节诞生后,取得了很好的应用效果。PID调节迅速普及。但是,现实总是复杂的。它不像牛顿三大运动定律一样,一旦发布,就会看到手边所有的物质都遵循这个规律——除非你用显微镜才可得到的微观世界,和用望远镜才能看清楚的宏观星际。牛顿只是发现了他们活动的普遍规律。自动控制可不是这么简单,工程应用中,总会冒出各种各样的问题。我也不敢说,在电厂什么系统我都能快速解决。我只可以说能够在较短时间内总结出规律,然后想办法克服。
为了适应各种复杂情况,自动调节的先驱们也在不断的总结经验,不断的探索。
1985年,1月,国际电气与电子工程师学会(IEEE)在美国纽约召开了第一节智能控制学术会议,讨论的主题是:智能控制的原理和系统结构。一般来说,这个会议,标志着现代控制理论的形成。
会议至今将近25年了,某些理论还在探索发展阶段,有的理论已经应用。
自从维纳创立控制论以后,自动调节理论经历了两个发展阶段——经典控制理论和现代控制理论。而所谓的经典和现代的划分也不是完全不变的。现在所普遍应用的自动调节,已经在你不知道的时候的地方,加入了一些现代控制的理念和方法。有些现代控制理论已经“随风潜入夜,润物细无声”了。
比如最初,串级调节系统都算是“先进控制法”咧。现在应用得很稀松了,也就取消了他的“先进”称号。
还有前馈,这些都不说了。同志们都在前进,这都算是普通带平常了。还有如在PID的输入进行平方运算、smith预估算法等等,方法很多,没用过,不敢置评。以上这些都是在PID控制法下面的改进,不算是有全新的控制思想。下面介绍全新的控制思想:
2-17 先进控制思想
科学发展现在这个水平,有许多方法或者产品,我们明明白白感受到了科技的力量。比如计算机、手机,比如自动调节系统。自动调节系统的发展过程中,我们往往感受不到他发展的速度。因为我们身在其中啊。有些所谓先进的控制思想,早就应用到我们生产实践中了。比如说吧,离散控制。名字听着似乎很时髦很先进。它的本质就是让调节器的输出不是一个固定的量。偏差变化了,调节器该怎么调节?调节器的最直接的输出不是直接发出一个开度的量,而是发出一个在上一时刻的开度下改变多少的量。
打个比方:水位测量范围是50~150mm,比例带为100,第一个周期检测到水位是100mm,此时排水阀假设开度为50%。第二个检测周期内,调节器检测到当水位升高到101mm,此时调节器的输出为:
T(out)= 50+(101-100)1/δ
投自动之前,调节器输出始终跟踪阀门开度。自打投自动的那一刻起,那一刻的阀门开度被记录,以后下一时刻运算的值,在被记录的值上累加,以后每一时刻都是累加上一时刻的值。应该说,现在所有的DCS都采用了这个方法。下面要认真介绍几个先进控制思想:
一、神经网络控制
这个系统表述起来比较麻烦。也有人叫它神经元控制。他的成长也经历过波折。20世纪40年代心理学家Mcculloch和数学家Pitts提出了形式神经元的数学模型,后来不断补充完善。1969年他遭受了一个打击:两个数学家从数学上证明它有很大的局限性,甚至可以说是无解的。一下子弄得研究人员灰头土脑的,都没精神了。研究停顿下来。1982年有人用“能量函数”的概念拯救了神经网络控制。一直到现在,该思想方法不断取得进展。从上面的情况来看,有人说数学是一切学科的工具,这句话真不假。各种先进控制法从诞生到发展,都离不开数学的影子。可咱们所讲的经典控制PID控制法,似乎与数学无关吧?不是的,息息相关。经典控制法其实完全离不开数学模型,本文前面之所以没有很多数学的影子,是因为咱们是在别人建立模型的基础之上的应用。包括下一章所要讨论的电厂各个实际自动调节系统,都离不开当初数学模型的建立或者指导。还有些情况下,我们能够给控制策略进行修改添加,能否成功,数学上都能够找到依据。
总的来说,神经网络控制是模拟生物感知控制。它将每个信号进行加权运算和小信号切除后,进行层运算,最终多路输出。并行计算、分步信息储存、容错能力强是它突出的优点。这东西在工程控制上的应用,有多大好处不好说,咱没有具体实践过。为了克服它的缺点,后来又产生了模糊神经网络控制。简言之,杂交优势在工程上也是比较明显的。
二、模糊控制
在前面咱们提到过,骑自行车是模糊控制。什么叫做模糊控制呢?
PID调节是精确调节,它清楚地知道调节的目标(设定值),和下达命令的大小(执行机构开度)。对于有些系统来说是很必要的。比如火电厂主汽温度调节,我们需要尽可能高的温度,以提高蒸汽的做功能力,增加热效率;同时又不让蒸汽温度过高,蒸汽温度过高管道就会变软,耐压就会降低,专业名词叫做产生“高温蠕变”。为了兼顾经济性和安全性,咱们可以精确的给蒸汽温度一个设定值,尽力让温度保持在这个设定值周围。如果自动调节不好用,温度波动大,设定值就要降低,防止温度过高;如果自动调节效果好,设定值可以适当提高。所以,此类系统的设定值可以精确些。而有的系统不是这样的。比如水位控制,高一点低一点都无所谓,误差几十毫米对系统影响不大。可是对于传统的PID控制,必须要有一个明确的设定值,超出设定值的波动都要进行调节。这样就产生了调节浪费。还有的系统,在一定范围内可以缓慢调节,超出一定范围的时候需要急剧调节,这些问题,传统的PID调节有它不太擅长的地方。模糊控制就是专门针对这种情况设计的。
模糊控制诞生于1965年。创始人是美国的扎德教授(L.A.Zadeh)。老外把模糊控制叫做Fuzzy,最初咱们国家翻译的时候,根据音译也有人叫“乏晰控制”——缺乏明晰的控制。咱上高中时候学的集合论为模糊控制奠定了基础。一听集合论大家就应该明白一些东西,模糊控制就是人为地把采集到的清晰的数据模糊集合化,把控制目标模糊集合化,最终再把模糊化的东西清晰化去实现控制。够费劲吧?实际中的模糊控制策略确实够费劲的。在上世纪90年代的时候,我自己根据模糊控制的原理编辑了一个低加水位控制程序。火电厂热控的人员都知道,低加水位控制应该算是最简单的控制了。我把水位模糊化为安全区、调节区、危险区三个区域,又把水位波动的趋势模糊化为缓慢、中速、急剧三个层次,再把输出调节划分为细调、匀调、大幅度调节三个阶段,经过复杂的调节策略,最终实现了模糊控制。水位不高不低的时候,不调节;水位小波动也不调节;水位快速波动的时候快速调节;急剧波动的时候急剧调节。
正当我在欣赏自己的成绩的时候,突然发现:一个PID调节中,再简单不过的调节系统,用模糊控制就需要至少7个参数,串级系统需要十几个参数,控制策略又这么复杂,还不把人给累死啊!这个参数是我自己整出来的,估计每个人整出来的也会不一样。但是有一点是相同的:控制策略很复杂,调节参数又多。
因为模糊控制对精细调节的优势不明显,后来又诞生了模糊+PID控制,精细的区域用PID调节,之外用模糊——绕了一个大弯,又回到了PID。当初„„.如果说它对危险区域(大幅度偏离设定值)的控制有优点的话,那么前面咱们提过的PID输入偏差加平方运算似乎也可以达到这个目的。
恩,模糊控制有它的优点,可是它的缺点也太明显了。控制策略很复杂。2-18再说智能控制
可能是上面模糊控制的表述太简单了,有些人对我的表述有异议。那么咱就进一步说一下: 很简单常用的一个例子:假如一个人头上一根头发都没有,那么,毫无疑问他是一个秃子。如果这个人头上只有一根头发,我们仍旧可以坚决的认为他是秃子。如果有两根呢?三根呢?哪怕有十根也是。我们就这么不断问下去,有100根呢?„„有1000根呢?如果你没有不耐烦的话,我相信你的底气开始不够充足了。
那么到底有多少根头发才不算秃子?低于多少根不是秃子?没有人知道。我们的数学很难告诉我们这个问题。
模糊数学建立起来后,这个问题开始被重视了。
假如说我们的头发大约有五十万根吧,那么至少30万根的时候,他还不是秃子。我们可以设定一个界限:30万根不是秃子。他有三十万根头发的时候,是秃子的可能性为0。如果他有299999根头发的时候,是秃子的可能性为1/30万。这时候不管从现实中还是从数学上,他仍旧不是秃子。当这个可能性增加到10%左右的时候,我们会有点模糊的描述:那个人,头发有点稀;当这个可能性增加到20%左右的时候,我们会说他头发微微有点秃;随着可能性的增加,说他秃的人也在增加,模糊的表述也越来越少。当这个可能性增加到90%左右的时候,我们就可以说他秃了,虽然还有头发,不多。
模糊数学就是这样,他把一个系统集合化。制定一个规则,然后判断符合这个规则的相似度。我们骑自行车,目标值是一条路,而不是一条直线。只要在安全范围,我们的控制就不需要大脑干预调节,而只需要稳定平衡。我们的目标只是一个模糊的范围。模糊控制要把被调量模糊化,但不需要过细地判断相似度。拿一个水池水位来说,我们可以制定一个规则,把水位分为超高、高、较高、中、较低、低、超低几个区段;再把水位波动的趋势分为甚快、快、较快、慢、停几个区段,并区分趋势的正负;把输出分为超大幅度、大幅度、较大幅度、微小几个区段。当水位处于中值、趋势处于停顿的时候,不调节;当水位处于中值、趋势缓慢变化的时候,也可以暂不调节;当水位处于较高、趋势缓慢变化的时候,输出一个微小调节两就够了;当水位处于中值、趋势较快变化的时候,输出进行叫大幅度调节„„
如上所述,我们需要制定一个控制规则表,然后制定参数判断水位区段的界值、波动趋势的界值、输出幅度的界值。
通过上面的描述我们可以看出,模糊控制的优点在于:
1、不需要精确的数学模型,只要合理的制定规则就可以了;
2、如果规则和参数制定合理,那么系统具有小偏差和静差根据情况灵活调节、大偏差快速调节的效果。比单纯的PID调节反应灵活且快速;
3、执行机构要么不动,要么一下子调节到位。模糊控制的复杂在于:
1、规则的制定要占用较大的精力;
2、参数(界值)过多,整定起来较为复杂;
3、虽然不需要精确的数学模型,但是我们在制定规则的时候,还要对系统相当的熟悉,知道什么情况下怎么调节。
上面仅仅是一个简单的单回路调节系统。如果让我们来制定减温水调节系统的规则,那么系统规则会变得更复杂,参数也会更多;制定一个三冲量调节系统,系统就更庞大。如果再加上与PID控制的结合,系统就显得臃肿了。2-19 自动调节漫谈
科学和工程研究是无极限的。我上面的叙述仅仅是二十世纪九十年代的控制发展,后来的控制不光综合了PID,还有自学习功能的研究。现在自学习功能的调节器发展很快。今年我参加一个自动化会议的时候,就有公司推广他们的外挂PID参数整定和自学习系统了。
自动调节的发展历程,不光是数学、生物、电子、工程、测量等科学和技术的发展,还是一个仿生技术的发展。尤其是二十世纪末期,仿生学日益被重视。人们在研究自动控制的时候,也不断的研究参考仿生原理,取得了不可忽视的成果。前面所说的神经网络控制就是仿生学成就之一。
我们的自动调节取得了巨大成就,可以说,在工程控制领域,几乎“无所不控”。但是我们的自动调节还有很长的路需要走。举个简单的例子:骑自行车就是一个很复杂很高超的自动调节系统。它不仅仅包含了模糊控制和PID控制原理,还包含了自学习、变参数的方法。并且在一些复杂场所,甚至新环境下,还包含了改变控制策略、改变控制方法、自动检查控制策略和参数的功能。
比如我们骑自行车。虽然说目标值是一个模糊的范围,属于模糊控制。可是我们还要做到让自行车不倒,就需要我们时刻调节双手的平衡。目标值的修改用大脑,双手调节平衡属于条件反射,用脊髓神经。
当我们骑车调节平衡的时候,大脑不去干涉。当双手调节平衡出现问题,或者路况突然改变,我们的大脑就要接管条件反射,进行干预调节。在干预调节的同时,我们的条件反射并不完全解除控制,而是大脑一边思考控制策略是否需要修改,一边考虑已经固化到脊髓神经的PID参数是否需要整定,一边还依赖条件反射进行微调。当这个复杂路况反复走过,大脑制定了新的控制策略、熟悉了新的PID参数,并发现新的东西能够适应这个路况后,反复走几次这个路,这个新的控制方式就被固化到脊髓神经,从而也变成了条件反射,再走这条路,基本不用大脑干预了。
从上面对骑自行车的控制的叙述我们可以发现:对于仿生学来说,我们的工程自动调节系统还显得太简单。至少对一个调节系统来说,我们的研究还不能做到自动确认到底多大的参数能够稳定运行。上海一个教授叫张卫东,他曾经发表一篇论文,阐述了对于一个系统采用多大范围的参数可以让系统稳定运行。
以前看一个文章,说我国某研究机构研究多自由度的平衡问题。比如手指上直立一根筷子,移动手指让筷子不倒,这也是一个调节系统。那个研究机构可以做到在二维空间内(即左右方向上)再叠加一个筷子,让筷子不倒。这就是一个更高级的调节系统。前些日子南方一个大学生就跟我探讨过倒立摆的控制问题,估计就是那项研究的简单应用。
通过看电视新闻,我很赞叹日本的自动调节水平。他们的机器人可以直立行走做复杂的动作,我认为这里面同样也反映了日本自动调节的发展水平。
2000年的时候,美国的Nature一期杂志上,报道了美国麻省理工学院和杜克大学的科学家,利用猴脑遥控指挥1000多公里以外的机器人运行的研究成果。下图就是这项试验的示意图: 他们研究了猴子的大脑活动规律,对猴子的大脑几个区域进行重点研究。它们把电极分别植入两个猴子的大脑里,其中在一只猴子脑部的6个区域植入了96个电极,在另一只猴子大脑的2个区域植入了32个电极。电极通过导线传输信号,经过处理后,控制两个机器人运动。
电脑研究了大脑是如何控制肢体动作的,识别出脑部神经指挥肢体动作的模式,然后把这些模式转换为指令。实验结果表明:机器人的手臂活动基本与猴子的肢体活动一致。只是植入电极多的猴子,“指挥”机器人的手臂动作要更好一点。
通过此项研究,我们可以看到人类掌握动物大脑活动规律的研究深度。
对于将来的系统调节,我还设想:把最简单的成熟的调节系统固化起来,我们只考虑复杂和意外情况下怎样修改策略,怎样整定参数。就好像一个社会,复杂情况下领导只考虑制定策略,越往基层,做的事情越繁杂;正常情况下,领导只做选择题。
我相信:在若干年后的将来,像我们这些专门维护调节系统整定参数的人将会失业,或着干别的事情。因为将来的自动调节已经发展到相当完备,一切电脑都可以帮我们解决了。这一天终将到来,否则机器人的高级智慧只能是空想。终将有一天,我们人脑能够做到的事情,电脑必将也能够做到。我们人脑所做的都是选择题:面对新的情况我们选择哪种策略。这一切,很可惜,与我们无缘。无论是研究还是应用。要实现这一切,跟自动发展的历程一样,需要无数科学家的心血。
回到现实。
05年的时候,我见到了自动专家张鼎燕老师。向他请教当前眼花缭乱的先进控制的优缺点。他说先进控制,尤其是模糊控制,日本研究比较好,应用的也多。他曾经跟一个日本控制专家讨论:模糊控制和传统控制比起来,优越性是PID不可替代的么?日本专家回答:最终还是离不开传统的PID控制的。2-20 电脑作诗机
人们在进行科学研究的时候,总是不断返躬自身。一直以来,仿生学和人工智能的发展始终被科学家们占领着指引着,普通的人们很难对科学有什么特殊的贡献。终于,这个传统被打破了。
我认为,电脑作诗机可以算是平民对仿生学和人工智能的一大挑战。科学家们对仿生学和人工智能的贡献一直是在科学领域的,而电脑作诗机则把仿生学和人工智能推向了美学领域。当网络在中国突然兴起的时候,一大群诗词爱好者突然发现了一个极其理想的交流阵地:QQ聊天室。通过QQ聊天室,广大的诗词爱好者们互相交流,互相促进,可以说:腾讯聊天室对中国的古典文学平民化普及工作作出了卓越的贡献。
其中,有个善于钻研程序的诗词爱好者,用电脑做出了诗词。这个人的网名叫做:稻香老农。稻香老农把诗词的格律全部按照一定的程式程序化,并且还把韵谱、唐宋诗词经常出现的字词一起程序化,然后把所有收集的词句分感情类化为程序。当你要作诗的时候,先选择体裁,你是要做七言绝句呢,还是要做五言律诗,或者是要做那个词牌的词。然后再选择韵脚、句式,然后再选择主题。最终电脑根据你选择的题材主题,做出诗来。
这个程序是严格按照格律和韵府作诗,所以做出的诗念起来很有韵味。只是你只要稍作推敲,就会发现其意向、逻辑很有问题的。
但是不管怎样,我们从中看到了古典诗词的美。现在把我用电脑作诗机做的几首诗奉献给大家:
《君莫思归》
莫学香来两鬓霜,孤梅又向门前望。萦回乡思烟霞丽,迢递岁阴印绶光。丹诏西林明剑戟,清风南陌见牛羊。朝来十日年光尽,再鼓清琴春调长。
水调歌头·归航
秋气频回首,空翠五十年。风凉欲梦更少,水寒寿如山。
柳岸又叠苇雾,漫道休说绝色,清夜照婵娟。江阔诵奇句,日暖献公前。看红叶,想白马,叩长安。满屋蒙尘,歌咏不比桅灯前。
几度莺声欲破,檀板闲敲一段,不是渚边烟。仿佛坐来久,珠泪彤云边。
《自动化》
法日蒲轮去似流,垂阴蜀地长悠悠。影分踊塔谁为扫,声合穿廊自看修。采掇吟看新落叶,馨香醉听最高楼。闲居水澹光风转,万世寻常秉烛游。
《自动化》
杳霭宫商伴老身,回丹尽室动人神。多君使我殷勤醉,竞历秋斋与庙邻。《自动》
退避芳容锁澹愁,施朱暗淡一帘秋。久为散漫遮三径,自到轻明谢九州。秋色严城先访戴,寒潮华屋暂依刘。香罗个字赍秦本,醉眼敧斜灞水流。
《调节》
准拟巡檐雨意长,山田出没绕通塘。离忧报道交回烛,处士舟还及岁芳。
为了试试作诗机的能力,我还输入了控制、反馈等词作为主题。结果是:“存在20%的词汇无法生成正确的关联。您可以返回再试几次。”
电脑作诗机目前仅仅被诗词爱好者作为一个新奇的玩意儿。可是我认为:这是仿生学和人工智能,在美学领域的一个有趣有意义的尝试。也许有一天,我们会重新审视它的作用的。下面我给出稻香老农的电脑作诗机链接,有兴趣的可以去看看: http://www.xiexiebang.com
PID调节方法表述这么的简单,应用范围这么的广,调节效果又非常的好,她几乎深入到了工程控制的犄角旮旯,目前没有任何一种方法可以完全替代它。她又是那么的迷人,她的脸庞谁都能看到,似乎触手可及,真要触摸一下却需要你费尽心机;她的思想一目了然,真要深刻领会却需要你去仔细研究探讨。她深邃的眼神在看着你,你想拥有她么?你想了解她思想么?只要得到了她,在工程控制领域你几乎可以所向披靡。她是小姑娘,她的心思需要你耐心的琢磨;她是女神,她有着深刻的魅力;她是电脑游戏,可以吸引着你离不开她;她是通向成功控制的加权值,加权值等于„„你想要多少? 自动控制算法的学习笔记(PID控制)
2011-05-19 08:10 1.PID调试步骤
没有一种控制算法比PID调节规律更有效、更方便的了。现在一些时髦点的调节器基本源自PID。甚至可以这样说:PID调节器是其它控制调节算法的基础。
为什么PID应用如此广泛、又长久不衰?
因为PID解决了自动控制理论所要解决的最基本问题,既系统的稳定性、快速性和准确性。调节PID的参数,可实现在系统稳定的前提下,兼顾系统的带载能力和抗扰能力,同时,在PID调节器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统,这样系统阶跃响应的稳态误差就为零。
由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。这就给使用者带来相当的麻烦,特别是对初学者。下面简单介绍一下调试PID参数的一般步骤:
1.负反馈
自动控制理论也被称为负反馈控制理论。首先检查系统接线,确定系统的反馈为负反馈。例如电机调速系统,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。其余系统同此方法。
2.PID调试一般原则
a.在输出不振荡时,增大比例增益P。
b.在输出不振荡时,减小积分时间常数Ti。
c.在输出不振荡时,增大微分时间常数Td。
3.一般步骤
a.确定比例增益P
确定比例增益P 时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0(具体见PID的参数设定说明),使PID为纯比例调节。输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。
b.确定积分时间常数Ti
比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。
c.确定积分时间常数Td
积分时间常数Td一般不用设定,为0即可。若要设定,与确定 P和Ti的方法相同,取不振荡时的30%。
d.系统空载、带载联调,再对PID参数进行微调,直至满足要求。
2.PID控制简介
目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器﹑传感器﹑变送器﹑执行机构﹑输入输出接口。控制器的输出经过输出接口﹑执行机构﹐加到被控系统上﹔控制系统的被控量﹐经过传感器﹐变送器﹐通过输入接口送到控制器。不同的控制系统﹐其传感器﹑变送器﹑执行机构是不一样的。比如压力控制系统要采用压力传感器。电加热控制系统的传感器是温度传感器。目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整定功能的智能调节器(intelligent regulator),其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。可编程控制器(PLC)是利用其闭环控制模块来实现PID控制,而可编程控制器(PLC)可以直接与ControlNet相连,如Rockwell的PLC-5等。还有可以实现PID控制功能的控制器,如Rockwell 的Logix产品系列,它可以直接与ControlNet相连,利用网络来实现其远程控制功能。
1、开环控制系统
开环控制系统(open-loop control system)是指被控对象的输出(被控制量)对控制器(controller)的输出没有影响。在这种控制系统中,不依赖将被控量反送回来以形成任何闭环回路。
2、闭环控制系统
闭环控制系统(closed-loop control system)的特点是系统被控对象的输出(被控制量)会反送回来影响控制器的输出,形成一个或多个闭环。闭环控制系统有正反馈和负反馈,若反馈信号与系统给定值信号相反,则称为负反馈(Negative Feedback),若极性相同,则称为正反馈,一般闭环控制系统均采用负反馈,又称负反馈控制系统。闭环控制系统的例子很多。比如人就是一个具有负反馈的闭环控制系统,眼睛便是传感器,充当反馈,人体系统能通过不断的修正最后作出各种正确的动作。如果没有眼睛,就没有了反馈回路,也就成了一个开环控制系统。另例,当一台真正的全自动洗衣机具有能连续检查衣物是否洗净,并在洗净之后能自动切断电源,它就是一个闭环控制系统。
3、阶跃响应
阶跃响应是指将一个阶跃输入(step function)加到系统上时,系统的输出。稳态误差是指系统的响应进入稳态后﹐系统的期望输出与实际输出之差。控制系统的性能可以用稳、准、快三个字来描述。稳是指系统的稳定性(stability),一个系统要能正常工作,首先必须是稳定的,从阶跃响应上看应该是收敛的﹔准是指控制系统的准确性、控制精度,通常用稳态误差来(Steady-state error)描述,它表示系统输出稳态值与期望值之差﹔快是指控制系统响应的快速性,通常用上升时间来定量描述。
4、PID控制的原理和特点
在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象﹐或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。
比例(P)控制
比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。
积分(I)控制
在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。
微分(D)控制
在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。
5、PID控制器的参数整定
PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行 PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作﹔(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期﹔(3)在一定的控制度下通过公式计算得到PID控制器的参数。
3.PID控制器参数的工程整定,各种调节系统中PID参数经验数据以下可参照:
温度T: P=20~60%,T=180~600s,D=3-180s 压力P: P=30~70%,T=24~180s, 液位L: P=20~80%,T=60~300s, 流量L: P=40~100%,T=6~60s。
4.PID常用口诀:
参数整定找最佳,从小到大顺序查 先是比例后积分,最后再把微分加 曲线振荡很频繁,比例度盘要放大 曲线漂浮绕大湾,比例度盘往小扳 曲线偏离回复慢,积分时间往下降 曲线波动周期长,积分时间再加长 曲线振荡频率快,先把微分降下来 动差大来波动慢。微分时间应加长 理想曲线两个波,前高后低4比1 一看二调多分析,调节质量不会低
====================================================================================================
很多兄弟姐妹来问关于PID控制器的情况,偶就结合自己的理解,尽可能浅显的讲述一下PID控制的概念和如何设计一个简单的PID控制器的设计。其目的就是有兴趣朋友们可以跟这个设计一个简单的PID控制器
所谓的控制首先分有反馈控制和无反馈控制,我们当然讨论的PID当然是有反馈控制了。所谓的有反馈控制无非是要根据被控量的情况参与运算来决定操纵量的大小或者方向,那么到底如何根据被控两来决定操纵量的大小呢,唉,这就有很多分类了,所谓的高级的控制方式也就是“高级”在这个节骨眼上,有什么“自适应控制、模糊控制、预测控制、神经网络控制、专家智能控制”等等(至于到底这些控制方式有什么优点,唉,我只用过PID,别的也说不清楚,去抄书的话也没有说服力,关键是也懒的去抄。那位老弟如果要作论文,可以在这里发挥一下,资料到处都是)。但是就目前而言,在工业控制领域尤其是控制系统的底层,PID控制算法仍然独霸鳌头,占领着80%左右的市场份额,当然,这里所说的PID控制算法不是侠义上的固定PID,现在不是讲究多学科融合吗?人们在PID控制规律中吸取了其他“高级”的控制规律的优点,出现了诸多的新颖的控制器如自校正PID、专家自适应PID、预估PID、模糊PID、神经网络PID、非线性 PID等新型PID控制器。至于所谓的变种的PID算法如什么“遇限削弱微分”微分先行,积分分离“bangbang+PID”等等,已经不算是什么高级的控制方式了作控制器的厂商大多都会或多等等或少的采取一些,至于是神经网络PID,模糊PID,自适应PID是如何实现的,我所知道的就是利用对应的控制算法,适时的调节PID的参数。还是举个例子吧。传统PID的算法公式是:
⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)] U(n)=⊿U(n)+U(n-1)e(n),e(n-1), e(n-2)就是历史上的三个设定值跟过程值之间的偏差了。
这是一个增量式的PID算式(如果有谁不明白什么式增量是算式,呵呵,可能以后会提到,偶的写作水平有限,不会组织内容,再说我是想到哪,写道哪,呵呵,见凉)。所谓的新型PID控制器,就是根据e(n)的不同,利用那些先进的控制规律来适当的调整Kp,Ki,Ke。至于怎么调整,呵呵,这就太罗嗦了,也不是这篇内容所该介绍的,(关键是我也不太清楚,呵呵,见笑),需要这些功能的大侠应该是我的前辈,还请指教哟。好了,现在正式介绍一下所谓的PID各个参数吧。
所谓的PID大家在大学期间都应该学过,就是比例(P)、积分(I)、微分(D)。
比例控制:就是对偏差进行控制,偏差一旦产生,控制器立即就发生作用即调节控制输出,使被控量朝着减小偏差的方向变化,偏差减小的速度取决于比例系数Kp,Kp越大偏差减小的越快,但是很容易引起振荡,尤其是在迟滞环节比较大的情况下,Kp减小,发生振荡的可能性减小但是调节速度变慢。但单纯的比例控制存在静差不能消除的缺点。这里就需要积分控制。
积分控制:实质上就是对偏差累积进行控制,直至偏差为零。积分控制作用始终施加指向给定值的作用力,有利于消除静差,其效果不仅与偏差大小有关,而且还与偏差持续的时间有关。简单来说就是把偏差积累起来,一起算总帐。
微分控制:它能敏感出误差的变化趋势,可在误差信号出现之前就起到修正误差的作用,有利于提高输出响应的快速性,减小被控量的超调和增加系统的稳定性。但微分作用很容易放大高频噪声,降低系统的信噪比,从而使系统抑制干扰的能力下降。因此,在实际应用中,应慎用微分控制,尤其是当你开始作实验时,不防将微分控制项去掉,看看行不行,呵呵,不行啊?还是看看别的地方吧,肯定行的。
行了,这三个参数说明白了,再来说说怎么确定这几个参数的数值吧。这几个参数的确定比较先进的方式是自整定,但是如果是开始涉及这部分还是先不要讲了,按照经验值吧。估计大家用来控制温度比较多。大家按照这个规律来选吧。Kp=100/P Ki= kp*T/I Kd= kp*D/T 分别介绍一下各个参数的意义:
T:计算周期,就是各多少时间计算一次
⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)],单位是秒。一般1秒或者0.5秒甚至5秒都行。P:比例带 I:积分时间 D:微分时间
P、I、D跟kp,ki,kd有什么关系呢? Kp=100/P, Ki=kp*T/I Kd=kp*D/T 然后就可以计算
⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)] 算出来⊿U(n)之后再怎么办呢?怎么把这一个数据跟控制输出联系在一起呢?说道这里我们先说说PID控制方式大体都有那些?
其一为线形连续PID输出,也就是说,PID运算的结果以模拟电压,电流或者可控硅导通角的形式按比例输出。
其二为时间-比例PID输出,也就是说,事先定一个时间长度,T1,然后PID运算的结果就在控制周期内以ON-OFF的形式输出出来,比如你控制一个炉子的温度,用电热丝来加热,就可以控制电热丝的一个控制周期内通电占整个控制周期的比例来实现,电路上可以用继电器或者过零触发的方式来切断或者接通电热丝供电。
起三为位置比例PID,PID运算的结果主要是对应于调节阀的阀门开度。
再回到前面,我们以第二种控制方式为例,计算出⊿U(n)后,一般首先将其归一化,也就是说除以你所要控制的温度的量程。⊿U(n)0_1=⊿U(n)/(hh-ll)而时间比例PID输出对应的是“位置式PID运算”的结果 所以呢,我们要讲结果累积起来,U(n)0_1+=⊿U(n)0_1
然后将次结果换算成对应于控制周期的占空比。来输出
PID控制的原理和特点
PID参数整定
2010-01-27 12:26:06| 分类: PLC控制部分 | 标签: |字号大中小 订阅
PID全称比例(proportion)-积分(integral)-微分(derivative)控制器,是自动控制系统设计中最经典应用最广泛的一种控制器,实际上是一种算法。
任何闭环的控制系统都有它固有的特性,可以有很多种数学形式来描述它,如微分方程、传递函数、状态空间方程等。但这样的系统如果不做任何的系统改造很难达到最佳的控制效果,比如快速性稳定性准确性等。为了达到最佳的控制效果,我们在闭环系统的中间加入PID控制器,改造系统的结构特性,并且调整PID参数来实现(虽然算法有很多种,但最经典的还是PID)。
PID算法本身就有很多种结构,但归根到底离不了P、I、D三个参数。我们在这里不讨论具体的算法怎么实现、怎么编写,我们只想以最通俗的说法让大家知道按照什么样的原则去调整这三个参数达到最佳控制效果。
任何闭环控制系统的首要任务是要稳(稳定)、快(快速)、准(准确)的响应命令。PID调整的主要工作就是如何实现这一任务。以下是个人对PID调整的一点经验和想法。
增大比例系数P将加快系统的响应,它的作用于输出值较快,但不能很好稳定在一个理想的数值,不良的结果是虽较能有效的克服扰动的影响,但有余差出现,过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。积分能在比例的基础上消除余差,它能对稳定后有累积误差的系统进行误差修整,减小稳态误差。微分具有超前作用,对于具有容量滞后的控制通道,引入微分参与控制,在微分项设置得当的情况下,对于提高系统的动态性能指标,有着显著效果,它可以使系统超调量减小,稳定性增加,动态误差减小。综上所述,P---比例控制系统的响应快速性,快速作用于输出,好比“现在”(现在就起作用,快),I---积分控制系统的准确性,消除过去的累积误差,好比“过去”(清除过去积怨,回到准确轨道),D---微分控制系统的稳定性,具有超前控制作用,好比“未来”(放眼未来,未雨绸缪,稳定才能发展)。当然这个结论也不可一概而论,只是想让初学者更加快速的理解PID的作用。
在调整的时候,你所要做的任务就是在系统结构允许的情况下,在这三个参数之间权衡调整,达到最佳控制效果,实现稳快准的控制特点。
PID参数的整定:
第二篇:PID控制小结
PID控制小结
在PID参数进行整定时如果能够有理论的方法确定PID参数当然是最理想的方法,但是在实际的应用中,更多的是通过凑试法来确定PID的参数。
增大比例系数P一般将加快系统的响应,在有静差的情况下有利于减小静差,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。增大积分时间I有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。
增大微分时间D有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。在凑试时,可参考以上参数对系统控制过程的影响趋势,对参数调整实行先比例、后积分,再微分的整定步骤。
PID控制原理:
1、比例(P)控制 :比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。
2、积分(I)控制 :在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。
3、微分(D)控制 :在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。PID控制器参数整定的一般方法:
PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:
一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改; 二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。
现在一般采用的是临界比例法。利用该方法进行 PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。
PID参数的设定:是靠经验及工艺的熟悉,参考测量值跟踪与设定值曲线,从而调整P、I、D的大小。书上的常用口诀:
参数整定找最佳,从小到大顺序查; 先是比例后积分,最后再把微分加; 曲线振荡很频繁,比例度盘要放大; 曲线漂浮绕大湾,比例度盘往小扳; 曲线偏离回复慢,积分时间往下降; 曲线波动周期长,积分时间再加长; 曲线振荡频率快,先把微分降下来; 动差大来波动慢。微分时间应加长; 理想曲线两个波,前高后低4比1; 一看二调多分析,调节质量不会低。
个人认为PID参数的设置的大小,一方面是要根据控制对象的具体情况而定;另一方面是经验。P是解决幅值震荡,P大了会出现幅值震荡的幅度大,但震荡频率小,系统达到稳定时间长;I是解决动作响应的速度快慢的,I大了响应速度慢,反之则快;D是消除静态误差的,一般D设置都比较小,而且对系统影响比较小。PID参数怎样调整最佳(1)整定比例控制
将比例控制作用由小变到大,观察各次响应,直至得到反应快、超调小的响应曲线。(2)整定积分环节
若在比例控制下稳态误差不能满足要求,需加入积分控制。
先将步骤(1)中选择的比例系数减小为原来的50~80%,再将积分时间置一个较大值,观测响应曲线。然后减小积分时间,加大积分作用,并相应调整比例系数,反复试凑至得到较满意的响应,确定比例和积分的参数。(3)整定微分环节
若经过步骤(2),PI控制只能消除稳态误差,而动态过程不能令人满意,则应加入微分控制,构成PID控制。先置微分时间TD=0,逐渐加大TD,同时相应地改变比例系数和积分时间,反复试凑至获得满意的控制效果和PID控制参数。
第三篇:PID控制学习笔记整理
一、PID控制原理
1.综述:
PID是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制方案:
e(t)rin(t)yout(t)
重点关注相关算法是如何对偏差进行处理的。
1tde(t)u(t)kpe(t)e(t)dtTD0Tdt1U(s)1G(s)kp1TDsE(s)T1s PID控制器各校正环节的作用如下:
比例环节: 成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差。
积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数T,T越大,积分作用越弱,反之则越强。
微分环节:反映偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。2.PID控制算法分类 2.1、位置式PID控制算法
按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即:
tkT(k0,1,2,3)kkt0e(t)dtTe(j)Te(j)j0j0de(t)e(kT)e((k1)T)e(k)e(k1)TTdt
可得离散表达式:
Tu(k)kp(e(k)T1kTDe(j)(e(k)e(k1)))Tj0ke(k)e(k1)kpe(k)kie(j)TkdTj0式中,Ki=Kp/Ti, Kd=KpTd, T为采样周期,K为采样序号,k=1, 2, ……, e(k-1)和e(k)分别为第(k-1)和第k时刻所得的偏差信号。位置式PID控制系统
算法流程:
本方法可实现D/A及A/D的功能,符合数字实时控制的真实情况,计算机及DSP的实时PID控制都属于这种情况。
2.2、增量式PID控制算法
当执行机构需要的是控制量的增量(例如驱动步进电机)时,应采用增量式PID控制。根据递推原理可得:
u(k1)kp(e(k1)kie(j)kd(e(k1)e(k2)))j0k1
增量式PID的算法:
u(k)u(k)u(k1)
u(k)kp(e(k)e(k1))kie(k)kd(e(k)2e(k1)e(k2))2.3、积分分离PID控制算法
在普通PID控制中,引入积分环节的目的主要是为了消除静差,提高控制精度。但在过程的启动、结束或大幅度增减设定时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,致使控制量超过执行机构可能允许的最大动作范围对应的极限控制量,引起系统较大的振荡,这在生产中是绝对不允许的。
积分分离控制基本思路是,当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定量时,引入积分控制,以便消除静差,提高控制精度
具体实现的步骤是:
1、根据实际情况,人为设定阈值ε>0;
2、当∣e(k)∣>ε时,采用PD控制,可避免产生过大的超调,又使系统有较快的响应;
3、当∣e(k)∣≤ε时,采用PID控制,以保证系统的控制精度。
<体现的思想就是分段控制> 积分分离控制算法可表示为:
u(k)kpe(k)kie(j)Tkd(e(k)e(k1))/Tj0k
式中,T为采样时间,β项为积分项的开关系数
10其算法流程:
e(k)e(k)
2.4、抗积分饱和PID控制算法
积分饱和现象
所谓积分饱和现象是指若系统存在一个方向的偏差,PID控制器的输出由于积分作用的不断累加而加大,从而导致u(k)达到极限位置。此后若控制器输出继续增大,u(k)也不会再增大,即系统输出超出正常运行范围而进入了饱和区。一旦出现反向偏差,u(k)逐渐从饱和区退出。
进入饱和区愈深则退饱和时间愈长。此段时间内,系统就像失去控制。这种现象称为积分饱和现象或积分失控现象。
执行机构饱和特性
抗积分饱和算法
在计算u(k)时,首先判断上一时刻的控制量u(k-1)是否己超出限制范围。若超出,则只累加负偏差;若未超出,则按普通PID算法进行调节。
这种算法可以避免控制量长时间停留在饱和区。2.5、梯形积分PID控制算法
在PID控制律中积分项的作用是消除余差,为了减小余差,应提高积分项的运算精度,为此,可将矩形积分改为梯形积分。
梯形积分的计算公式为:
dte(t)0ti0ke(i)e(i1)2T
2.6、变速积分PID控制算法
变速积分的基本思想是,设法改变积分项的累加速度,使其与偏差大小相对应:偏差越大,积分越慢;反之则越快,有利于提高系统品质。
设置系数f(e(k)),它是e(k)的函数。当∣e(k)∣增大时,f减小,反之增大。变速积分的PID积分项表达式为:
k1ui(k)kie(i)fe(k)e(k)Ti0
系数f与偏差当前值∣e(k)∣的关系可以是线性的或是非线性的,例如,可设为:
1Ae(k)Bfe(k)A0变速积分PID算法为:
e(k)BBe(k)AB
e(k)AB
k1u(k)kpe(k)kie(i)fe(k)e(k)Tkde(k)e(k1)i0
这种算法对A、B两参数的要求不精确,参数整定较容易
2.7、不完全微分PID控制算法
在PID控制中,微分信号的引入可改善系统的动态特性,但也易引进高频干扰,在误差扰动突变时尤其显出微分项的不足。若在控制算法中加入低通滤波器,则可使系统性能得到改善
不完全微分PID的结构如下图。左图将低通滤波器直接加在微分环节上,右图是将低通滤波器加在整个PID控制器之后
不完全微分算法:
uD(k)KD(1a)(e(k)e(k1))uD(k1)
KDkpTD/TsTfTsTfTs为采样时间,Ti和Td为积分时间常数和微分时间常数,Tf为滤波器系数
2.8、微分先行PID控制算法
微分先行PID控制的特点是只对输出量yout(k)进行微分,而对给定值rin(k)不进行微分。这样,在改变给定值时,输出不会改变,而被控量的变化通常是比较缓和的。这种输出量先行微分控制适用于给定值rin(k)频繁升降的场合,可以避免给定值升降时引起系统振荡,从而明显地改善了系统的动态特性
结构图如下:
2.9、带死区的PID控制算法
在计算机控制系统中,某些系统为了避免控制作用过于频繁,消除由于频繁动作所引起的振荡,可采用带死区的PID控制算法,控制算式为:
0
0
式中,e(k)为位置跟踪偏差,e0是一个可调参数,其具体数值可根据实际控制对象由实验确定。若e0值太小,会使控制动作过于频繁,达不到稳定被控对象的目的;若e0太大,则系统将产生较大的滞后
控制算法流程:
0e(k)e(k)e(k)ee(k)e
注:<我们电子设计竞赛里,在简易倒立摆控制装置中就采用了带死区的PID控制算法,当时并不知道这个名称,这也就是在现场测试的时候为什么老师会问我们摆能够保持倒立静止不动,而不是靠左右抖动来控制平衡,就是因为我在里面设置了死区:好像是5度的角度> 仿真测试例程和图像见参考文档《先进PID控制及其MATLAB仿真》
3.PID控制体会(2013·12·17)
具体接触到实际中的应用有过两次的体会:
一是利用数字PID控制算法调节直流电机的速度,方案是采用光电开关来获得电机的转动产生的脉冲信号,单片机(MSP430G2553)通过测量脉冲信号的频率来计算电机的转速(具体测量频率的算法是采用直接测量法,定时1s测量脉冲有多少个,本身的测量误差可以有0.5转加减),测量的转速同给定的转速进行比较产生误差信号,来产生控制信号,控制信号是通过PWM调整占空比也就是调整输出模拟电压来控制的(相当于1位的DA,如果用10位的DA来进行模拟调整呢?效果会不会好很多?),这个实验控制能力有一定的范围,只能在30转/秒和150转/秒之间进行控制,当给定值(程序中给定的速度)高于150时,实际速度只能保持在150转,这也就是此系统的最大控制能力,当给定值低于30转时,直流电机转轴实际是不转动的,但由于误差值过大,转速会迅速变高,然后又会停止转动,就这样循环往复,不能达到控制效果。根据实测,转速稳态精度在正负3转以内,控制时间为4到5秒。实验只进行到这种程度,思考和分析也只停留在这种深度。
二是利用数字PID控制算法调节直流减速电机的位置,方案是采用与电机同轴转动的精密电位器来测量电机转动的位置和角度,通过测量得到的角度和位置与给定的位置进行比较产生误差信号,然后位置误差信号通过一定关系(此关系纯属根据想象和实验现象来拟定和改善的)转换成PWM信号,作为控制信号的PWM信号是先产生对直流减速电机的模拟电压U,U来控制直流减速电机的力矩(不太清楚),力矩产生加速度,加速度产生速度,速度改变位置,输出量是位置信号,所以之间应该对直流减速电机进行系统建模分析,仿真出直流减速电机的近似系统传递函数,然后根据此函数便可以对PID的参数进行整定了。
两次体会都不是特别清楚PID参数是如何整定的,没有特别清晰的理论指导和实验步骤,对结果的整理和分析也不够及时,导致实验深度和程度都不能达到理想效果。
以后的学习要保持咬定青山不放松的劲头,不把一件事情弄透彻绝不放手!PID控制的学习可以继续进行,看看如何通过仿真来更加深入的理解其过程。然后趁着于立佳学长正在进行这项工作,我可以等待他把调节更加深入之后来求教。
**********************************************2013年12月17日星期二
第四篇:关于西门子S7-200 PID编程学习心得
关于西门子S7-200 PID编程学习心得
1.注意区分输入端接的是电压信号还是电流信号;输出端是电流信号还是电压信号。在模拟模块上不同信号下的接线方式。
2.了解信号输入元件相关资料:
如使用温度变送器,要了解温度变送器测量范围,如0~100℃;输出电流范围4~20mA;分度号是什么,如PT100;接线原理图等。相关输入元件;输出元件在模拟模块上的接线方式。其他如工程要求的精度是多少等。
3.关于PID设定值(VD204)确认:
假定我们将控制温度定位23.5℃;以单极性为例,首先应确定输入信号是0~10V电压信号还是4~20mA电流信号?,这在PID设定值中非常重要。如是0~10V电压输入信号对应0~32000,温度范围0~100℃,设定值为可直接算出: VD204=23.5/(100-0)=0.235;
若是电流4~20mA,其对应数值应为6400~32000,温度范围0~100℃,则设定值应为0.388。
原因:模拟模块中0~32000对应0~20mA;其中6400~32000对应4~20mA对应0~100℃;这就必须进行相关的计算,23.5℃电流计算方式:
(20-4):(100-0)=(X-4):23.5;解方程:X=7.76(mA)。设定值:VD204=7.76/20=0.388.4.关于PID输出值(VD208)确认:
以单极性为例,应确定输出信号是0~10V电压信号还是4~20mA电流信号对应着0~32000?
若是输出信号AQW0对应电压信号,比如0~10V,则 AQW0=(实数VD208*32000在转化成整数)即可; 若是输出信号AQW0对应电流信号,比如4~20 mA,则 AQW0=(实数VD208*32000在转化成整数+6400)。5.关于PID恒温控制实际: 通过上机实验可知:PID恒温控制是围绕着设定值进行调节的。若设定温度为23.5℃;当温度低于设定值时,加温蒸汽调节阀始终处于全部打开状态,;当温度达到23.5℃,加温用的蒸汽调节阀开始逐渐关闭,在关闭过程中,温度有可能仍在渐渐上升,温度偏离越大,关闭速度越快;知道全部关闭为止;当温度再次低于设定值时,加温蒸汽调节阀则会逐渐打开,打开速度取决于温度偏离值的大小,偏离越大,打开速度越快;直到温度再次达到设定值。若温度长时间未达到设定值,调节功能会将调节阀全部打开,这就是我所观察到的PID恒温控制情况。所以,我们可以根据实控情况进行必要的编程,有效的利用低于设定值时PID控制时段;切断高于设定值部分的PID控制,在温度高于设定值后,即可根据生产要求干脆部分或全部关闭加温阀。以防温度上升过高。来求得优越的温控效果。
西门子SIEMENS S7-200CPU PID控
制图解之二
点击数:103 发布时间:2009年9月27日 来源:
常问问题
1做完 PID 向导后,如何知道向导中设定值,过程值及 PID 等参数所用的地址?
•做完 PID 向导后可在 Symbol Table(符号表)中,查看 PID 向导所生成的符号表(上例中为 PID0_SYM),可看到各参数所用的详细地址,及数值范围。
•在 Data Block(数据块)中,查看 PID 指令回路表的相关参数。如图所示:
图 12.PID 数据块
2、做完 PID 向导后,如何在调试中修改 PID 参数?
可以在 Status Chart(状态表)中,输入相应的参数地址,然后在线写入用户需要的 PID 参数数值,这样用户就可根据工艺需要随时对 PID 参数、设定值等进行调整。
3、PID 已经调整合适,如何正式确定参数?
可以在 Data Block(数据块)中直接写入参数。
4、做完 PID 向导后,能否查看 PID 生成的子程序,中断程序?
PID 向导生成的子程序,中断程序用户是无法看到的,也不能对其进行修改。没有密码能够打开这些子程序,一般的应用也没有必要打开查看。
5、PID 参数有经验值吗?
每一个项目的 PID 参数都不一样,没有经验参数,只能现场调试获得。
6、我的 PID 向导生成的程序为何不执行?
•必须保证用 SM0.0 无条件调用 PID0_INIT 程序
•在程序的其它部分不要再使用 SMB34 定时中断,也不要对 SMB34 赋值
7、如何实现 PID 反作用调节?
在有些控制中需要 PID 反作用调节。例如:在夏天控制空调制冷时,若反馈温度(过
程值)低于设定温度,需要关阀,减小输出控制(减少冷水流量等),这就是 PID 反
作用调节(在 PID 正作用中若过程值小于设定值,则需要增大输出控制)。
若想实现 PID 反作用调节,需要把 PID 回路的增益设为负数。对于增益为 0 的积分或
微分控制来说,如果指定积分时间、微分时间为负值,则是反作用回路。
8、如何根据工艺要求有选择地投入 PID 功能?
可使用“手动/自动”切换的功能。PID 向导生成的 PID 功能块只能使用 SM0.0 的条件 调用。
PID Wizard 中的给定-反馈设置
完成 PID Wizard 组态后,会为每个 PID 回路生成一个子程序 PIDx_INIT(x = 01.0 之间的实
数,而可以是实际的反馈地址,或是其他变量。例如,PV_I 可以是模拟量输入地址
AIW0,也可以是存储器地址 VW100 等;Setpoint 则往往来自 V 变量存储区,这样可以
从人机操作界面(HMI)设备输入给定值。注意:对于 PID 控制系统来说,必须保证给定与过程反馈的一致性: •给定与反馈的物理意义一致
这取决于被控制的对象,如果是压力,则给定也必须对应于压力值;如果是温度,则 给定也必须对应于温度。•给定与反馈的数值范围对应
如果给定直接是摄氏温度值,则反馈必须是对应的摄氏温度值;如果反馈直接使用模
拟量输入的对应数值,则给定也必须向反馈的数值范围换算。如果给定与反馈的换算有特定的比例关系也可以。如给定也可以表示为以反馈的数值 范围的百分比数值。
给定与反馈的数值具体是什么数值,其取值范围究竟如何,完全取决于我们在使用
“PID 向导”编程时指定的给定与反馈的数值范围。其中,反馈量的数值范围不能随
便自己定义,而要取决于具体应用的模拟量输入模块。图 2.在图中 a.处设置给定范围 图 3.在图中 b.处设置反馈范围
假定一个 PID 控制系统的控制对象是压力,反馈元件的测量范围为 020mA(或 41200.0 °C。则
可按如下设置给定的范围。
表 2.在上面的例子中,反馈和给定可以按照如下方法设置
图 4.反馈范围设置
图 5 给定范围设置
PID 自整定
新的 S7-200 CPU 支持 PID 自整定功能,在 STEP 7-Micro/WIN V4.0 中也添加了 PID 调 节控制面板。
用户可以使用用户程序或 PID 调节控制面板来启动自整定功能。在同一时间最多可以有 8 个 PID 回路同时进行自整定。PID 调节控制面板也可以用来手动调试老版本的(不支持 PID 自整定)CPU 的 PID 控制回路。用户可以根据工艺要求为调节回路选择快速响应、中速响应、慢速响应或极慢速响应。PID 自整定会根据响应类型而计算出最优化的比例、积分、微分值,并可应用到控制中。PID 调节控制面板
STEP 7-Micro/WIN V4.0 中提供了一个 PID 调节控制面板,可以用图形方式监视 PID 回路的运行,另外从面板中还可以启动、停止自整定功能。
图 1.PID 调节控制面板 在图 1 中: a.过程值指示 显示过程变量的值及其棒图 b.当前的输出值指示
显示当前使用的设定值、采样时间、PID 参数值及显示当前的输出值和棒图
c.可显示过程值、设定值及输出值的 PID 趋势图 A.过程变量和设定值的取值范围及刻度
B.PID 输出的取值范围及刻度 C.实际 PC 时间
D.以不同颜色表示的设定值、过程变量及输出的趋势图
d.调节参数 这里你可以:
o 选择 PID 参数的显示:当前参数(Current)、推荐参数(Suggested)、手动输入(Manual)
o 在Manual 模式下,可改变 PID 参数,并按 Update PLC 按钮来更新 PLC 中的参数 o 启动 PID 自整定功能
o 选择 Advanced(高级)按钮进入高级参数设定 e.当前的 PID 回路号
这里你可以选择需要监视或自整定的 PID 回路
f.时间选项设定
这里你可以设定趋势图的时基,时基以分为单位
g.图例颜色
这里你可以看到趋势图中不同的颜色代表不同的值的趋势 h.帮助按钮
i.PID 信息显示窗口
j.关闭 PID 调节面板
要使用 PID 调节控制面板,PID 编程必须使用 PID 向导完成。
PID 自整定步骤
第一步:在 PID Wizard(向导)中完成 PID 功能组态
要想使用 PID 自整定功能,PID 编程必须用 PID 向导来完成第二步:打开 PID 调节控制面板,设置 PID 回路调节参数 在 Micro/WIN V4.0 在线的情况下,从主菜单 Tools > PID Tune Control Panel 或点击进入 PID 调节控制面板中,如果面板没有被激活(所有地方都是灰色),可点击 Configure(配置)按钮运行 CPU。在 PID 调节面板的 e.区选择要调节的 PID 回路号,在 d.区选择 Manual(手动),调节 PID 参数并点击
Update(更新),使新参数值起作用,监视其趋势图,根据调节状况改变 PID 参数直至调节稳定。
为了使 PID 自整定顺利进行,应当做到:
•使 PID 调节器基本稳定,输出、反馈变化平缓,并且使反馈比较接近给定
•设置合适的给定值,使 PID 调节器的输出远离趋势图的上、下坐标轴,以免 PID 自整定开始后输出值的变化 范围受限制
参见:手动调整 PID 回路参数
图 3.设置 PID 自整定高级选项 在此允许你设定下列参数:
a.你可以选中复选框,让自整定来自动计算死区值和偏移值对于一般的 PID 系统,建议使用自动选择。b.Hysteresis(滞回死区):
死区值规定了允许过程值偏离设定值的最大(正负)范围,过程反馈在这个范围内的变化不会引起 PID 自整定调节器改变输出,或者使 PID 自整定调节器“认为”这个范围内的变化是由于自己改变输出进行自整定调节而引起的。PID 自整定开始后,只有过程反馈值超出了该区域,PID 自整定调节器才会认为它对输出的改变发生了效果。这个值用来减少过程变量的噪声对自整定的干扰,从而更精确地计算出过程系统的自然振动频率。如果选用自动计算,则缺省值为 2%。如果过程变量反馈干扰信号较强(噪声大)自然变化范围就大,可能需要人为设置一个较大的值。但这个值的改变要与下面的偏差值保持 1:4 的关系。c.Deviation(偏差):
偏差值决定了允许过程变量偏离设定值的峰峰值。如果选择自动计算该值,它将是死区的 4 倍,即 8%。有些非常敏感的系统不允许过程量偏离给定值很多,也可以人工设置为比较小的值,但是要和上述“死区”设置保持比例关系。这就是说,一个精度要求高的系统,其反馈信号必须足够稳定。
d.Initial Output Step(初始步长值):PID 调节的初始输出值 PID 自整定开始后,PID 自整定调节器将主动改变 PID 的输出值,以观察整个系统的反应。初始步长值就是输出的变动第一步变化值,以占实际输出量程的百分比表示。
e.Watchdog Time(看门狗时间):过程变量必须在此时间(时基为秒)内达到或穿越给定值,否则会产生看门狗超时错误。PID 自整定调节器在改变输出后,如果超过此时间还未观察到过程反馈(从下至上或从上至下)穿越给定曲线,则超时。如果能够事先确定实际系统响应非常慢,可以加长这个时间。
f.动态响应选项:根据回路过程(工艺)的要求可选择不同的响应类型:快速、中速、慢速、极慢速 o 快速:可能产生超调,属于欠阻尼响应 o 中速:在产生超调的边缘,属于临界阻尼响应
o 慢速:不会产生任何超调,属于过阻尼响应
o 极慢速:不会产生任何超调,属于严重过阻尼响应用户在这里指定需要达到的系统控制效果,而不是对系统本身响应快慢的判断。g.设定完参数点击 OK 键回到 PID 调节控制面板的主画面
第四步:在手动将 PID 调节到稳定状态后,即过程值与设定值接近,且输出没有不规
律的变化,并最好处于控制范围中心附近。此时可点击 d.区内的 Start Auto Tune 按
钮启动 PID 自整定功能,这时按钮变为 Stop Auto Tune。这时只需耐心等待,系统完
成自整定后会自动将计算出的 PID 参数显示在 d.区。当按钮再次变为 Start Auto Tune 时,表示系统已经完成了 PID 自整定。
要使用自整定功能,必须保证 PID 回路处于自动模式。开始自整定后,给定值不能再改变。
第五步:如果用户想将 PID 自整定的参数应用到当前 PLC 中,则只需点击 Update PLC。
完成 PID 调整后,最好下载一次整个项目(包括数据块),使新参数保存到 CPU 的 EEPROM 中。
PID 自整定失败的原因
1.PID 输出在最大值与最小值之间振荡(曲线接触到坐标轴)
解决方法:降低 PID 初始输出步长值(initial output step)
2.经过一段时间后,PID 自整定面板显示如下信息:“ The Auto Tune algorithm was aborted due to a zero-crossing watchdog timeout.” 即自整定计算因为等待
反馈穿越给定值的看门狗超时而失败。
解决方法: 确定在启动 PID 自整定前,过程变量和输出值已经稳定。并检查
Watchdog Time 的值,将其适当增大。
对于其它错误,可参考手册中表 15-3 中的错误代码的描述。如何获得一个稳定的 PID 回路 在开始 PID 自整定调整前,整个 PID 控制回路必须工作在相对稳定的状态。
稳定的 PID 是指过程变量接近设定值,输出不会不规则的变化,且回路的输出值在控制范围中心附近变化。问题与解决方法:
1.PID 输出总是输出很大的值,并在这一区间内调节变化
产生原因:
o 增益(Gain)值太高
o PID 扫描时间(sample time)太长(对于快速响应 PID 的回路)解决方法:降低增益(Gain)值并且/或选择短一些的扫描时间 2.过程变量超过设定值很多(超调很大)
产生原因:积分时间(Integral time)可能太高 解决方法:降低积分时间 3.得到一个非常不稳定的 PID
产生原因: o如果用了微分,可能是微分参数有问题 o没有微分,可能是增益(Gain)值太高 解决方法:
o调整微分参数到 0-1 的范围内
o根据回路调节特性将增益值降低,最低可从 0.x 开始逐渐增大往上调,直到获得稳定的 PID。
S7-200 PLC在PID闭环控制系统中的应用 引 言
在工业生产中,常需要用闭环控制方式来控制温度、压力、流量等连续变化的模拟量,无论是使用模拟量控制器的模拟控制系统还是使用计算机(包括PLC)的数字控制系统,PID控制都得到了广泛应用。PID控制器是比例-积分-微分控制(Proportional-Integral-De-rivative)的简称,其优点是不需要精确的控制系统数学模型,有较强的灵活性和适应性,而且PID控制器的结构典型、程序设计简单、工程上易于实现、参数调整方便。本文以西门子公司S7-200 PLC为例介绍PLC在PID闭环控制系统中的应用。PLC实现PID控制的方式
用PLC对模拟量进行PID控制大致有如下几种方法:
(1)使用PID过程控制模块:这种模块的PID控制程序是PLC厂家设计的,并放在模块中,用户使用时只需要设置一些参数,使用起来非常方便。
(2)使用PID功能指令:它是用于PID控制的子程序,与模拟量输入/输出模块一起使用,可以得到类似于使用PID过程控制的效果,但价格便宜得多。如S7-200的PID指令。
(3)用自编的程序实现PID闭环控制:在没有PID过程控制模块和功能指令的情况下,仍希望采用某种改进的PID控制算法,此时用户需要自己编制PID控制程序。
本文以西门子S7-200 PLC为例,说明PID控制的原理及PLC的PID功能指令的使用及控制功能的实现。PLC PID控制器的实现
3.1 PID控制器的数字化
PLC的PID控制器的设计是以连续的PID控制规律为基础,将其数字化,写成离散形式的PID方程,再根据离散方程进行控制程序的设计。
在连续系统中,典型的PID闭环控制系统如图1所示。图1中sp(t)是给定值;pv(t)为反馈量;c(t)为系统的输出量,PID控制器的输入/输出关系如式(1)所示:
式中:M(t)为控制器输出;Mo为输出的初始值;e(t)=sp(t)-pv(t)为误差信号;Kc为比例系数;T1为积分时间常数,TD为微分时间常数。等号右边前三项分别是比例、积分、微分部分,它们分别与误差、误差的积分和微分成正比。如果取其中的1项或2项,可以组成P,PD或PI控制器。
假设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似精确积分,用差分近似精确微分,将式1离散化,第n次采样时控制器的输出如式(2)所示:
式中:en-1为第n-1次采样时的误差值;K1为积分系数;KD为微分系数。
基于PLC的闭环控制系统如图2所示,图中虚线部分在PLC内,spn,pvn,en,Mn分别为模拟量sp(t),pv(t),e(t),M(t)在第n次采样的数字量。在许多控制系统中,可能只需要P,I,D中的1种或者2种控制类型。例如,可能只要求比例控制或比例与积分控制,通过设置参数可对回路控制类型进行选择。
3.2 输入输出变量的转换
PID控制有输入量2个:给定值sp和过程变量pv。给定值通常是固定值,过程变量通常是经过A/D转换和计算后得到的被控量的实测值。给定值和过程变量都是和被控对象有关的值,对于不同的系统,它们的大小、范围与工程单位有很大的不同。应用PLC的PID指令对这些量进行运算之前,必须将其转换成标准化的浮点数(实数)。同样,对于PID指令的输出,在将其送给D/A转换器之前,也需要进行转换。
3.2.1 回路输入的转换
首先,将给定值或A/D转换后得到的整数值由16位整数转换为浮点数,可以用下面的程序实现这种转换:
然后,将实数进一步转换成0.0~1.0之间的标准数,可用式3对给定值及过程变量进行标准化:
式中:RNorm为标准化实数值;RRaw为标准化前的值;offset为偏移量,对单极性变量为0.0,对双极性变量为0.5;Span为取值范围,等于变量的最大值减去最小值,单极性变量的典型值为32 000,双极性变量的典型值为64 000。
下面的程序将上述转换后得到的AC0中的双极性数(其中span=64 000)转换为0.0~1.0之间的实数的转换程序为:
3.2.2 回路输出的转换
回路输出即PID控制器的输出,它是标准化的0.0~1.0之间的实数。将回路输出送给D/A转换器之前,必须转换成16位二进制数,这一过程是将pv与sp转换成标准化数值的逆过程。
用下面的式(4)将回路输出转换为实数:
式中,RScal是回路输出对应的实数值;Mn是回路输出标准化的实数值。
将回路输出转换为对应的实数的程序为:
将代表回路输出的实数转化为16位整数的指令为: PID指令及其回路表
S7-200的PID指令如图3所示。
指令中TBL是回路表的起始地址,LOOP是回路编号。编译时如果指令指定的回路表起始地址或回路号超出范围,CPU将生成编译错误(范围错误),引起编译失败。PID指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等不超限。回路表如表1所示:
过程变量与给定值是PID运算的输入值,在回路表中他们只能被PID指令读取而不能改写。每次完成PID运算后,都要更新回路表内的输入值Mn,它被限制在0.0~1.0之间。
如果PID指令中的算术运算发生错误,特殊存储器位SM 1.1(溢出或非法数值)被置为1,并将中止PID指令的执行,想要消除这种错误,在下一次执行PID运算之前,应改变引起运算错误的输入值,而不是更新输出值。PID指令编程举例
温度控制是工业生产过程中很重要的一种控制。温度控制系统一般具有大惯性、大延时的特点。在工业控制中,难以建立温度系统的精确数学模型,而应用模拟或数字式PID闭环控制往往能获得较好的控制精度。
本例采用PID控制器,温度给定值经标准化处理后为0.8,选取控制器参数初值为:Kc=0.2,Ts=0.05 s,TI=20 min,TD=10 min。控制程序如下:
结 语
本文针对西门子S7-200 PLC在PID闭环控制系统中的应用,介绍PID数字控制器的原理、实现方法和编程实例。需要指出的是,PID控制算法具有很强的灵活性,根据被控对象特点的不同,可以使用PI控制、PD控制、PID控制等多种形式,从而达到更好的控制效果。随着智能控制技术的发展,PID控制与模糊控制、神经网络控制等现代控制方法的结合,可以实现PID控制器的参数自整定,使PID控制器具有经久不衰的生命力。
第五篇:三菱PLC实现智能PID控制及其应用
龙源期刊网 http://.cn
三菱PLC实现智能PID控制及其应用 作者:徐华军
来源:《沿海企业与科技》2005年第05期
[摘 要]以三菱PLC为核心的温度控制系统,采用了专家智能PID控制方法,利用专家系统知识库输出修正PID参数以及改变PID控制方式。实践表明该方法简单易行、适应性好、鲁棒性强。
[关键词]PLC;智能PID;专家系统;温度控制
[中图分类号]TP315
[文献标识码]A