讲讲工控人最纠结的PID吧.docx
《讲讲工控人最纠结的PID吧.docx》由会员分享,可在线阅读,更多相关《讲讲工控人最纠结的PID吧.docx(25页珍藏版)》请在冰豆网上搜索。
讲讲工控人最纠结的PID吧
1.
咱从最基础的说起。
。
。
呵呵。
。
。
先说一个概念。
。
。
系统。
。
。
。
。
。
。
我一说,肯定就有人嚷嚷,什么啊,这么简单,谁不知道系统啊,说点难的来听一听。
。
。
。
。
呵呵。
。
。
。
是不是啊!
!
!
!
呵呵呵。
。
。
2.
这里所说的系统,首先是一个自身稳定系统。
。
。
。
自身不稳定系统,是不予考虑的。
。
比如这个系统,稍微作用一点外力,这个系统就崩溃了!
!
(球就掉了)呵呵。
。
这个不在我们讨论之列。
。
。
。
呵呵。
。
3.
再一个就是,我们这个系统,要有单一的对应关系,(如上图)。
假如输入输出有复杂的对应关系,一个输入可以对应多个输出,或者多个输入对应一个输出的,也不在我们考虑之列!
!
(如下图)。
。
呵呵。
。
4.
现在开始深入。
。
。
呵呵。
。
。
我们所指的系统,是有这样性质的,单一的,一个输入对一个输出的系统。
。
。
。
。
就像我们要论清辈分问题,就要是比较纯洁的,简单的家庭,像杨振宁娶了翁帆,翁帆他爹又娶了杨振宁孙女的辈分问题,不在我们讨论之列了!
!
呵呵。
。
。
单一系统!
!
一定要是单一的,稳定的系统!
!
!
呵呵。
。
5.
对应上面这个系统,给它加一个信号阶跃,i(红色),那么它的输出Q(绿色),这个也好理解嘛,因为有惯性,Q不能完全跟随i。
。
。
6.
为什么要控制呢?
?
因为它反映慢嘛!
!
!
那么久才跟上,显然不符合要求,怎么可以让它再快些呢?
?
?
这个图不用解释了,谁想到的这个解决办法也不必追究了。
。
。
。
反正,这个是可以提高响应速度
7.
把上面那个图不用的部分去掉,以免影响判断,单只有K(比例)控制的系统,是有差的,就是u≠0,因为如果u=0,则u*k也等于零,输出Q也就肯定是0.。
。
8.
如果要u很小,K就必须很大。
。
。
。
。
有人想了,那我就直接调节K到∞!
。
。
。
。
这样也不行。
。
。
如下图。
。
K值太大,超调也就大了,这里画的夸张一下,有利于留下印象。
。
所以,K太大超过一定范围也不行。
。
9.
相比较而言,PID控制就是在里面加了积分,微分量,控制图如上,各位可以对比一下。
。
。
今天到这里。
。
。
过节。
。
10.
还是上面那个图,我们先考虑PI控制(也就是比例+积分),画一个
,把微分先去掉。
。
。
。
看看,加进积分因素后,所得的控制结果有哪些方面的改善。
。
。
如上图。
。
加进积分因素后,第一个好处是无差了,u等于零了,二是,响应速度提高了,还有一个就是可以看出,当积分作用增强(积分系数增大)时,到达u=0的时间短,但是跟比例K增加时有一个同样的问题存在,就是积分系数越大,超调也就变得越大。
。
在一般工业仪表中,需要设置,P,I,D,参数,设定P就是用来设定比例放大倍数K,P跟K成反比,实际上P这里表示的是u,P(也就是u)设的小,表示你希望单比例控制的时候K值要大,同样道理,P(也就是u)设的大,表示你允许的容差大,也就是K小。
。
可以这样理解P=1/K......但未必是按比例。
。
只是说P小,意味着K大,P大意味着K小。
"I"是用积分时间表示,设的越大,比如设I=10000000000000000000s,就相当于取消了积分功能。
。
。
。
,D是表示微分时间,D设的时间越短,表示微分作用越弱,如果设D=0,表示取消了微分作用。
说了PI控制,这里面去掉了微分功能,要加上微分功能,控制又会是什么样子呢?
?
---呵呵,明天分解。
。
。
呵呵。
。
11.
这是日本理化RKC温控仪的参数设置。
。
12.
如图,设置P参数,就是如图中标出的宽度。
。
还有一个Pc参数,是指上半部分的宽度。
。
因为实际值在设定值以下时,是加热区(我们假设我们的例子是个加热系统),因为没有达到设定值,当然要继续加热,而上半部分为冷却区,因为实际温度高过设定温度,肯定就要开始冷却。
。
这就是P和Pc两个参数的设置。
。
(#再者偶感觉PID难找到合适数据的关键在于系统的特性变了,一个系统反映在函数上进行分析也是具有比例、积分、微分性质的,当这个系统不变时其系统中的PID参数不变,当系统改变时参数就改变了,比如一个PID控制调节的工艺流程,如果管线上的阀门开度发生了较大的变化,那么这个回路中的比例系数就变了。
此时在用PID控制器中的先前设定的PID参数值,偶感觉效果就不如先前了。
#)
积分一般写成,K1/S,(为了区分于比例的K,写成K1)如果时间固定,就是S固定,那么K1越大,积分作用越大,但是S就是积分时间越大,算式越小,越接近于零,算式等于零,就是没有积分作用。
。
13.
找了两个公式你看:
14.
如上图,一般参数输入方式,分成两种方式:
这是一种,多数的参数输入方式,是按这一种进行输入的。
这也是一种参数输入方式,:
可能你说的是这种输入方式,这种方式,所有的系数K增大,都是作用增强的!
!
而按照上面一种输入方式给定参数的话,积分时间约长,作用力越弱!
!
!
其实这两种输入方式是一样的,就像你给变频器输入参数,输入多少转也行,输入多少赫兹也行。
。
虽然是两个不同的参数,但是结果是一样的!
!
。
。
。
。
有的变频器要求你输入多少转,有的变频器要求你输入多少赫兹,其实是一样的。
。
。
。
这里也是这样。
。
有的仪表要求你输入Kp,Ti(积分时间),Td(微分时间)---按照这种方式输入参数。
有的仪表要求你输入Kp,Ki(积分系数),Kd(微分系数)---按照这种方式输入参数。
实际结果就跟到底是输入转数,还是HZ,道理是一样的。
。
明白没有?
?
15.
这是西门子S7的PID功能块FC41,如图SP_INT是设定值,----假如控制的是温度,你就设定应该是多少度----比如65度。
。
。
PV_IN是反馈值,这是你需要换算的,比如,你用一个模拟量模块带一个铂电阻,采样值(十进制)1234,实际温度20度。
。
那么你要先把你的采样值跟实际值一一对应起来。
。
。
PV_PER是调试的时候,把开关PVPER_ON打过来调试,使用的时候打到0就可以了。
。
DEADB_W是死区设置,如果没有死区,可以设成0,GAIN是开环倍数,相当于前面说的K,影响也是一样的。
。
。
过来以后分叉,最上面是比例,开关P_SEL默认打到1,就是有比例控制,中间是积分,积分开关I_SEL默认1,表示有积分控制,积分时间Ti设定方法跟前面一样。
。
。
如果你不需要积分就将Ti设为10000000000秒,当然,因为西门子模块预留了开关I_SEL,所以将这个开关打到0,相当于将Ti设为10000000000秒,。
。
。
。
标了一些,先看着。
。
。
(#系统都没有看明白么?
?
?
呵呵。
。
。
所以说,我们在搞控制前,首先要说明是对单纯的系统进行控制。
。
。
这个系统要求:
给一个输入,就应该有一个输出。
打个比方:
现在教你打兵乓球,比如咱们对着桌子打,为了可以控制球,首先咱们必须说明,桌面是平滑的,这是一个先决条件。
如果桌面凹凸不平,或者打滑,或者粘滞,那是不在我们考虑之列的!
!
桌子凹凸不平,打出的球方向就有可能多个方向,相当于有很多输出,没法控制。
(当然,这些也是可以控制的,就像导弹在不同的地理环境下,都可以绕开障碍物,打到目标。
这是另外的话题,不在我们考虑之列)。
对于系统也一样,首先我们要求这个系统是单纯的。
。
就是这个意思#)
16.
能看懂吧?
?
?
?
?
?
?
因为P,I,D所代表的参数的含义,各个仪表直接并不是完全相同的,容易造成混乱。
。
。
。
比如有的变频器,让你调:
速度=xxx赫兹,当然数值越大速度越快。
有的变频器让你调:
速度=XXX周期。
(就是转一圈用多少时间)。
。
当然数值越小转速越快。
虽然都是在速度的牌子下,开头都是标着速度,但是此“速度”≠彼“速度”,所以有人说了,我把速度菜单底下的那个数调大,电机转的快。
。
。
有的人说了,我把速度菜单的那个数调小了,电机转的快了。
。
。
所以说,电工们经常打架,呵呵呵。
。
。
总是弄不清楚,到底是增大对,还是减小对!
!
!
!
这就是电工们为什么扯不清的原因。
。
。
。
实际说透了非常简单是吧?
?
呵呵呵。
。
17.
还有,日本理光RKC仪表的P参数,不用实际的Kp参数标注,而是用有差系统的U代替,虽然U跟Kp不是比例关系,但是他们俩是“负相关”的关系,还记得这个名词么?
?
?
估计忘得差不多了吧?
?
?
呵呵。
。
。
负相关写成算式应该是:
Kp↑∝U↓
用这个关系,在P的标签下输入U值。
-----所以,具体的P,I,D的标签下,输入的是哪一个值,要看清楚。
。
负相关的XX词条:
18.
这个还是上面S7的PID功能块FC41,这里面的GAIN就是纯粹的开环放大倍数Kp,这个值改变对系统的影响也是如前面所述,所以,不管改变哪个参数,作用的点,发挥的作用是一致的。
对于各个仪表,模块,可能参数的设置的形式不太一样(就像调整速度,到底是调频率,速度,还是周期),但是目的和结果是一致的。
这个要根据不同的对象看清楚调整。
根据位置来说,影响开环比例的系数大类统称为P,关于积分的大类统称I,关于微分部分的参数统称D。
再补充说明一下系统。
。
。
系统是“正相关”或者“负相关”的,就是当给定量增加,输出量也增加,给定量减小,输出量也减小。
。
如图一。
学校出来的有一个情结,就是要写一个方程,其实没必要写方程,如四图,转动角度(0-90度之间)与流量是“正相关”角度越大,流量越大,--就行,没必要非要写出方程。
如果转动超过90度,就要分段控制。
如图二,y对应有两个输入点,x1,x2,是不行的,要分成两段区域控制。
再就是,虽然是“正相关”但是稳态的时候(就是在设定值上下很小的区域里调整的时候,这一小段可以看成是线性的!
!
如图3.
现在工业自动化行业的论文,很多都是画蛇添足的,比如我看我们老师一篇论文就是在PID基础上再加一个磁滞补偿,(补偿电动机磁场非线性畸变造成的失真),如图红线。
你还可以加自己奇怪的补偿,比如绿线,比如黄线。
。
只要补偿效果比以前略有改善,你就可以拿来吹了,可以评职称,可以拿奖金。
。
。
不信你去查一查,现在工控行的论文,很多都是改进某某算法,实际就是这么些小把戏,就像“宫保鸡丁”。
。
有的改进了“宫保鸭丁”,有的又改进了“宫保牛丁”。
。
有的又改进了“宫保鸡鸭丁”。
。
。
有的又改进了,“宫保鸡柳”--鸡丁只能用调羹舀,不好用筷子夹。
。
。
。
呵呵呵。
。
总之,这是一个永恒的主题,你看各个学校学自动控制的毕业的,都有几个写类似论文的“用某某新算法,改善了控制云云。
”呵呵呵,哪来的那么多新算法啊!
!
呵呵,能把老算法弄好就足够用了。
。
。
呵呵呵。
。
各种改进的算法,给了学生无数的题材,给了学究们无数的扯皮的话题,给了学生们无穷无尽的论文题目。
。
。
。
呵呵呵。
。
中国自动化人士就在这个酱缸里翻滚扎猛,自得其乐。
。
。
。
。
呵呵。
。
。
其实那么些论文都是垃圾。
。
。
。
就算是“宫保鸡柳”确实比“宫保鸡丁”好那么一点点,又能如何呢?
?
?
呵呵呵。
。
。
高速加工中速度前瞻控制新算法研究
一种采用混合平衡准则的新功率控制算法
关于智能交通控制新算法
基于动态矩阵控制的比值控制新算法
两种自校正控制新算法及其应用-信息与控制
受限控制直接分配新算法-北京航空航天大学
一种约束输入的广义预测控制新算法-控制与决策
滞后系统自校正PID控制新算法的研究
基于辨识的自校正PID实时控制系统研究
大系统稳态优化控制的改进新算法
自适应迭代学习控制新算法及其在工业过程控制中的应用
一种适用于复杂系统的智能控制新算法及仿真研究-信息与控制
种基于滑模的自适应预测函数控制新算法-控制工程
控制系统仿真新算法的研究
一种自适应变步长的功率控制技术新算法
基于向量图分析的迭代学习控制新算法
基于烟气分析转炉终点碳含量控制的新算法
随机控制系统稳态Kalman滤波器新算法
随便摘抄了一点。
。
。
。
。
。
这些都是文字垃圾,屁用也没有。
。
。
除了评职称凑论文数,没有神马用处
我给个例子。
看上图,假设在零度的冬天里,一房间在用一个可调火力的大火炉给房间取暖。
房间的实际温度就是被控量Q,我希望保持的温度就是I,假设是20度。
没开火炉时,房间温度是零度,开了火炉,房间温度也不可能一下就到20度,这就是系统惯性,温度从零度到20度的过程就和我们的PID控制有关。
刚开始I=20度,Q=0度,温差U=20,假设KP设置5,那么20*5=100,表示火炉以100%的火力进行加热,房间温度上升,升到1度时,温差U=19,KP=5是我们设的参数当然不变,19*5=95,表示火炉以95%的火力进行加热。
随着房间温度的上升,温差逐渐变小,火力逐渐变小,当房间温度达到19度时,此时火力为5%。
假如这么小的火力刚好能够使房间里增加的热量和散发出热量相等,那么房间便维持在19度。
和设定值20之间存在静差。
这个静差是必须存在的,比如我们现在假设这个静差不存在,那么温差为零,火力为0%,房间在向外散发热量,自然温度就会降下来,温差就会上升,火力就会上升,直到增加的热量和散发的热量相等,然后温度就扔保持在刚才的19度上了。
假如KP设为10,那么房间温度为19度时,此时火力为10%,由于刚才5%的火力恰好维持房间19度时的增加和散出的热量相等,那么现在火力为10%,房间温度自然就会继续上升,静差变小了,但仍存在静差。
因为无论KP设置再大,没温差的时候火力就为0%了。
根据上面的分析可知,KP继续设大,那么静差就可以继续减小。
但是KP如果太大,刚开始的火力就太猛了,有可能造成温度超过20度很多,然后慢慢降下来,然后继续超过20度,然后多次波动以后才稳定在20度稍低的温度。
如果房间的隔热效果很不好,比如说需要10%的火力才能使房间的增加的热量和散出的热量相等,那么房间便只能维持在18度了,因为18度时的火力计算为10%。
这也说明了系统有了变化之后,为了更好的控制系统,PID参数也要改变。
怎么消除这个静差呢,引入积分控制,本例上可以理解为再额外加个小火炉,刚才的比例控制的大火炉的火力正比于温差,现在的积分控制的小火炉的火力正比于设置水平线和温度曲线之间的面积。
由于静差的存在,那么随着时间的延续,面积在逐渐变大,小火炉的火力也逐渐变大,温度在上升,直到静差为零,面积随着时间的延长也不变,那么这时小火炉的火力不变,温度维持在正好20度。
那么微分控制呢,再加个小火炉,这个小火炉的火力正比于温度曲线的即时斜率。
具体的上面没讲,我也不说了。
总结,所谓的PID控制,就是三个火力正比于一定对象的小火炉,正比例系数分别是KP,KI,KD,比例对象分别是温差,面积,斜率。
而已。
以上为一家之言,仅供参考。
你说的基本正确,有一点,你说积分是补充一个小火炉,这个不太准确,积分应该是增加了蓄能,比如一个装热水的水箱。
。
就是家里的土暖气。
。
积分就是起这个作用。
微分也不是再加一个小火炉,微分有点像高压锅的放气阀,在温度冲的比较猛的时候,放掉点气,使其不至于过冲。
当温度平缓时,微分等于零,不起作用,只有当温度变化剧烈时,才有斜率,也才有微分嘛!
!
说到这再补充一点,积分时间就像是你蓄水箱里的水的加入时间,水箱越大,水越多,把水烧到需要温度的时间越长,那么到稳态(把房间加热到标准温度)就越慢,但是温度到了以后就越稳定!
!
呵呵,大暖气舒服嘛!
!
呵呵。
。
那我以前说的积分时间∞,就相当于你的水箱太大了,比如整个大海!
,你永远也不可能把大海加热到你房间同样的标准温度。
。
所以跟没有也一样!
!
不明白!
P、I、D是指什麼?
P=1/K是什麼意思?
I既然表示的是積分時間,怎麼積分時間越大,積分作用就越小?
難怪如此地糾結。
這可能就是樓主困惑之處吧。
不過,從頭學過,找一些儀表自己親自琢磨一下,再看看制動控制原理的書,就可能沒有那麼糾結了。
为仪表就是数码管,它显示不了过多的信息,有的数码管的P,I,D,可能表示的意思是Kp,Ki,Kd。
(参考上面公式)。
有的数码管的P,I,D的意思可能是表示Kp,Ti,Td的意思。
也有的数码管的P,I,D表示的是,U,Ti,Td的意思。
这个需要你对照具体的说明书看。
。
上面那段写的不严谨,下面这段补充一下。
Ti增大,积分作用减弱,Td等于0微分作用消失。
你看当Ti无穷大时,1/Ti等于零,积分作用消失。
当Td等于0时,微分作用消失。
你再看看前面的。
我不纠结这个,我只是纠结怎么给你讲清楚。
呵呵。
。
这里举了三个例子,分别是陕西东辉仪表,松下PLC和西门子PLC,他们的输入系数,对应我们上面的哪个系数?
实际应该如何设置?
这些参数,怎么跟我们前面的理论里面的参数相对应?
?
我说的就是这个道理。
你看百特仪表这里写的是P,I,D,实际输入的参数,是U(和Kp负相关),Ti,Td。
。
西门子输入的是gain,Ti,Td也就是Kp,Ti,Td三个参数。
而松下输入比较清楚,也是Kp,Ti,Td三个参数,
终于找到一个按照Kp,Ki,Kd格式输入参数的例子。
。
。
这是CT变频器速度闭环的PID设置,这里的参数#14.10,#14.11,#14.12,分别代表Kp,Ki,Kd。
诸位自己可以与松下PLC的参数输入格式对比一下。
。
。
。
这里举个例子,同样是设置P参数,不同的仪表有不同的设置方式,比如变频器设置速度,有的显示设置频率,有的显示设置转速。
。
这里一个直接设置u,另外一个设置u占的百分比。
。
其实结果是一样的,只是设置的时候注意一下就行。
这是CT变频器新SP系列的参数设置,这个更清楚地指明了,Kp,Ki,Kd。
而且范围设定也更加合理。
。
。
可以对照一下前面CTclassic老型号的参数设置。
。
。
这个设置可是清楚多了。
。
。
论坛宽度不够,裁下一块来,看的清楚些。
修改
161111111111111111