我对自动化的理解
有人考证,古代就有自动化的例子,但现代意义上的自动控制是从瓦特的蒸汽机开始的。据说纽科门比瓦特先发明了蒸汽机,但是蒸汽机的速度控制问题一直没有解决,这样速度会飙升,机器会损坏,可能会出大事故。瓦特在蒸汽机的转轴上安装了一根小棍子。棍子的一端与蒸汽释放阀连接。当蒸汽释放阀松开时,它将关闭,速度将增加。按下阀门就会打开,速度会降低;棍子的另一端是一个小重锤,棍子中间的某个地方通过一个支点与转轴相连。当轴旋转时,斗杆会因离心力而摆动。转速过高,棍子会摆得很高,压下蒸汽释放阀打开,转速下降;速度太低,棒子挥不动,松开蒸汽释放阀关闭,速度上升。这样蒸汽机就能自动保持稳定的转速,既保证了安全,又方便使用。正是因为这个小小的调速器,瓦特的名字与工业革命联系在一起,纽科门的名字也会出现在历史书上。
机械系统中类似的例子很多,家里必备的马桶又是一个例子。冲洗后水箱水位下降,浮子随水位下降,进水阀打开。随着水位的上升,进水阀逐渐关闭,直到水位达到规定的高度,进水阀完全关闭,水箱中的水刚好可供下次使用。这是一个非常简单但是巧妙的水位控制系统,经典的设计,但是用经典的控制理论来分析并不容易,不过这是跑题了。
这些机械系统设计巧妙,工作可靠,真是妙不可言。但在实际操作中,如果每次都需要这样的创造性思维,那就太累了。最好有一个系统的方法来解决“全”自动控制问题,这是控制理论的起源。
大人从小就教育我们走路要看路。为什么?不看路不知道是不是走歪了,结果东撞西撞。如果你看路呢?如果你走错了,你会立即看到它。赶紧调整脚步,回到正轨。这里是自动控制中的第一个重要概念:反馈。
反馈是一个过程:
1.设定目标是孩子走路的榜样前进的方向。
2、测量状态,孩子眼睛看着路,就是在测量自己的方向。
3.将测得的状态与设定的目标进行比较,将眼睛看到的前进方向与头脑中的前进方向进行比较,判断前进方向是否正确;如果不正确,有什么区别?
4、调整动作,在头脑中根据实际方向与设定目标的偏差,决定调整量。
5、实际执行,即实际移动,回到正确的方向。
在整个走路的过程中,这个反馈的过程是周而复始的,这样孩子就不会东倒西歪了。但是,这里有一个问题:如果所有的事情都在一瞬间同时发生,那么这个反馈过程就不起作用了。要让反馈起作用,必须有一定的反应时间。好在世间万物都有一个过程,这个过程买到了反馈所需的时间。
反馈过程也称为闭环过程。既然有闭环,就有开环。开环是一个没有反馈的控制过程。设置一个控制功能,然后执行它,无需根据实际测量值进行校正。开环控制只对简单过程有效,比如洗衣机和烘干机定时控制。衣服怎么洗怎么干完全取决于初始设置。对于洗衣机、干衣机这类问题,多设置一点时间就好了,有点浪费,但能保证效果。对于空调来说,我们不能简单的设定一个不管室温如何都要开10分钟,关5分钟的周期,而应该根据实际温度进行闭环控制,否则室内温度会达到天知道。我记得80年代报告文学很流行。徐迟写了哥德巴赫猜想,所以全国人民都争着当科学家。小说家也争相写科学家,成就太小。所以一句话不奇怪,也有人写过“快速跟踪无反馈”。当时我在大学吃砖,对这个新的科学发现很感兴趣。从头到尾看了一遍,不明白怎么在没有反馈的情况下快速跟踪。现在想想,小说是小说,但这个无良作家也太可笑了。没有反馈,他只好跟着走,不看目标,不看自己去了哪里。痕迹是什么?它几乎就像一台永动机。为什么不选个好点的题目,冷聚变什么的?至少理论上,还是有可能的。那是题外话
数学上,动态过程是用微分方程来描述的,反馈过程就是在描述动态过程的微分方程的输入项和输出项之间建立关联,从而改变微分方程的原有性质。自动控制就是在这个反馈和动态过程中做文章的。
房间里的空调是一个简单的控制问题。不过这只是指单个房间,整个高层建筑所有房间的中央空调问题其实是一个比较复杂的问题,不在这里讨论的范围。夏季室内温度设定为28度,实际温度高于28度。空调开始降温,降低室内温度。实际温度低于28度,关掉空调,室温因环境温度自然上升。通过这样简单的开关控制,室内温度应该控制在28度。但是,这里有一个问题。温度稍高于28度,空调就会启动。28度以下一点,空调就关了;那么,如果温度传感器和空调的开关足够灵敏,空调的开关频率就可以无限高,空调就会不停地开和关,这对机器没有好处,在实践中也没有必要。解决办法是设置一个“死区”,温度高于29度时开启,低于27度时关闭。注意不要倒着做,否则控制单元会发疯的。
有了死区,就不能再把室内温度严格控制在28度,而是在27-29度之间“摇摆”。如果环境温度不变,空调制冷量不变,已知室内制热/制冷的动态模型,就可以计算出温度“晃荡”的周期。不过既然是讲故事,就不在这上面费心了。
这种开关控制看起来“土”,其实好处多多。对于大多数过程来说,开关控制的精度不高,但能保证稳定,或者说系统的输出是“有界”的,也就是说实际测量值会被限制在一定的范围内,不可能无限扩散。这种稳定性不同于一般控制理论中强调的所谓渐近稳定性,而被称为BIBO稳定性。前者要求输出设定在最终趋势,后者只要求输出在有界输入的作用下有界。BIBO指的是有界输入有界输出。
对于精度要求不高的简单工序,这种开关控制(或者继电器控制,因为最早的控制方式是由继电器或者电磁开关实现的)就足够了。但很多时候这种“总量估算”的控制是达不到要求的。汽车行驶在高速公路上,车速设定在定速巡航控制。如果速度下行几公里,我觉得自己吃亏了,但是如果上浮几公里,就会被警察抓起来开罚单。这是谁的?
开关控制是不连续控制,增加时控制效果是“全剂量”,减少时是“全剂量”,没有中间过渡。如果空调的制冷量有小、中、大三种设置,根据室温和设置的差异决定用小、中、大,那么室温的控制精度就可以大大提高,换句话说,温度的“晃动”范围就会大大缩小。那么,如果空调的设置更多,从小到中到大,控制精度会不会更高?是的,既然如此,为什么不用无级调节的空调呢?难道没有可能更精确地控制室温吗?是
无级或连续可调的空调可以精确控制温度,但开关控制已经不能用了。在家用空调中,连续调节的并不占大多数,但是热水淋浴是典型的连续控制问题,因为水龙头是可以连续调节水流的。洗澡时假设冷水龙头不变,只调热水。温度很高,所以关小热水。气温低,开热水吧。换句话说,控制函数应该朝着减小控制偏差的方向变化,这就是所谓的负反馈。控制方向是对的,有个控制量的问题。温度高1度。热水应该关小多少?
经验告诉我们,根据具体的水龙头和水压,温度是1度,热水需要关小一定的量,比如一格。换句话说,控制量与控制偏差成正比,这就是经典的比例控制定律:控制量=比例控制增益*控制偏差,偏差越大,控制量越大。控制偏差是实际测量值与设定值或目标值之间的差值。在比例控制规律下,偏差反过来,控制量也反过来。也就是说,如果要求淋浴水温为40度,而实际水温高于40度,热水龙头会向关闭方向变化;当实际水温低于40度时,热水龙头改变开启方向。
但比例控制规律并不能保证水温能精确达到40度。现实生活中,这时候人们对热水龙头进行微调,只要水温不合适,就会一点一点调节,直到水温合适。这种只要控制偏差不消失就逐渐微调的控制规律在控制中称为积分控制规律,因为控制量与控制偏差在时间上的累积成正比,其比例因子称为积分控制增益。工业上常用积分控制增益的倒数,称为积分时间常数,其物理意义是偏差不变时,控制量加倍所需的时间。需要注意的是,控制偏差是正的还是负的,取决于实际测量值是大于还是小于设定值,所以只要控制系统是稳定的,也就是实际测量值最终会稳定在设定值,控制偏差的累积就不会是无穷大。这里再重复一遍,积分控制的基本作用是消除控制偏差的残差(也叫残差)。
比例和积分控制律可以处理一大类控制问题,但它们并非没有改进的余地。如果水管的水温变化很快,人们会根据水温的变化来调节热水龙头:随着水温的上升,热水龙头向关闭方向变化,温度上升越快,开得越多;当水温下降时,热水龙头改变开启方向。温度下降越快,关闭越多。这就是所谓的微分控制律,因为控制量与实际测量值的变化率成正比,其比例因子称为比例控制增益,工业上也称为微分时间常数。微分时间常数没有具体的物理意义,但积分叫时间常数,微分也叫。微分控制的重点不是实际测量值的具体值,而是它的变化方向和速度。微分控制在理论和实践上有许多优点,但其局限性也是显而易见的。如果测得的信号不是很“干净”,时不时有一点点“毛刺”或扰动,那么微分控制就会被这些麻烦搞乱,产生很多不必要甚至错误的控制信号。因此,在工业中使用差动控制是非常谨慎的。
比例积分微分控制律是工业中最常用的控制律。人们一般根据比例-积分-微分的英文缩写称之为PID控制。即使在更先进的控制规律被广泛使用的今天,各种形式的PID控制仍然占所有控制回路的85%以上。
在PID控制中,积分控制的特点是只要有残留误差(即残留控制偏差),积分控制就会逐步增加控制函数,直到残留误差消失。所以集成的效果是比较慢的,除了特殊情况,作为一个基本的控制功能,是慢而不急的。微分控制的特点是虽然实际测量值低于设定值,但其快速上升的势头需要尽快抑制,否则等到实际值超过设定值时再反应就来不及了,这就是微分控制发挥作用的地方。微分控制作为基础控制,只看趋势,不看具体数值,所以理想的情况是稳定实际数值,但是稳定在哪里就看你的运气了,所以微分控制不能作为基础控制。比例控制没有这些问题。比例控制响应快,稳定性好,是最基本的控制功能,是“皮肤”。积分和微分控制可以增强比例控制,很少单独使用,所以很“毛”。在实际使用中,比例和积分一般一起使用,比例起主要控制作用,积分有助于消除残差。只有当被控对象速度慢,需要在开始反应时尽快补偿时,才采用微分。很少只用比例和微分。
连续控制的精度是开关控制无法比拟的,但是连续控制的高精度也是有代价的,就是稳定性问题。控制增益决定了控制动作对偏差的灵敏度。既然增益决定了控制的灵敏度,那么再灵敏一点不是更好吗?不完全是。我们以汽车的定速巡航控制为例。减速,加一点油门,再减速,再加油门,当然速度上去的时候反过来。但如果转速更低,油门会加大很多,转速更低,会疯狂加大油门,这样转速就不会稳定在要求的设定值,有可能失控。这就是不稳定。因此,控制增益的设置是特殊的。生活中也有类似的例子。国民经济过热,需要经济调整,但调整过了头,就会造成“硬着陆”和衰退;经济衰退时需要刺激。同样,过度刺激也会导致“虚假繁荣”。要实现“软着陆”,经济调整措施需要恰到好处。这也是一个经济动力系统稳定性的问题。
在实际中,多少增益才是最合适的,理论上有很多计算方法,但实际中一般都是根据经验和调试来寻找最佳增益,业内称之为参数整定。如果系统响应滞后于控制函数,振荡较大,一般过于积分;如果系统的反应很神经质,总是在高频小振幅的振荡,那么微分一般有点过分。中频振荡当然是比例问题。但是,每个系统的频率是不同的。什么是高频,什么是低频?这些话不清楚。要响应毛主席的那句话:“具体情况具体分析”,所以就打个哈哈。
更具体地说,有两种设置参数的方法。先调试比例增益,保证基本稳定,再加入必要的积分,消除残差。只有在最需要的时候,比如反映慢温过程或者大容量的液位过程,测量噪声很低的时候,才加一点微分。这是“学术”的方式,在大多数情况下非常有效。但业界有个“歪道”:用了极小的比例,却大大强化了积分功能。这种方法与控制理论的分析完全相反,但在实践中是有效的。原因是当测量噪声严重或系统过敏时,基于积分的控制律相对温和,不容易激发不稳定因素,尤其是不确定性高的高频部分。这也是邓小平“稳定至上”的初衷。
很多情况下,初始PID参数整定后,只要系统没有出现不稳定或性能明显下降,就不会重新整定。但是如果系统不稳定呢?因为大部分实际系统都是开环稳定的,也就是说只要控制函数不变,系统响应最终应该稳定在一个值上,虽然可能不是设定值,所以处理不稳定的第一个动作就是降低比例增益,根据实际情况,降低1/3、1/2甚至更多,同时增加积分时间常数,这个常数往往是相乘的,然后降低甚至减少。如果有前馈控制,适当降低前馈增益也是有用的。在实际操作中,系统性能不会莫名其妙地突然变差,上述“灭火”复位往往是暂时的。生产过程中的机械或原材料问题排除后,参数要重新设置回初始值,否则系统性能会太“懒”。
对于新厂来说,系统还没有投入运行,所以无法根据实际反应来设置。通常,首先估计初始参数,并且在系统运行期间逐个设置控制回路。我自己的经验是,对于一般的流量循环,比例设定在0.5左右,积分约为1分钟,微分为0。这种组合一开始一般问题不大。温度回路可以从2,5和0.05开始,液位回路从5,10和0开始,气压回路从10,20和0开始。既然这些都是经验估算,当然要具体情况具体分析,不可能“放之四海而皆准”。
微分一般用于慢响应系统,但总有一些例外。我曾经遇到过一个直径只有两英尺,长度只有五英尺的小型凝析油罐,但是流量却是8-12吨/小时。出现故障时,液位变化非常快。无论如何调整比例和积分,都难以稳定液面。通常情况下,控制阀刚刚开始反应,液位已经达到顶部或底部。最后加了0.05的微分。液位一变化,控制阀就开始抑制,但稳定下来。这与常规的参数设置方式相反,但在这种情况下,这是“唯一”的选择,因为测量值和控制阀的饱和度成为稳定性的主要问题。
再讲几句工业界以积分为主导控制作用的做法。在学术上,控制的稳定性基本上是渐近稳定的,在没有办法证明渐近稳定的情况下,毕博稳定是“次优”的东西,不太通俗。而工业中的稳定性有两个看似相似但本质不同的方面:一个当然是渐近稳定,一个是稳定,但不一定收敛到设定值,或者说稳定优先于收敛。具体来说,就是要把系统稳定在一个值上,不能乱动,但不设定值也不是太重要,只要不太离谱就行。例子很多。例如,反应器的压力是一个重要的参数。如果反应器不稳定,原料的投料比就会紊乱,催化剂的投料就不稳定,反应就不稳定。但是反应器的压力是10个大气压还是12个大气压并没有太大关系,只要缓慢但稳定地向设定值移动即可。这是控制理论中很少涉及的情况,也是工业中经常采用积分支配控制的重要原因。
如前所述,系统的频率本来就是系统响应连续振荡时的频率,但控制领域有三类人:一类是以机电动力系统为特征的电工,包括航空、机器人,另一类是以连续过程为特征的化工工程师,包括冶金、造纸,还有一类是以微分方程稳定性为特征的应用数学。在瓦特和厕所的时代,在各自的山头上战斗是和平的,置身事外。但控制从艺术上升到理论后,总有人喜欢“统一”,电工帮抢第一,把好的控制理论塞进电工的频率里。伙计们,那不是频率,那是...复杂频率。既然那些变态电工(诶,鹿踢真的来了)能粗制滥造出虚电,也能粗制滥造出复杂频率,那就算了,但他们就是害了我们这种无辜的人,被迫遭受这种精神折磨。
原因是系统的稳定性。如前所述,如果PID的参数设置不好,系统可能会不稳定。除了摸索,有没有什么方法可以从理论上计算出合适的PID参数?如前所述,动态过程可以用微分方程来描述。其实在PID阶段,这只是微分方程的一个很窄的分支:一元线性常微分方程。如果你还记得大一的高数,一定记得线性常微分解法。除了分离变量的方法,如果自变量时间用t表示,最常用的解法是将exp(λt)代入微分方程,这时解就成了λ代数方程的特征方程。如果解可以是实数或者复数,那就用三角函数展开(反正大一的噩梦感觉一点都没找到)。只要实根为负,微分方程就是稳定的,因为负指数项最终收敛到零,复根有多少都无所谓,对稳定性没有影响。但是,解决和分析这个问题仍然不容易,仍然超出了“具体情况具体分析”的范畴,难以得出普遍的结论。
根轨迹还是客气的,还有更变态的奈奎斯特,伯德,尼科尔斯方法,脑洞大开。都是那些电工造成的。在计算机分析已经非常普及的今天,经典的图形分析仍然具有经久不衰的魅力,因为图形分析不仅告诉你系统是稳定还是不稳定等动态响应参数,还定性地告诉你增益变化甚至系统参数变化引起的闭环性能变化。嘿,你刚才不是在说一个变态吗?嗯,变态有变态的魅力,不是吗?哈哈。
以频率分析(也称频域分析)为特征的控制理论称为经典控制理论。经典控制理论可以分析系统的稳定性,但有两个前提条件:一是要知道被控对象的数学模型,这在实际中不易获得;二是被控对象的数学模型不会发生变化或漂移,这在实际操作中比较难做到。可以对简单过程建立微分方程,但简单过程的控制并不麻烦,经验法的参数调整也没有那个麻烦。但是对于真正需要理论计算的回路,建立模型太难,或者模型本身的不确定性高,使得理论分析没有意义。经典控制理论已成功应用于机械、航空和电机领域。毕竟从F=ma开始,所有机械系统的动力学模型都可以建立,铁疙瘩的重量也不会莫名其妙的变化,主要环境参数都可以测量。然而,经典控制理论在化学控制中的成功应用至少是很少的。我给你一个50板的蒸馏塔,一个气相进料,一个液相进料。塔顶和塔底都有侧出口排放,塔顶风冷冷凝器和塔底再沸器都加了中间再沸器,可以慢慢建模。模型建立时,空冷凝汽器受风霜雨雪影响,再沸器内高压蒸汽压力受友好装置影响,气相进料温度和饱和度受上游装置改变,液相进料混合组分受上游装置改变,但组分不能改变。
歌德这个老家伙200年前就说过,理论是灰色的,生命之树是常青的。我们知道马鹿喜欢金色或银色,或者至少是红色,但我们不得不凑合着穿绿色。在实践中,PID有很多表亲,帮助大表亲一起打天下。
比例控制的特点是偏差大,控制效果就大。然而,在实践中,这有时是不够的。偏差大,比例增益也大。进一步加强对大偏差的修正,尽快将系统拉回设定值。偏差小的时候,当然不用急,慢慢来就好,这样增益小,稳定性加强。这就是双增益PID(也称为双模PID)的由来。想想也是对的。高射炮瞄准敌机是一个控制问题。如果枪管仍然指向远离目标的角度,首先要尽快将枪管转向目标角度附近,动作要激烈。但是枪膛是指着离目标很近的地方,所以要慢慢仔细瞄准。工业中有很多类似的问题。双增益PID PID的一个特例(带死区的PID,在偏差较小时增益为零,即测量值与设定值相差不大时,不加控制就放任不管。这广泛应用于大型缓冲容器的液位控制。本来缓冲容器是用来缓冲流量变化的,所以液位控制在哪里并不重要,只要不太高也不太低就行。然而,从缓冲容器到下游装置的流动应该尽可能稳定,否则下游装置将受到不必要的干扰。死区PID最适合这类控制问题。但是天下没有免费的午餐。死区PID的前提是液位会“自动”稳定在死区。如果死区设置不当或系统经常受到较大扰动,死区内的“失控”状态会导致液位无限制地“前进”到死区边界。最后,当它进入“受控”区时,控制将被过度控制,液位将无限制地反方向“前进”。最后的结果就是液位永远在死区两端振荡,但永远不会稳定。打什么?猎鹿?)。双增益PID也有同样的问题,但比死区PID好。毕竟只有“强控”和“弱控”的区别,没有“无控区”。实际操作中,双增益的内外增益之差小于2: 1没有太大意义,大于5: 1就要注意上面提到的持续振荡或振荡的问题。
双增益或死区PID的问题是增益的变化是不连续的,控制动作在死区边界上突变,容易诱发系统的不良反应,而平方误差PID没有这个问题。一旦误差平方,控制量对误差的曲线就变成了抛物线,也达到了“小偏差、小增益、大偏差、大增益”的效果,不存在突然不连续的增益变化。但是误差平方有两个问题:一个是当误差接近零时,增益也接近零,又回到死区PID的问题;二是难以控制抛物线的具体形状,或者难以确定增益转向何处。对于第一个问题,可以在误差平方PID上增加一个基本的线性PID,它是零误差或非零增益;对于后一个问题,需要另一个模块来计算连续变化的增益。细节很琐碎。偏差送入分段线性化(即折线)计算单元,然后计算结果作为比例增益输出到PID控制器。折线的水平段要有不同的增益,连接不同水平段的对角线对应增益的连续变化。可变增益的曲线可以通过设置水平段和对角线段的顶点随意调整。如果“野心”大一点,增加几个计算单元,就可以做不对称增益,即升温时增益低,降温时增益高,以应对升温过程中升温快,降温慢的常见问题。
双倍增益或误差平方是关于比例增益的文章,同样的活动也可以用在积分和微分中。一种更极端的PID规律叫做积分分离PID,其思想是:比例控制稳定性好,响应快,所以当偏差较大时,关闭PID中的积分;当偏差较小时,微调和消除残差是主要问题,因此比例功能被削弱甚至关闭,而积分功能则切入控制。概念是好的,但是实施起来,就有很多无扰交接的问题。
这些异常PID在理论上难以分析系统的稳定性,但在实践中却解决了许多难题。老实说,这些PID已经在实践中使用了。
复杂结构PID
战斗时,如果敌人太顽固,要么换一把更大的枪,把敌人打倒;要么采取更巧妙的战术,把敌人打晕。控制也是如此。单回路PID难以解决的问题,往往可以用更巧妙的回路结构来解决。
单个PID回路当然可以抑制扰动,但是如果主要扰动在回路中,而且很清楚,那么加一个内环作为辅助是一个非常好的想法。还记得洗热水澡的例子吗?如果热水压力不稳定,总是为此调整热水龙头,很麻烦。如果有一个人负责根据热水压力调节热水流量,将热水压力稳定在标定值,那么洗澡的时候水温会好控制很多。就告诉那个人现在需要多少热水流量,不用担心热水压力对热水流量的影响。负责热水流量的控制回路是内回路,也称为二次回路,而浴缸的温度是外回路,也称为一次回路。当然,一级回路指挥二级回路,就像自动指挥机械化,学自控的人指挥学机电的人一样...别闹了,再往前走,会被鹿踢,被马踢,被牛踢,被驴踢。这种主回路带副回路的结构叫做串级控制,曾经是工业上继单回路PID之后的第一个“先进过程控制”。现在cascade已经用的很多了,已经没人管它叫“先进过程控制”了。串级控制的主要作用是抑制回路中的扰动,提高整体控制性能。但是cascade不能乱用。如果主电路和辅助电路对应的速度差不多,或者主电路对应的速度甚至比辅助电路慢(可以通过异常调试实现),这样的级联就会出现问题。理论上可以用* * *振动频率分析,但不用担心。你用膝盖想想就知道,一个急躁的老板,指挥了一个急得团团转吞口水的下属,结果只能是大家精疲力竭,事情搞砸了。相反,如果一个冷静的老板命令一个快速的下属,那肯定会做得很好。