请问:MoRo II大能机器人官网能,负重多少


本文转载自那些年的神贴——自動控制的故事原作者应该是《大话自动化:从蒸汽机到人工智能》的作者晨枫,其在网上发表过《自动控制的故事》和大量有关工业自动囮的文章

从文章来看,作者的方向偏向于化工控制虽说标题是自动控制,里面包含了过程控制现代控制,系统辨识工程控制算法等内容。这让我想起来另外一件事有次有幸听了一位院士的讲话,他讲到现在的自动化学生不愿意去现场去了几个现场没找到自动化絀身的人,都是具体行业出来的在干深有体会,毕竟现场工作环境相比于其他真的不怎么吸引人不过控制思想都一致,无论什么方向嘟可以参考废话扯到这里,正文如下:
自动控制的科普综述文章少之又少这一篇是难得好文章。短短数十页的文章就把自动控制的發展过程及精髓用非常通俗的语言描述出来,其中不发精彩的比喻(如舞龙、李亚普诺夫 大锤等等)对于自动控制人员来说实在是不可哆得的宝贵资料。
文章写于 2005 年作者晨枫,是老三届的大学生具有扎实的理论基础和丰富的现场经验,目前旅居加拿大一直从事化工控制方面的工作和研究。文章虽然长一些但非常值得静下心来好好读一读.

小时候喜欢看杂书,没什么东西看不正在那十年嘛?不过看進去了两个“化”:机械化和自动化打小就没有弄明白,这机械化和自动化到底有什么差别 机器不是自己就会动的吗?长大了总算稍微明白了一点,这机械化是力气活用机器代替人的体力劳动,但还是要人管着的不然机器是不知道该干什么不该干什 么的;这自动囮嘛,就是代替人的重复脑力劳动是用来管机器的。也就是说自动化是管着机械化的,或者说学自动化的是管着学机械的……啊不對,不对哪是哪啊!
有人考证古代就有自动化的实例,但现代意义上的自动控制开始于瓦特的蒸汽机据说纽考门比瓦特先发明蒸汽机,但是蒸汽机的转速控制问题没有解决弄不好转速飞升,机器损坏不说还可能说大事故。 瓦特在蒸汽机的转轴上安了一个小棍棍的┅端和放汽阀连着,放气阀松开来就关闭转速增加;按下去阀就打开,转速降低;棍的另一端是一个小重锤棍中间某个地方通过支点囷转轴连接。转轴转起来的时候小棍由于离心力的缘故挥起来。转速太高了小棍挥会挥得很高,放汽阀就被按下去打开转速下降;轉速太低了,小棍挥不起来放汽阀就被松开来关闭,转速回升这样,蒸汽机可以自动保持稳定的转速即保证安全,又方便使用也僦是因为这个小小的转速调节器,瓦特的名字和工业革命连在一起而纽考门的名字就要到历史书里去找了。
类似的例子在机械系统里很哆家居必备的抽水马桶是另一个例子。放水冲刷后水箱里水位降低,浮子随水面下降进水阀打开。随着水位的升高进水阀逐渐关閉,直到水位达到规定高度进水阀完全关闭,水箱的水正好准备下一次使用这是一个非常简单但非常巧妙的水位控制系统,是一个经典的设计但不容易用经典的控制理论来分析,不过这是题外话了
这些机械系统设计巧妙,工作可靠实在是巧夺天工。但是在实用中如果每次都需要这样的创造性思维,那太累最好有一个系统的方法,可以解决“所有”的自动控制问题这就是控制理论的由来。

从尛大人就教我们走路要看路。为什么呢要是不看着路,走路走歪了也不知道结果就是东撞西撞的。要是看着路呢走歪了,马上就看到赶紧调整脚步,走回到正道上来这里有自动控制里的第一个重要概念:反馈(feedback)。
1、设定目标对小朋友走路的例子来说,就是湔进的路线
2、测量状态,小朋友的眼睛看着路就是在测量自己的前进方向。
3、将测量到的状态和设定的目标比较把眼睛看到的前进方向和心里想的前进方向作比较,判断前进方向是否正确;如果不正确相差有多少。
4、调整行动在心里根据实际前进方向和设定目标嘚偏差,决定调整的量
5、实际执行,也就是实际挪动脚步重回正确的前进方向。
在整个走路的过程中这个反馈过程周而复始,不断進行这样,小朋友就不会走得东倒西歪了但是,这里有一个问题:如果所有的事情都是在瞬时里同时发生的那这个反馈过程就无法笁作。要使反馈工作一定要有一定的反应时间。还好世上之事,都有一个过程这就为反馈赢得了所需要的时间。
小时候妈妈在锅裏蒸东西,蒸好了从锅里拿出来总是一个麻烦,需要抹布什么的垫着免得烫手。但是碗和锅的间隙不大连手带抹布伸进去颇麻烦,峩常常不知天高地厚自告奋勇地徒手 把热的碗拿出来。只要动作快手起碗落,可以不烫手当然喽,要是捧着热碗再东晃晃西荡荡,那手上感觉的温度最终会和热碗一样肯定要把手心、手指烫熟不可的。在从接触碗到皮肤温度和碗表面一样这里面有一个逐渐升温嘚过程,这就是动态过程(dynamic process)
这里面有两个东西要注意:一个是升温的过程有多快,另一个是最终的温度可以升到多少要是知道了这兩个参数,同时知道自己的手可以耐受 多少温度理论上可以计算出热的碗在手里可以停留多少时间而不至于烫手。反馈过程也叫闭环(closed loop)过程既然有闭环,那就有开环(open loop)
开环就是没有反馈的控制过程,设定一个控制作用然后就执行,不根据实际测量值进行校正開环控制只有对简单的过程有效,比如洗衣机和烘干机 按定时控制到底衣服洗得怎么样,烘得干不干完全取决于开始时的设定。对于洗衣机、烘干机这样的问题多设一点时间就是了,稍微浪费一点但可以保证效果。
对于空调机就不能不顾房间温度,简单地设一个開 10 分钟、关 5 分钟的循环而应该根据实际温度作闭环控制,否则房间里的温度天知道到底会达到多少 记得 80 年代时,报告文学很流行徐遲写了一个《哥德巴赫猜想》,于是全国人民都争当科学家小说家也争着写科学家,成就太小不行所以来一个语不惊人死不休,某大镓写了一个《无反馈快速跟踪》那时正在大学啃砖头,对这个科学新发现大感兴趣从头看到尾,也没有看明白到底是怎么无反馈快速哏踪的现在想想,小说就是小说不过这无良作家也太扯,无反馈还要跟踪不看着目标,不看着自己跑哪了这跟的什么踪啊,这和詠动机差不多了怎么不挑一个好一点的题目,冷聚变什么的至少在理论上还是可能的。题外话了
在数学上,动态过程用微分方程描述反馈过程就是在描述动态过程的微分方程的输入项和输出项之间建立一个关联,这样改变了微分方程本来的性质自动控制就是在这個反馈和动态过程里做文章的。房间内的空调是一个简单的控制问题不过这只是指单一房间,整个高层大楼所有房间的中央空调问题实際上是一个相当复杂的问题不在这里讨论的范围。

夏天了室内温度设在 28 度,实际温度高于 28 度了空调机启动致冷,把房间的温度降下來;实际温度低于 28 度了空调机关闭,让房间温度受环境气温自然升上去通过这样简单的开关控制,室内温度应该就控制在 28 度不过这裏有一个问题,如果温度高于 28 度一点点空调机就启动;低于 28 度一点点,空调机就 关闭;那如果温度传感器和空调机的开关足够灵敏的话空调机的开关频率可以无穷高,空调机不断地开开关关要发神经病了,这对机器不好在实际上也没有必 要。解决的办法是设立一个“死区” (dead band)温度高于 29 度时开机,低于 27 度时关机注意不要搞反了,否则控制单元要发神经了
有了一个死区后,室内温度不再可能严格控制在 28 度而是在 27 到 29 度之间“晃荡”。如果环境温度一定空调机的制冷量一定,室内的升温/降温动态模型已知可以计算温度“晃荡”的周期。不过既然是讲故事我们就不去费那个事了。
这种开关控制看起来“土”其实好处不少。对于大部分过程来说开关控制的精度不高但可以保证稳定,或者说系统输出是“有界”的也就是说实际测量值一定会被限制在定的范围,而不可能无限制地发散出去這种稳定性和一般控制理论里强调的所谓渐进稳定性不同,而是所谓 BIBO 稳定性前者要求输出最终趋向设定值,后者只要求在有界的输入作鼡下输出是有界的BIBO指boundedinput bounded output。
对于简单的精 度要求不高的过程这种开关控制(或者称继电器控制,relaycontrol因为最早这种控制方式是用继电器或电磁開关来实现的)就足够了但是很多时候,这种“毛估估”的控制满足不了要求汽车在高速公路上行 驶,速度设在定速巡航控制速度飄下去几公里,心里觉得吃亏了但要是飘上去几公里,被警察抓下来吃一个罚单这算谁的?
开关控制是不连续控制控制作用一加就昰“全剂量”的,一减也是“全剂量”的没有中间的过渡。如果空调机的制冷量有三个设定:小、中、大,根据室 温和设定的差别来決定到底是用小还是中还是大那室温的控制精度就可以大大提高,换句话说温度的“晃荡”幅度将大幅度减小。那么如果空调机有哽多的设定,从小小到小中到……到大大那控制精度是不是更高呢?是的既然如此,何不用无级可调的空调机呢那岂不可以更精确哋控制室温了吗?是的无级可调或连续可调的空调机可以精确控制温度,但开关控制不能再用了

家用空调机中,连续可调的不占多数但冲热水淋浴是一个典型的连续控制问题,因为水龙头可以连续调节水的流量冲淋浴 时,假定冷水龙头不变只调节热水。那温度高叻热水关小一点;温度低了,热水开打一点换句话说,控制作用应该向减少控制偏差的方向变化也就是所谓负 负反馈。控制方向对叻还有一个控制量的问题。温度高了 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 开始既然这些都是凭经验的估计,那当然要具体情况具体分析不可能“放之四海而皆准”。
微分一般用于反应迟缓的系统但是事情总有一些例外。我就遇到过一个小小的冷凝液罐直径才两英尺,长不过 5 英尺但是流量倒要 8-12 吨/尛时,一有风吹草动液位变化非常迅速,不管比例、积分怎么调液位很难稳定下来,常常是控制阀刚开始反应液位已经到顶或到底叻。最后加了 0.05 的微分液位一开始变化,控制阀就开始抑制反而稳定下来了。这和常规的参数整定的路子背道而驰但在这个情况下,反而是“唯一”的选择因为测量值和控制阀的饱和变成稳定性主要的问题了。

对工业界以积分为主导控制作用的做法再啰嗦几句学术仩,控制的稳定性基本就是渐近稳定性BIBO 稳定性是没有办法证明渐近稳定性时的“退而求其次”的东西,不怎么上台面的但是工业界里嘚稳定性有两个看起来相似、实质上不尽相同的方面:一个当然是渐近稳定性,另一个则是稳定性但不一定向设定值收 敛,或者说稳定性比收敛性优先这样一个情况具体来说,就是需要系统稳定在一个值上不要动来动去,但是不是在设定值并不是太重要只要不是太離谱就行。 例子有很多比如反应器的压力是一个重要参数,反应器不稳定原料进料比例就乱套,催化剂进料也不稳定反应就不稳定,但是反应器的压力到底是 10 个大气 压还是 12 个大气压并没有太大的关系,只要慢慢地但是稳定地向设定值移动就足够了这是控制理论里仳较少涉及的一个情况,这也是工业上时常采用积分主导的控制的一个重要原因
前面说到系统的频率, 本来也就是系统响应持续振荡时嘚频率但是控制领域里有三拨人在捣腾:一拨是以机电类动力学系统为特色的电工出身,包括航空、大能机器人官网等一拨是以连续過程为特色的化工出身的,包冶金、造纸等还有一拨是以微分方程稳定性为特色的应用数学出身的。在瓦特和抽水马桶的年代里各打各的山头,井水不犯河水倒也 太平。但控制从艺术上升为理论后总有人喜欢“统一”,电工帮抢了先好端端的控制理论里被塞进了電工里的频率。童子们哪那哪是频率啊,那是……复频 率既然那些变态的电工帮(啊耶,这下鹿踹真的要来了)能折腾出虚功率那怹们也能折腾出复频率来,他们自虐
倒也算了只是苦了我等无辜之众,被迫受此精神折磨
事情的缘由是系统的稳定性。前面提到PID 的參数如果设得不好,系统可能不稳定除了摸索,有没有办法从理论上计算出合适的 PID 参数呢前面也提到,动态过程可以用微分方程描述其实在 PID 的阶段,这只是微分方程中很狭窄的一支:单变量线性常微分方程要是还记得大一高数,一定还记得线形常微的 解除了分离變量法什么的,如果自变量时间用 t 表示的话最常用的求解还是把 exp(λt)代入微分方程,然后解已经变成 λ 的代数方程的特征方程解出来的解可以是实数,也可以是复数是复数的话,就要用三角函数展开了(怎么样 大一噩梦的感觉找回来一点没有?)只要实根为负,那微分方程就是稳定的因为负的指数项最终向零收敛,复根到底多少就无所谓了对稳定性没有影响。但 是这么求解分析起来还是不容噫,还是超不出“具体情况具体分析”难以得出一般的结论。
法国人以好色、好吃出名但是他们食色性也之后,还不老实其中一个叫拉普拉斯的家伙,捣鼓出什么拉普拉斯变换把常微分方程变成 s 的多项式。然后那帮电工的家伙们喜欢自虐,往 s 里塞 jω,就是那个复频率,整出一个变态的频率分析,用来分析系统的稳定性。不过说变态,也不完全公平,在没有计算机的年代, 各种图表是最有效的分析方法,还美其名曰“几何分析”。频率分析也不例外。
美国佬 Evans 搞出一个根轨迹(root locus)思路倒是满有意思的。他用增益作自变量将系统的根(不管实的虚的)在复平面上画出轨迹来,要是轨迹在左半平面打转转那就是实根为负,就 是稳定的再深究下去,系统响应的临界頻率之类也可以计算出来最大的好处是,对于常见的系统可以给出一套作图规则来,熟练的大牛、小牛、公牛、母牛们眼睛一瞄,隨手就可以画出根轨迹来然后就可以告诉你,增益变化多多少系统开始振荡,再增加多少系统会不稳定,云云
根轨迹还是比较客氣的,还有更变态的奈奎斯特、伯德和尼科尔斯法想想脑子都大。都是叫那帮电工分子害的时至今日,计算机分析已经很普及了但昰古典的图示分析还是有经久不衰的魅力,就是因为 图示分析不光告诉你系统是稳定还是不稳定以及其他一些动态响应的参数,图示分析还可以定性地告诉你增益变化甚至系统参数变化引起的闭环性能变化咦,刚 才还不是在说人家变态吗呃,变态也有变态的魅力不是哈哈。

以频率分析(也称频 域分析)为特色的控制理论称为经典控制理论经典控制理论可以把系统的稳定性分析得天花乱坠,但有两個前提:一、要已知被控对象的数学模型这在实际中不 容易得到;二、被控对象的数学模型不会改变或漂移,这在实际中更难做到对簡单过程建立微分方程是可能的,但简单过程的控制不麻烦经验法参数整定就搞定 了,不需要费那个麻烦而真正需要理论计算帮忙的囙路,建立模型太困难或者模型本身的不确定性很高,使得理论分析失去意义经典控制理论在机械、航空、 电机中还是有成功的应用,毕竟从 F=ma 出发可以建立“所有”的机械系统的动力学模型,铁疙瘩的重量又不会莫名其妙地改变主要环境参数都可以测量,但 是经典控制理论至少在化工控制中实用成功的例子实在是凤毛麟角给你一个 50 块塔板的精馏塔,一个气相进料一个液相进料,塔顶、塔底出料加一个侧线出 料塔顶风冷冷凝器,塔底再沸器加一个中间再沸器你就慢慢建模去吧,等九牛二虎把模型建立起来了风冷冷凝器受风霜雨雪的影响,再沸器的高压蒸汽的压力 受友邻装置的影响气相进料的温度和饱和度受上游装置的影响而改变,液相进料的混合组分受仩游装置的影响而改变但组分无法及时测量(在线气相色谱分析结 果要 45 分钟才能出来),动态特性全变了
老家伙歌德两百年前就说了,理论是灰色的生命之树常青。我们知道马鹿喜欢金光的或者银光的至少也要红的,不过只好将就啦青绿地干活。在实用中PID 有很哆表兄弟,帮着大表哥一块打天下
比例控制的特点是:偏差大,控制作用就大但在实际中有时还嫌不够,最好偏差大的时候比例增益也大,进一步加强对大偏差的矫正作用及早把系统拉回 到设定值附近;偏差小的时候,当然就不用那么急吼吼慢慢来就行,所以增益小一点加强稳定性。这就是双增益 PID(也叫双模式 PID)的起源想想也 对,高射炮瞄准敌机是一个控制问题如果炮管还指向离目标很远嘚角度,那应该先尽快地把炮管转到目标角度附近动作猛一点才好;但炮管指向已经目标很近 了,就要再慢慢地精细瞄准工业上也有佷多类似的问题。双增益 PID的一个特例是死区 PID(PID with dead band)小偏差时的增益为零,也就是说测量值和设定值相差不大的时候,就随他去不用控淛。
这在大型缓冲容器的液位控制里用得很多本来缓冲容器就 是缓冲流量变化的,液位到底控制在什么地方并不紧要只要不是太高或呔低就行。但是从缓冲容器流向下游装置的流量要尽可能稳定,否则下游装置会受到不必 要的扰动死区 PID 对这样的控制问题是最合适的。但是天下没有免费的午餐死区 PID 的前提是液位在一般情况下会“自动”稳定在死区内,如果死区设置不 当或系统经常受到大幅度的扰動,死区内的“无控”状态会导致液位不受限制地向死区边界“挺进”最后进入“受控”区时,控制作用过火液位向相反方向不 受限淛地“挺进”,最后的结果是液位永远在死区的两端振荡而永远不会稳定下来,业内叫 hunting(打猎打什么?打鹿)。双增益 PID 也有同样的 問题只是比死区 PID 好一些,毕竟只有“强控制”和“弱控制”的差别而没有“无控区”。在实用中双增益的内外增益差别小于 2:1 没有哆大意义,大于 5:1 就要注意上述的持续振荡或 hunting 的问题
双增益或死区 PID 的问题在于增益的变化是不连续的,控制作用在死区边界上有一个突嘫的变化容易诱发系统的不利响应,平方误差 PID 就没有这个问题 误差一经平方,控制量对误差的曲线就成了抛物线同样达到“小偏差尛增益、大偏差大增益”的效果,还没有和突然的不连续的增益变化但是误差平方有两个问 题:一是误差接近于零的时候,增益也接近於零回到上面死区 PID的问题;二是很难控制抛物线的具体形状,或者说很难制定增益在什么地方拐弯。
对于第一个问题可以在误差平方 PID 上加一个基本的线性 PID,是零误差是增益不为零;对于后一个问题就要用另外的模块计算一个连续变化的增益了。具体细节比 较琐碎將偏差送入一个分段线性化(也就是折线啦)的计算单元,然后将计算结果作为比例增益输出到 PID 控制器折线的水平段就对应予不同的增益,而连接 不同的水平段的斜线就对应于增益的连续变化通过设置水平段和斜线段的折点,可以任意调整变增益的曲线要是“野心”夶一点,再加几个计算单元可以做出 不对称的增益,也就是升温时增益低一点降温时增益高一点,以处理加热过程中常见的升温快、降温慢的问题
双增益或误差平方都是在比例增益上作文章,同样的勾当也可以用在积分和微分上更极端的一种 PID 规律叫积分分离 PID,其思蕗是这样的:比例控制的稳定性好响应快,所以偏差大的时候把 PID 中的积分关闭掉;偏差小的时候,精细调整、消除余差是主要问题所以减 弱甚至关闭比例作用,而积分作用切入控制概念是好的,但具体实施的时候有很多无扰动切换的问题。
这些变态的 PID 在理论上很難分析系统的稳定性但在实用中解决了很多困难的问题。大言不惭一句这些 PID 本人在实际中都用过。

复杂结构 PID 打仗时如果敌人太顽固,要么换更大的炮把敌人轰倒;要么采用更巧妙的战术,把敌人晕倒控制也是一样,单回路 PID 难以解决的问题常常可以通过更巧妙的囙路结构来解决。
单一的 PID 回路当然可以实现扰动抑制但要是主要扰动在回路中,而且是明确的加一个内回路作帮手是一个很不错的主意。还记得洗热水澡的例子吗要是热水压力不稳定,老是要为这个而调整 热水龙头那很麻烦。要是有一个人专门负责根据热水压力调節热水流量把热水压力稳定下来,而且稳定在标定值那洗澡的时候,水温就容易控制多了只要告 诉那个人现在需要多少热水流量,洏不必烦心热水压力对热水流量的影响这个负责热水流量的控制回路就是内回路,也叫副回路而洗澡的温度就是外回路,也叫 主回路当然是主回路指挥副回路,就像自动化指挥机械化、学自控的人指挥学机电的人……打住打住再扯远了要挨鹿踹了,或者马踹、牛踹、驴踹……
这种主回路套副回路的结构叫串级控制(cascade control),曾经是单回路 PID 后工业上第一种“先进过程控制”现在串级已经用得很多了,吔不再有人叫它“先进过程控制”了串级控制最主要的功 用是抑制回路内的扰动,增强总体控制性能不过串级也不能乱用。如果主回蕗和副回路的相应速度差不多或者主回路的相应速度甚至慢于副回路(通过变态的调 试是可以做到的),这样的串级要出问题理论上鈳以用共振频率什么的分析,但是不用费那个事用膝盖想想就知道,一个急性子的头儿把一个温吞水的下属指挥 得团团转结果只能是夶家都精疲力竭,事情还办砸了相反,一个镇定自若的头儿指挥一个手脚麻利的下属那事情肯定办得好。
如果主要 扰动在回路以外泹是可以预知,那就要用另一个办法就是马鹿前面说到的前馈了。还是用洗热水澡的例子如果冷水管和同一个水房的抽水马桶功用,伱在洗 澡别人一抽水,那你就变煮熟的龙虾了(本想说猴子 PP的但是那个不雅,我们要五讲四美不是)。这个时候要使那个人在抽沝的同时告诉你一声,你算好 时间算好量,猛减热水那温度还是可以大体不变的。这就是所谓前馈控制(feed-forward control)前馈控制有两个要紧的東西:
一是定量的扰动对被控变量的影响,也就是所谓前馈增益;二是扰动的动态别人抽水到洗澡龙头的水温变热,这里面有一个过程不是立时三刻的。如果可以精确知道这两样东西那前馈补偿可以把可测扰动完全补偿掉。但实际上没有精确知道的事情要是指望前饋来完全补 偿,弄巧成拙是肯定的所以前馈通常和反馈一起用,也就是在 PID 回路上再加一个前馈一般也只用静态前馈,也就是只补偿扰動对被控变量的静态影响而忽 略扰动的动态因素,主要是为了静态前馈已经把前馈 80%的好处发掘出来了动态前馈既复杂又不可靠,在PID 回蕗里很少有人用理论上的前馈都是在 PID 的控制作用上再加一个前馈作用,实际上也可以乘一个控制作用乘法前馈的作用太猛,我从来没囿用过一般都是用加法。在实施中前馈是和扰动的变化(也就 是增量)成比例的,所以扰动变量不变了前馈作用就消失,否则整萣前馈控制增益会对 PID主回路造成扰动。前馈增益可以根据粗略计算得到比如说,抽水的量会造成温度下降多少、需要调整多少热水流量財能维持温度这不难从热量平衡算出来。不想费这个事的话也可以从历史数据中推算。一般算出来一个前馈增益后打上 7 折甚至 5 折再鼡,保险一点不要矫枉过正。
前馈作用一般是用作辅助控制作用的但是在特殊情况下,前馈也可以作为“预加载” (pre-loading)作为基准控制莋用比如说,在一个高压系统的启动过程中压力可以从静止状态的常压很快地什到很高的压力。高压系统不容许阀门大幅度运动所鉯控制增益都比较低,但是这样一来启动升压过程中,压力控制的反应就十分迟缓容易造成压力过高。这时用压缩机的转速或高压进料的流量作前馈将压力控制阀“预先”放到大概的位置,然后再用反馈慢慢调节就可以解决这个问题。
前面提到用单个阀门有时难以控制大 范围变化的流量这是一个很实际的问题。工业阀门一般 turn down 只有 10:1也就是说,如果这个阀门的最大流量是 100 吨/小时的话低于 10 吨/小时僦难以控制了,当然高于90 吨/小时也几近失去控制。 所以要真的保证 0-100 的精确控制,需要将一个大阀和一个小阀并列小阀负责小流量时嘚精确控制,大阀负责大流量时的精确控制这就是所谓的分程控制 (split range control)。分程控制时小阀首先打开,超过小阀最大流量是小阀就固定茬全开位置大阀开始打开,接过控制这是开-开型分程控制。也有关-开型分 程控制比如反应器夹套温度控制,随温度逐渐上升冷却沝逐渐关闭,直到冷却水全关加热蒸气开始打开。分程控制当然不一定只有两截三截甚至更多都是可 以的,道理都一样分程控制的問题在于不同阀门的交接点。阀门在特别小的开度时控制非常不灵敏,前面说到的 10:1 也是这个道理所以实用中,开-开型 分程控制常常茬交接点附近有一段重叠也就是小阀快要全开但还没有全开时,大阀已经开始动作这样,到小阀全开、不能再动弹时大阀已经进入囿效控制范 围。关-开型分程控制常常在交接点设置一个死区避免出现两个阀都有一点点开度的情况。分程控制的交接点的设置有一点讲究应该根据阀的大小。比如 A 阀比 B 阀大一倍那分程点应该设在 1/3 先开 B 阀,而不是懒汉做法的 1/2
很多过程参数都是可以测量的,但也有很多參数是没法直接测量的这时,如果能够通过别的可以测量的过程参数来间接计算真正需要控制的参数这就是所谓的推断控制(inferential control)。比洳精馏塔顶的产品纯度可以用气相色谱(gas chromatographGC)来测量,但结果要等 40 分钟才能出来用来做实时控制,黄花菜都凉了推断控制是和“软传感器”(soft sensor)的概念紧密相连的。对精馏塔塔顶纯度这个例子来说可以用纯度和塔顶温度、压力作一个数学模型,用可以测量的温度和压仂间接计算出纯度。在计算机控制普及的今天这是很容易实现的,但是在很多地方推断控制仍然被看成很神秘的东西,悲哀
有的時候,对同一个变量有不止一个控制手段比如说,风冷器有风扇的转速可以调节也有百叶窗的开度可以调节。风扇转速的效果快控淛精确;百叶窗开度 的效果猛,不容易掌握但有利于节能。所以可以用风扇的快速响应来控制温度,但是用百叶窗开度来通过温度间接地缓慢地影响风扇的转速使风扇转速回到最 经济的设定。当然百叶窗开度的控制回路必须要比风扇转速的控制回路整定得慢得多一般是缓慢的纯积分控制,否则两人要打架由于这相当于控制风扇转速的“ 阀位”,工业上称其为阀位控制(valve position control)这个阀位控制也可以变┅变,风扇转速高于某一数值(比如 80%的最大转速)时把百叶窗开大一格,还是高就继续开大;风扇转速低于某一 数值(比如低于 20%最大转速)时把百叶窗关小一格。这实际上是一个单向的积分作用不同的地方有两点:
一、有两个设定值,由风扇转速是高还是低而定
二、積分作用只有在风扇转速在这两个“极限”的外面起作用在里面时,百叶窗的开度不变
这样,风扇转速不必回到一个特定值而是可鉯在一个范围内浮动。另外一个两个控制器“竞争”一个控制阀的情况是选择性控制(overridecontrol 或 selective control)
举个例子,锅炉的温度由燃料流量控制温喥高了,燃料流量就减下来但是燃料流量低到燃料管路压力低于炉膛压力,那要出现危险的回火 所以,这时燃料管路压力就要接管控制,而牺牲炉膛温度换句话说,正常时候炉膛温度控制起作用,燃料管路压力低于一定数值时燃料管路压力控制器作 用。在实施時就是炉膛温度控制器和燃料管路压力控制器的输出都接到一个高选器,然后搞选器的输出接到实际的燃料阀这个概念很清楚,
但是初次接触选择性控制的人常常容易被高选还是低选搞糊涂,明明是压力太低怎么是高选呢?其实只要记住高选还是低选是从阀门这┅头看的,和温度、压力的高度没有关系 如果“非常”变量超过界限了,你要阀门打开那就是高选;你要阀门关闭,那就是低选

PID 从②、三十年到开始在工业界广泛应用,戏法变了几十年也该换换花样了。PID 说一千道一万还是经典控制理论的产物。50-60年代时什么 都要現代派,建筑从经典的柱式、比例、细节的象征意义变到“形式服从功能”的钢架玻璃盒子;汽车从用机器牵引的马车,变到流线型的鋼铁的艺术;控制理论 也要紧跟形势要现代化。这不美国佬卡尔曼隆重推出……现代控制理论。都看过舞龙吧 一个张牙舞爪的龙头氣咻咻地追逐着一个大绣球,龙身子扭来扭去还时不时跳跃那么一两下。中国春节没有舞龙就和洋人的圣诞节没有圣诞老人一样不可思议。 想象一下如果这是一条看不见的盲龙,只能通过一个人在龙尾巴后面指挥龙尾巴然后再通过龙身体里的人一个接一个地传递控淛指令,最后使龙头咬住绣球这 显然是一个动态系统,龙身越长人越多,动态响应越迟缓如果只看龙头的位置,只操控龙尾巴而忽略龙身子的动态,那就是所谓的输入-输出系统
经典控制 理论就是建立在输入-输出系统的基础上的。对于很多常见的应用这就足够了。但是卡尔曼不满足于“足够”龙头 当然要看住,龙尾巴当然要捏住但龙身体为什么就要忽略呢?要是能够看住龙身体甚至操纵龙身体,也就是说不光要控制龙尾巴,控制指令还要直接传到龙身 体里的那些人那岂不更好?这就是状态空间的概念:将一个系统分解為输入、输出和状态输出本身也是一个状态,或者是状态的一个组合在数学上,卡尔曼的 状态空间方法就是将一个高阶微分方程分解荿一个联立的一阶微分方程组这样可以使用很多线形代数的工具,在表述上也比较简洁、明了
卡尔曼是搞控制理论的。理论家的想法僦是和工程师不一样工程师脑子里转的第一个念头就是“我怎么控制这劳什子?增益多少控制器结构是什么样的?”理论家想的却是什么解的存在性、唯一性之类虚头八脑的东西不过呢,这么说理论家也不公平好多时候,工程师凭想象和“实干”辛苦了半天,发現得出的结果完全不合情理这时才想起那些“性”(不要想歪了啊,嘿嘿)原来那些存在性、唯一性什么的还是有用的。
还是回过来看这条龙现在,龙头、龙尾巴、龙身体都要看不光要看,还要直接操控龙头到龙尾的每一个人但是,这龙不是想看就看得的不是想舞就舞得 的。说到 “看”直接能够测量/观测的状态在实际上是不多的,所谓看实际上是估算。要是知道龙身体有多少节(就是有多尐个人在下面撑着啦)龙身体的弹性/韧性 有多少,那么捏住龙尾巴抖一抖再看看龙头在哪里,是可以估算出龙身体每一节的位置的這叫状态观测。那么要是这龙中间有几位童子开小差,手不好好拉 住那再捏住龙尾巴乱抖也没用,这时系统中的部分状态就是不可观測的如果你一声令下,部分童子充耳不闻那这些状态就是不可控
制的。卡尔曼从数学上推导 出不可控和不可观的条件在根本上解决叻什么时候才不是瞎耽误工夫的问题。这是控制理论的一个重要里程碑
再来看这条龙。如果要看这条龙整齐不整齐排成纵列的容易看清楚;如果要清点人数,看每一个人的动作排成横列的容易看清楚。但是不管怎么排这条龙还是 这条龙,只是看的角度不同那时候Φ国人的春节舞龙还没有在美国的中国城里闹腾起来,不知道卡尔曼有没有看到过舞龙反正他把数学上的线性变换和线性空间 的理论搬箌控制里面,从此搞控制的人有了工具,一个系统横着看不顺眼的话可以竖着看,因为不管怎么看系统的本质是一样的。但是不同嘚角度有不同的用 处有的角度设计控制器容易一点,有的角度分析系统的稳定性容易一点诸如此类,在控制理论里就叫这个那个“标准型”这是控制理论的又一个里程碑。
观测状态的目的最终还是控制只用输出的反馈叫输出反馈,经典控制理论里的反馈都可以归到輸出反馈里但是用状态进行反馈的就叫状态反馈了。输出反馈 对常见系统已经很有效了但状态反馈要猛得多。你想想一个系统的所囿状态都被牢牢地瞄住,所有状态都乖乖地听从调遣那是何等的威风!
尽管学控制的人都要学现代控制理论,但大多数人记得卡尔曼还昰因为那个卡尔曼滤波器(Kalman Filter)说它是滤波器,其实是一个状态观测器(state observer)用来从输入和输出“重构”系统的状态。这重构听着玄妙其实不复杂。不是有系统的数学模型吗只要模型精确,给它和真实系统一样的输入它不就乖乖地把系统状态给计算出来了吗?且慢:微分方程的解不光由微分方程本身决定还有一个初始条件,要是初始条件不对微分方程的解的形式是正确 的,但是数值永远差一拍鉲尔曼在系统模型的微分方程后再加了一个尾巴,把实际系统输出和模型计算的理论输出相比较再乘上一个比例因子,形成一个实际上嘚状态反馈把状态重构的偏差渐进地消除,解决了初始条件和其他的系统误差问题卡尔曼滤波器最精妙之处,在于卡尔曼推导出一个系统的方法可以考虑进测量噪声和系统本身的随机噪声,根据信噪比来决定上述比例因子的大小
这个构型其实不是卡尔曼的独创,隆伯格(Luenburg)也得出了类似的结构但是从系统稳定性角度出发,来决定比例因子同样的结构大量用于各种“预测-校正”模型结构,在工业仩也得到很多应用比如聚合反应器的分子重量分布可以用反 应器的温度、进料配比、催化剂等来间接计算,但不够精确也无法把林林總总的无法测量的干扰因素统统包括进数学模型里,这时用实验室测定的真实值来定期校 正就可以结合数学模型及时的特点和实验室结果精确的特点,满足实时控制的要求这或许可以算静态的卡尔曼滤波器吧。卡尔曼滤波器最早的应用还是在雷达 上所谓边扫描边跟踪,就是用卡尔曼滤波器估计敌机的位置再由雷达的间隙扫描结果来实际校正。实际应用中还有一个典型的问题:有时候对同一个变量鈳以 有好几个测量值可用,比如有的比较直接但不精确有的是间接的估算,有很大的滞后但精确度高这时可以用卡尔曼滤波器把不同來源的数据按不同的信噪比加权 “整合”起来,也算是民用版的“传感器融合”(sensor fusion)吧
除了卡尔曼滤波器外,卡尔曼的理论在实际中用嘚不多但是卡尔曼的理论在理论上建立了一个出色的框架,对理解和研究控制问题有极大的作用顺便说一句,卡尔曼的理论基本局限於线形系统也就是说,十块大洋买一袋米二十块大洋就买两袋米,都是成比例的实际系统中有很多非线性的,两千块大洋还能买两百袋米但两千万大洋就要看米仓有没有货了,市场涨不涨价了不是钱越多,买的米越多有一个非线性的问题。非线性的问题研究起來要复杂得 多实际系统还有其他特性,有的是所谓时变系统像宇宙火箭,其质量随时间和燃料的消耗而变系统特性当然也就变了。佷多问题都是多变量的像汽车转弯, 不光方向盘是一个输入油门和刹车也是输入变量。但是状态空间的理论在数学表述上为线性、非线性、单变量、多变量、时变、时不变系统提供了一个统一的框 架,这是卡尔曼最大的贡献

前面说到,搞控制有三拨人:电工出身的化工出身的,和应用数学出身的在卡尔曼之前,电工出身的占主导地位数学家们好在象牙塔里打转转,化工出身则还对控制理论懵裏懵懂还在“实干”呢。卡尔曼之后一大批数学出身的人,利用对数学工具的熟悉转攻控制理论。一时间控制理论的数学化似乎荿了“天下大势,顺我者昌逆我者亡”了。在状态空间的框架下多变量没有太多的问题好研究,于是最优化成为控制理论的新时尚
對于一根给定的曲线,求一阶导 数为零的点就是这个曲线的极点;在对这一极点球二阶导数,大于零就是最小点小于零就是最大点。這时牛顿老爷子就整明白的东东现在高中或大一人人都学 过的东西。但是动态系统是一个微分方程对微分方程求一阶导数为零,就导致变分法和所谓欧拉方程但这个东西用起来不方便。实际的最优控制不大直接使用变分
俄罗斯是一个奇怪的地方。老毛子们要么蔫蔫嘚要么疯狂的。俄罗斯的悲剧电影看得你也郁闷得想去自杀但是毛子要是搭错筋整出一个喜剧呢?那你要么跟着疯狂要么被逼疯狂。就是这么一个地方除了无数托尔斯泰、柴可夫斯基、普希金、屠格涅夫等文艺巨璧外,俄罗斯也盛产数学家其中两个是庞特里亚京囷学控制的人老惦记着的李亚普诺夫。
庞特里亚京的极大值原理听起来吓人其实说白了很简单。看见那山吗山顶就是最高点(切,这還用你 说吗);看见那山坡吗?要是在山腰划一道线从山下往上爬,尽管山坡还在继续往上延伸但是到线为止,不得逾越那山腰仩那道三八线就是最高点(切,这 还用说)。这就是庞特里亚京的极大值原理当然啦,庞特里亚京是用精巧、深奥的数学语言表述的要不然他在数学界里也别混了。不过呢意思就是这么一个意思。
庞特里亚京极大值原理的一个典型应用就是所谓最速控制问题或者叫时间最优控制 (time optimal control)问题,简单地说就是给定最大马力和最大刹车功率,怎么开汽车能够最快地从 A 点开到 B 点(什么转弯、上下坡、红绿燈这种琐碎的事情也要拿来烦人?一点品味都没 有!)你可以用优美但繁琐的数学求证,或者用膝盖想想最快的方法,就是一上来僦加足马力全速前进;然后在不到终点的某一地点,全力刹车使慢下来的 汽车在到达终点时正好停下来。这时最快的方法不可能比這更快了。稍微发挥一点想象力可以想象“梆”的一下,控制量的油门板一脚到底再是“梆”的一 下,刹车板一脚到底控制任务就唍成了。所以最速控制也叫“梆-梆”控制(Bang-Bang control)
最速控制在理论上是一个很有趣 的问题,解法也是简洁、优美但在实际中直接使用的例孓实在是凤毛麟角,一般都是开始时用“梆-梆”或者匀速上升到最大控制,以缓和控制的冲击力;到终 点附近时改用 PID 作闭环微调,以克服“梆-梆”的系统模型误差十分敏感的缺点电梯控制就是这样一个例子。从一楼到四楼电动机很快匀速上升到最高转 速,一过三楼电动机就匀速下降到较低的转速,然后根据电梯实际位置和楼面之差有控制地减速,直至停下来要是控制参数调得好的话,一下子僦稳稳当当地 停下来;要是调的不够好会在停下来之前上下晃荡几下。
最速控制问题是较早的最优控制问题它提供了一个很有趣的思蕗,但这颗树上开花结果不多 相比之下,最优控制的另外一支枝繁叶茂有生气得多了。这一支就是线型二次型最优控制(linear quadratic control)数学是囿趣的,但数学也是盲目的在数学上,最优化问题就是一个在曲面上寻找凸点的问题只要你能把一个物理问题表述成一个曲面,数学昰不理会姓无姓资的既然如此,控制偏差的平方在时间上的累积就是很自然的选择二次型就是平方在线性代数里的说法。线型系统的偏差平方有很好的性质这山峰是一个馒头山,没有悬崖峭壁没有沟坎,容易爬;一山只有一峰不用担心找错地方。不过这山峰不能呮包含控制偏差还要包含控制量,原因有三个:
1、如果不包括控制量那最优控制的解是没有意义的,因为无穷大的控制量可以使累计岼方偏差为最小但无穷大的控制量是不现实的。
2、控制量的大小通常和能量、物料的消耗连在一起实际控制问题一般是“在最小能量、物料消耗小达到最高的控制精度”,所以在“山峰”中同时包含控制偏差和控制量是很自然的
3、系统模型总是有误差的误差“总是”茬高频、大幅度控制作用下最突出,
所以为了减低系统对模型误差的敏感性也有必要限制控制量的大小。
所以线性二次型最优控制的“目标函数”(也就是定义山峰形状的数学表述)是一个控制偏差和控制量各自平方的加权和的积分积分当然就是“在时间上的累积 ” 了,加权和其实就是在控制偏差的平方项和控制量的平方相前分别乘以比例因子然后再相加。两个比例因子的相对大小决定了谁更重要運用矩阵微分和线型 代数工具,不难导出线性二次型控制律—一个基本的状态反馈控制律!只是反馈增益矩阵是按最优化的要求计算出来嘚
线型二次型最优控制开创了一整个新的控制领域,很快从状态空间走出来进入其他领域,子孙繁衍人丁兴旺。这一支是当今最优控制在应用中的主体线性二次型控制具有各种各样的优点,但是线性二次型没有回答一个最基本的控制问题:这个闭环系统是不是稳萣。这里我们的饱受牵记的李亚普诺夫同志出场 了。
李亚普诺夫也是一个思路比较奇特的人一百多年前,玩微分方程玩出了瘾整出兩个稳定性(或者叫收敛性)的定理,前一个没有什么太了不起的把非线性系统线性化,就是把一根曲线用很多一小段、一小段的直线菦似然后按直线来分析。后一个就有点邪门了老李琢磨出一个定理,说是对于任意一个系统如果能找 到一个自我耗散的能量函数(數学说法是正定函数),也就是其数值永远为正但随时间渐进地趋向零,或者说这个能量函数对时间的导数永远为负那这个系统就 是穩定的。据说定理的证明是一个天才的杰作我等凡人只有频频点头的份。不过想想也对系统的能量耗散没了,系统不也就安分下来了嗎当然就稳定喽。
李亚普诺夫比卡尔曼还要数学家他的定理只给出“如果存在……就……”,怎么找这个自我耗散的能量函数他没说这个函数一般是什么样他也没说。这难不倒搞自动控制的群众不是要正定函数吗?不是没有限制什么形式的正定函数吗那就用控制偏差的平方吧。说干就干但是干着干着,好玩的事情出现了对偏差平方(或二次型)的求导,导出了和线性二次型最优控制推导过程Φ同样出现的一个所谓黎卡蒂方程(Riccati equation)感情这是殊途同归呀。换句话说线性二次型控制总是稳定的。这是线性二次型控制的一个重要貢献:把最优性和稳定性连到一起
再扯一句李亚普诺夫,他的第二个定理非常威猛但是有点像一个奇形怪状的大锤,到现在人们还在找合适的钉子好用这把大锤砸几下。线性二次型控制是已知的仅有的几个钉子之一另一个是变结构控制,也可以用李亚普诺夫方法這是题外话了。

都说瓦特的蒸汽机后计算机是影响人类进程最大的发明,计算机当然也对自动控制带来深刻的影响如前所述,控制理論基本上都是围绕微分方程转的所以在“本 质”上是连续的。但是数字计算机是离散的也就是说,数字控制器的眼睛不是一直盯着被控对象看的而是一眨一眨的。数字控制器的“手脚”也不是一刻不停地 连续动作的而是一顿一顿的。这是数字计算机的天性使然于昰,传统的控制理论全部“翻译”到离散时间领域微分方程变成了差分方程,所有方法、结论都有 了连续、离散两套不尽相同,但是夶同小异
要是数字控制就是简单的连续系统离散化,计算机控制也就没有什么了不起离散控制带来了一些连续控制 所不可能具备的新特点,这就是:差分方程用清晰界定的时刻之间的关系来描述动态过程回到洗热水澡的例子,如果热水龙头不在跟前而是在村外一里哋的小锅 炉房里,你只能用电话遥控那水温可以表示为下一分钟水温=0.7现在水温+0.2上一分钟水温+0.1再上一分钟水温+0.4(5 分钟前锅炉房龙头开度-6 分鍾前锅炉房龙头开度)
显然,下一分钟的水温受现在水温的影响比上一分钟和再上一分钟的水温的影响要大但锅炉房龙头开度要是不变,现在、上一分钟、再上一分钟水温都一样的话下 一分钟的水温也应该和现在的水温一样。为什么用 5 分钟前锅炉房的龙头开度呢那是洇为热水从村外流到洗澡房要有一定的时间,这个时间就是滞后要是把时间 向前推,那现在的龙头开度就会影响 5 分钟后的水温这说明叻离散模型的一个重要特质:预估能力。所有预报模型都是建立在离散模型的这个预估能力上不管是天气预报,还是经济预测还是自動控制里对有滞后的过程的控制。
数字控制的另一特质是可以实施一些不可能在连续时间实现的控制规律工业上常有控 制量的变化需要囷当前的实际值有关的情况。比如对于不同的产品反应器的转化率总是大体在 88-92%之间,没有太大的变化但是催化剂可以在0.5 到 35ppm 之间变化,采用常规的 PID 的话增益就非常难设,对一个情况合适了对另一个情况就不合适。所以催化剂需要按百分比变化率调整而不是简单地 按偏差比例调整。比如说转化率偏离 1%时,催化剂要是在 0.5ppm应该调整 0.05ppm;但是在 15ppm 的时候,就应该是 1.5ppm这 样,控制律就可以表示为:当前的控制量=上一步的控制量*(设定值/当前的测量值)也就是说在被控变量高于设定值 10%的情况下,控制量也增加 10%;测量值和设定值一样时控制量鈈再变化。实际使用时谁除以谁要根据测量值上升你是要控制量上升还是下降来决定,控制律也要稍微修改一下成为当前的控制量=上┅步的控制量*(当前的测量值/设定值)^k。
k 次方是用来调整控制律对“偏差”(这是已经不是差值而是比值了,严格地说应该叫“偏比”?)的灵敏度相当于比例增益。这个控制律实际上相当于对数空间 的纯积分控制要是有兴趣,对很多常见的非线性过程有相当不错嘚效果实现也简单。然而这是一个本质离散的控制律,在连续时间里无法实现
离散控制可以“看一步、走一步”的特性,是连续控淛很难模仿的也是在实际中极其有用的。

形形色色的控制理论再牛没有被控过程的数学模型,照样抓瞎前面的洗澡水温就是一个数學模型。这个模型是杜撰的当然可以很容易地给它所有模型参数。但在 实际中模型参数不会从天上掉下来。多少科学家毕生致力于建竝某一特定的物理、生物、化学或别的学科的数学模型基本机制已经清楚的模型都不容易建立,更 不用说很多过程的基本机制或深层机淛并不清楚所以靠机理推导被控过程的数学模型是可能的,但对日常的控制问题来说并不实际。
这就是控制理论的另一个分支—辨识—一显身手的地方了如果给定一个模型,也就是一个数学公式给它一组输入数据,模型就可以计算出对应的输出数据比如说,给定模型 y=2*x+1再给出 x=1,23,4那 y 就等于 3,57,9就这么很简单。
辨识的问题反过来先给定一个模型结构,在这里就是 y=a*x +b已知输入-输出数据是 x=1,2 時 y=35,要求计算出 a 和 b显然,这是一个二元一次方程谁都会解。在实际中输入-输出的观察 数据含有测量噪声,这对参数估计的精度不利;但通常积累观察的数据量远远超过未知参数的个数不说数学,感觉上这就应该对克服测量噪声有利关键是怎么利 用这“多余” 的數据。一个办法是把数据组两两配对借众多的二元一次方程,然后对解出来的 a 和 b 作平均还有一个办法就是有名的最小二乘法了,说穿叻 就是以 a 和 b 为最优化的“控制量”,使模型输出和实际观测值之间的累积平方误差为最小
实际工业过程大多有多年的运行经验,大量嘚数据不成问题 对于大多数常见过程,模型的基本结构和定性性质也可以猜一个八九不离十有了如此有力的数学“大锤”,那么应该鈳以砸开一切建模的硬核桃啦且慢,世上没有真正的“神奇子弹”一个问题解决了,另一个同等难度的问题又会出现对于辨识来说,问题有好几个
第一个问题是工业数据的闭环性。大多数重要参数都有闭环回路控制如果没有闭环回路控制,那要么就是过程特性实茬太复杂简单回路控制不了;要么就是这个参数其实不重要,飘移一点没人在乎然而, 一旦闭环系统地输入和输出就是相关的了。這一相关不要紧输入-输出数据之间的因果性就全乱了:输出通过被控过程本身和输入相关(这是好的,辨识就是要 测算出这个相关关系输出要是和输入不相关,也没有控制或辨识什么事了)输入通过反馈和输出相关;输入-输出成为一个闭合系统,你可以用任意多条定悝或 方法证明同样的事:由于因果不分闭环辨识是不可能的,除非另外加入“新鲜”的激励比如使劲变设定值,或者在闭环回路里额外施加独立于输入、输出的激励信号比如“莫名其妙” 地把阀门动几下。弄到最后工业数据到底能用多少,就不是一个简单的回答囿的过程常年稳定操作,像乙烯装置只有小范围的微调。
这倒不是人家懒或者不求上进而是这些装置早已高度优化,常年操作的极其接近极限的位置但原料和产品单一,所以工艺状况不怎么大变这种系统的闭环数据用起来很吃力,常常必须做一定的开环试验有的過程经常在不同的状态之间转换(transition),或者由于不同的原料如“吃”得很杂的炼油 厂,或者由于不同的产品如聚乙烯装置,这实际上僦是“使劲变设定值”是新鲜的激励。这种系统的闭环数据比较好用但又别的问题,下面要谈到
第二个问题是动态和稳态。动态模型的作用有两个:一是描述需要多少时间输出才能达到某一数值;二是输出最终能够达到什么数值用股票市场举一个例子,你需要 知道兩件事:一是这支股票最后会升到多少二是需要多少时间才能升到那里,只知道其中一个对你并没有太大的用处当然为了简化,这里假定这支股票一路飙 升不来忽升忽降或跌买涨卖的名堂。这就要求输入-输出数据必须包含充分的动态和稳态信息过于偏颇其中一方面對另一方面会不利。所以长期稳定运行的过程中可能包含足够的稳态数据,但动态不足;常年不怎么稳定的过程可能包含足够的动态数據但稳态不足。用 PID 控制打比方精
确的稳态数据有助于计算正确 的比例控制增益,精确的动态数据有助于计算正确的积分和微分增益顯然,把比例增益整对了更为重要
为了获得精确的稳态,在辨识中常常需要等过程开环稳定 下来才进行下一步但是问题是,实际过程囿时时间常数很长几个精馏塔一串联,时间常数几个小时是客气的一、两天都是可能的。这样一来一个不太大的模型,十来个变量开环试验一做就是一、两个星期。要是一个装置能够两个星期开环那也不需要什么控制了。
第三个问题是激励的信噪比都说人类活動 是二氧化碳和温室效应的主要原因,但要是你去生一堆篝火再去高空大气层去测一测二氧化碳和温室效应,肯定什么也测不出来本來多少,现在还是多少为什 么呢?不是因为这堆篝火没有效果而是环境中的自然的变化远远超过了篝火的作用,换句话说就是噪声遠远超过了信号。工业测试也是一样信号一定要有一定 的强度,否则是白耽误工夫信号强度应该使过程达到严重失稳的边缘,这样才恏获得在大范围内都精确的模型以便控制器不光在“风平浪静”的情况下可以正常 工作,在“惊涛骇浪”的情况下也能使系统恢复稳定然而,工厂以生产为主在一切都“斤斤计较”的今天,如此大范围的测试所带来的产品损失甚至对设备的可能的危害都是工厂极不願意见到的。
理论家们设计了一个伪随机信号用一连串宽窄不等的方波信号,作为激励过程的输入在理论上可以是过程参数的平均值鈈致偏离设定值太多,但 ISO9000 不仅要求产品质量的平均值要保证产品质量的一致性也要保证。再说伪随机信号的脉宽不好确定,太窄了穩态数据不够;太宽了,和常规的阶跃信号也没有什么两样所以伪随机信号在实际上用得很少。
第四个问题是输入的相关性实际工业過程到了要用辨识来确定模型的时候,都是单回路对付不了了所以都是多变量过程。在理论上多个输入变量可以同时变化,只要输入變量的变化是相互独立的数学上容许多个输入变量同时变化,而辨识可以正确地辨别模型然而,在使用实际过程的历史数据时常常遇到多个输入变量并不相互独立的问题。比如说在制作巧克力的过程中,香草巧克力比较“苦”或者说不太甜,而牛奶巧克力比较甜问题是做牛奶巧克力时,不光加糖还要加牛奶(废话,不加牛奶那还是牛奶巧克力吗)由于两者总是同时出现,在甜度模型里就難以辨别甜度是由于加糖的关系,还是由于加牛奶
的关系有的时候可以根据对具体过程的认识,人工地限制辨识的过程来消除这种影響,有的时候就不太容易了,只好不用历史数据专门做试验,用各自独立的输入辨识模型。
第五个问题是模型结构模型结构包括兩个方面,一是模型的阶数二是剔除在物理上不可能的模型。辨识的模型归根结底还是差分方程这就有一个如何预设阶数的问题。数學上有很多验前和验后的检验方法在工业上,人们偷一个懒改用费参数模型,也就是用一条响应曲线而不是一个方程来表述一个模型这样就可以绕过阶数的问题。但是剔出不现实的模型还是一个手工活需要对每一个模型仔细研究,以确定模型所描述的动态关系是否匼理数学方法还是不够可靠。
在搞模型的人中间常常会听到黑箱、白箱和灰箱的说法。黑箱模型就是不理会实际过程的物理、化学等性质纯粹从数学出发,假设一个模型结构然后用种种数学方法找出一个最好的模型。白箱反其道而行之从物理、化学等性质出发,建立机理模型黑箱模型的好处是“放之四海而皆准”,不需要对具体过程有深入的了解黑箱模型是一种削足适履的作法,但是如果履夲身就做得比较好具有相当的灵活性和适应性,就并不需要削足由于黑箱模型可以自由假设模型结构,黑箱模型的处理和使用都比较方便黑箱模型是经验主义的, 数据里没有包含的情况黑箱模型无法预测。白箱模型则是“量身度造”的反映了过程的物理、化学等性质,对实际过程的数据没有太大的依赖对数据中不包含的情况也能可靠地预测。但是白箱模型的结构有具体问题决定得出的模型不┅定容易使用。在实际中人们经常在假设一个模型结构的时候考虑进大大简化的过程机理,所以模型结构不是凭空拍脑袋出来而是粗畧地抓住了过程的基本特质,然后再用黑箱方法的“数据绞肉机”将简化模型没有能够捕捉的细微末节一网打尽。
这种模型结合了黑箱囷白箱的特点所以称为灰箱。实际建模中纯粹黑箱或白箱的成功例子很少,灰箱的成功机会就要多得多不管什么箱,最后还是有一個如何辨识实际过程的问题闭环辨识的好处不用多说了,问题是如何从闭环辨识中获得有用的模型工业上有一个办法,没有一个“官洺”但实际上是一个开环-反馈过程。具体做法是这样的:先用粗略的过程知识构造一个简单的多变量控制器其任务不是精确控制被控過程,而是将被控变量为此在极限之内一旦逼近或超过极限,就采取动作将其“赶”回极限内;但只要在极限内就按部就班地做阶跃擾动,测试过程特性测试的结果用来改进控制器的模型,然后再来一遍几遍(一般两遍就够了)之后,模型精度应该很不错了这个方法比较好地解决了辨识精度和过程稳定性的要求。

西游记里最好看的打斗是孙悟空大战二郎神那一段孙悟空打不过就变,二郎神则是“敌变我变”紧追不舍,最后把个无法无天的顽皮猴子擒拿归案用控制理论的观点看,这“敌变我变”的本事就是自适应控制控制器結构根据被控过程的变化自动调整、自动优化
自适应控制有两个基本思路,一是所谓模型跟踪控制二是所谓之校正控制。模型跟踪控淛也叫模型参考控制在概念上对人们并不陌生。毛_主_席那阵子经常树立各种榜样,目的就是要在党发出号召时我们比照榜样的行为,尽量调整自己的行为使我们的行为了榜样的行为接近。这就是模型跟踪控制的基本思路模型跟踪控制在航空和机电上用得比较多,茬过程控制中很少使用自校正控制的思路更接近人们对自适应的理解。自校正控制是一个两步走的过程首先对被控过程作实时辨识,嘫后再辨识出来的模型的基础实时地重新构造控制器。思路简单明了实施也不算复杂,但自校正控制在一开始的欢呼后并没有在工業上取得大范围的成功,原因何在呢
原因之一是闭环辨识。虽然自校正控制不断改变控制器的参数在一定程度上打破了固定增益反馈控制对输入、输出带来的因果关系,但是因果关系还是存在还是相当强烈,对辨识模型的质量带来影响
原因之二是所谓“协方差爆炸”。数学上当然有严格的说法但简单地说,就是自校正控制器的目的当然还是是系统稳定下来但是在系统越来越稳定的过程中,自校囸控制器对偏差和扰动的敏感度越来越高最后到“万籁俱静”的时候,敏感度在理论上可以达到无穷大然而,这时如果真的扰动来了控制器一下子就手足无措了。
原因之三是实际过程的复杂性在辨识实际过程时,最重要的步骤不是后面的“数学绞肉机”而是对数據的筛选,必须把各种异常数据剔除出去否则就是“垃圾进来,垃圾出去”但是,要实时、自动地剔除异常数据这个要求非同小可,比设计、投运一个自校正控制器费事多了这是自校正控制在实际中成功例子有限的最大原因。

自动控制从一开始就是以机电控制为主導的60 年代数学派主导了一段时间后,70 年代化工派开始“小荷才露尖尖角”自校正控制已经有很多化工的影子,但化工派的正式入场之莋是模型预测控制(model predictive controlMPC)。这是一个总称其代表作是动态矩阵控制(dynamic matrix control,DMC)DMC是 Charlie Cuttler 的 PhD 论文,最先在壳牌石油公司获得应用以后 Cuttler 自立门户,創办 DMC 公司现在是 Aspen Technology 公司的一部分。
数学控制理论非常优美放之四海而皆准,但是像老虎一样看起来威猛,却是干不得活的干活毕竟靠老牛。DMC 的成功之处在于应用伪理论将一些本来不相干的数学工具一锅煮,给一头老老实实的老牛披上一张绚烂的老虎皮在把普罗大眾唬得一愣一愣的时候,悄悄地把活干了
DMC 基本就是把非参数模型(在这里是截断的阶跃曲线)放入线性二次型最优控制的架构下,成功哋解决了解决了多变量、滞后补偿和约束控制问题多变量的含义不言自明,滞后放在离散动态模型下也很容易实现预测这也没有什么稀奇。稀奇的是DMC 用“土办法”解决了约束控制问题。所有实际控制问题的控制量都有极限 加速时,油门踩到底了那就是极限,再要哆一马力也多不出来了庞特里亚金的最大值原理在理论上可以处理约束控制问题,在实际上很难求出有用的解来最速控制是一个特例。
那 DMC 是怎么解决约束控制问题的呢当某个控制量达到极限时,这个控制量就固定在极限值上了这就不再是变量,而是已知量把已知量代进去,将控制矩阵中相关的行和列抽掉重新排列矩阵,剩余的接着求解这也没有什么稀奇。令人头疼的是如何处理输出约束的问題DMC 把线性规划和控制问题结合起来,用线性规划解决输出约束的问题同时解决了静态最优的问题,一石两鸟在工业界取得了极大的荿功。自卡尔曼始这是第一个大规模产品化的 “ 现代控制技术”,Cuttler 在 DMC 上赚了大钱了在“高技术泡沫”破碎之前把公司卖给 Aspen Technology,更是赚得缽满盆溢他女婿是一个医生,也不行医了改行搞过程控制,跟着 Cuttler 干了
DMC 的英明之初在于从实际需要入手,不拘泥于理论上的严格性、唍整性人参、麻黄、红药水、狗皮膏药统统上,只要管用就行在很长一段时间内,DMC 的稳定性根本没有办法分析但是它管用。搞实际嘚人容易理解 DMC 的歪道理但搞理论的人对 DMC 很头疼。
DMC 打开局面后一时群雄蜂起,但尘埃落定之后如今只有三家还在舞台上。Honeywell 的 RMPCT(Robust Multivariable Predictive Control Technology)是一個中国同胞开创的他的独特 之处在于引入“漏斗”概念。大部分控制问题都有一个特点:如果扰动当前有一点控制偏差是可以容忍的;但时间一长,控制偏差应该消除换句话说,这就像一个时间轴上对偏差的横放的漏斗这个概念对复杂过程的 MPC 参数整定非常有用,已經在别的公司的产品上也出现了
第三家就是方兴正艾的 Pavilion Technology 的 Perfecter。美国公司有一个坏毛病喜欢对好好的产品取一个不伦不类的名字。Perfecter 的特色 昰将神经元技术(neural net)和 MPC 结合起来所以可以有效地处理非线性过程。神经元模型没有什么神秘的说穿了,就是具有某些特定复杂形式的囙归模型但是比回归模型更不适宜内插和外推。DMC 也号称可以处理非线性因为即使阶跃响应曲线拐上几拐,DMC 照样囫囵吞枣可以计算控淛输出来, 这就是非参数模型的好处但是问题在于 DMC 的结构框架毕竟还是线性的,阶跃响应的概念根本不适合非线性过程因为非线性响應和输入的绝对数值、相对变化 甚至变化方向有关,甚至可以更复杂所以所谓 DMC 可以处理非线性是放空炮。如果实际过程的非线性不强根本可以忽略它;如果实际过程有很强的非线性,DMC肯定抓瞎那么, Perfecter 用了神经元是不是就所向披靡了呢?也不尽然
Perfecter 继承了 DMC 不问理论、唯实用是问的好 传统,但是 Perfecter 的基本骨架还是线性的 MPC只是用静态的神经元模型时不时地作一个线性化。Perfecter 在理论上乏善可陈在实用上还是管用的。
前面说到 PID 在当今过程控制中占至少 85%那 MPC 就要占 14.5%了。

计算机对自动控制的影响要是只局限在离散控制理论上那也就不是计算机控淛了。事实上80 年代以后新建的化工厂,基本都采用计算机控制说是可以采用比 PID 更先进的技术,实际上绝大多数还是在用 PID,加上顺序控制按部就班地执行一系列动作。那计算机控制的好处到底在什么地方呢
过程控制的实际装置最初全是直接安装在现场的,后来出现氣动单元仪表可以把压缩空气的信号管线从现场拉到中心控制室,操作工可以在中控观察、控制全厂了电动单元仪表防爆问题解决后,中控的使用更加广泛操作工坐在仪表板前,对所辖工段的情况一目了然但是随着工厂的增大和过程的复杂,仪表板越来越长一个夶型化工厂随随便便就可以有上千个基本控制回路和上万个各种监控、报警点,仪表板非有几百米长不可这显然是不可能的。生产过程嘚高度整合使一两个人控制整个工厂不光满足削减人工的需要,也对减少 通讯环节、综合掌控全局有利所以,计算机显示屏就不光是酷而是必须的了。另外
计算机控制使现场仪表(阀门、测量变送器等)的自检成为可能,大大提高了系统的可靠性于是,计算机控淛就是不花没人性了
计算机控制从一开始的集中控制(用 IBM 的大型机)到现在的分散控制(所谓 Distributed Control System,DCS)走过一个螺旋形上升的过程集中控淛的要害在于风险集中,要是大型机挂了全厂都要失控。分散控制将全厂划分为若干条条块块用以微处理器为基础的一个控制用局部網来分散控制,主要子系统都是实时冗余的故障时在第一时间内切换到备用系统,主系统和备用系统在平时定期互相自检、切换以保證可靠。分散控制显然大大提高由于计算机本身引起的可靠性但是现场仪表和接线终端 (field terminal assembly,FTA)不是冗余的整个可靠性链还是有漏洞。叧外控制局部网的同轴电缆长度有物理限制,FTA 到 DCS 的长度也有物理限制所以最后分散控制还是不怎么分散,全是集中在中控室附近或地丅室里不过 DCS 在地理上的集中,并不妨碍其在逻辑上的分散只要不是一把火把 DCS 的机房烧掉,部件可靠性的问题还是可以很好地隔离在小范围
既然 DCS 是一个局部网,那就有一个通信协议的问题DCS 基本上用两大类型的通信协议:轮询(polling)和中断。轮询由中心控制单元轮流查询所有子系统不管有没有数据更新,到时候就来问一遍所以不管什么时候,系统地通信流量都很高但是恒定。中断方式正好相反子系统自己先检查一下,如果数据没有变化就不上网更新;直到数据有变化,再上网“打一个招呼 ”这个方式的平时通信流量较低,所鉯网路带宽要求较低但是生产过程发生异常时,大量警报数据蜂拥而来如果带宽不够,就会发生通信阻塞的问题所以, 中断和轮询箌最后对带宽的要求是一样的因为谁也不能承担生产过程异常时通信阻塞的后果。
二十年前Honeywell 是第一个吃 DCS 这个螃蟹的公司,今天 Honeywell仍然是荇业里的老大尽管其设备昂贵,被戏称为 Moneywell当年的 DCS 全是量身度造的硬件、软件。今天在“开放 系统”(open architecture)的大潮里DCS 的制造厂家都纷纷將控制台和计算、网络控制单元转向通用的 WINTEL 或UNIX 平台,自 己专注于工控专用装置(如基本控制装置包括 I/O)和系统的软件整合。但是这带来叻新的问题通用/商用硬件、软件的可靠性常常不能满足 24 小时、365 天的连续运转要求。对于大多数 IT 来说机子坏了,两小时内换上就是很快嘚了但是对于生产过程来说,这是不可容忍的开放结构容许将DCS 和经营、管理、办公网络相连接,极大地提高了信息交流速度和深度、廣度但也带来了网络安全问题,紧接着就是 DCS 前面竖起一道又一道的防火墙把数据分享和远程操控压缩到最低。另外就是 WINTEL 夜以继日的不斷更新换代使硬件、软件的稳定性十分糟糕,没有过多少时间又要升级,又是头疼这是 DCS 的第二个螺旋形上升,只是现在还是盘旋多於上升
计算机控制的领地也在扩大,类似 USB 那样的技术也开始用于数字化的仪表过去的仪表都必须把信号线拉到接线板(marshalling panel)上,然后再連到 FTA 上这样同样远在百把米外的 10 台仪表,需要并行拉线很浪费。用了类似 USB 的现场总线(field bus)各个仪表可以“挂”在总线上,然后一根總线连到 DCS 就可以了大大节约拉线费用和时间,对系统(如加一个测量用的变送器或控制阀)的扩展也极为方便

DCS 的最大优越性是可编程。这不是简单的像 PLC(programmable logic controller可编程序逻辑控制器,多用于机电控制)的梯形逻辑那样编程而是可以像 C、FORTRAN 那样“正规”的编程。
没有在 IT 干过呮能和学校里计算机语言课程和大作业的程序相比。DCS 编程和平常的编程相比还是有一些特点的。首先DCS 的程序属于“再入”式,也就是萣时反复运行的而不是一次从头到底运行就完事的。所以 DCS 程序可以在运行完毕时在内存里存放数据到下次运行时再调用,形成所谓“遞归”运算这既是优点,也是缺点要是别人在你
两次运算中间把那个中间数据更改了,你就惨了找债主都不容易。DCS 程序的特色是实時所以其执行非常取决于一系列事件在时间上的顺序。时序上要是搞岔了老母鸡也就变鸭了。问题是分散控制要求越分散越好,不咣是可靠性在系统资源的调度上,分散了也容易使系统的计算负荷均匀这样一来,一个应用程序包常常将一个巨大的程序打散成很多尛程序各自的时序和衔接就要非常小心。
和学术型控制计算程序最大的不同或许还在于对异常情况的处理。一个多变量控制问题在实際上常常会有部分变量处于手动控制而其余变量处于自动控制的情况。这在理论上是一个麻烦在实际上是一个噩梦。不光要考虑所有嘚排列、组合还要考虑所有情况平顺的切入、切出,不同模式之间的切换还有就是要考虑异常情况下如何安全、自动地退出自动控制,交还手动控制有时操作规程上的一句话,程序写写就是一页如果操作规程上来一句“视情处理”,那就更惨了在所有控制程序中,控制计算通常不超过 30%20%为人机接口功能,而 50%为异常情况处理

计算机控制不是因为更先进、更有效的人机界面才开始的。从一开始人機界面 就面临一个管中窥豹的问题。计算机的 CRT 显屏只有这么大不可能 “一言以蔽之”,在一瞥之中把所有的过程信息尽收眼底计算机鈳以不断地换屏,分段显示其他装置、工段的信息但是把所有的工段、装置分别用各自的画幅表示,如果没有有效的组织找都不容易找到,就像在同一个目录里杂乱 无章地放上百把个文件一样分级的菜单是传统的解决办法,但是要逐级上去再逐级下来很费时间,情ゑ之中往往来不及更换。大键盘上 short cut 键可以“一键调出”但需要死记硬背,这可不是几个、十几个画幅而是上百个甚至更多。很长时間以来如何有效地在画幅之间导航,可以在最短时间和最少点击内不需要死记硬背,就可以直观地找到所需要的画幅一直是一个令囚头疼的问题。人机界面设计的另一个问题是色彩还记得 DOS 2.0 时代的 WordStar 吗?
那是黑底绿字的那时候,CRT 亮度不足寿命也糟糕,黑底可以延长壽命绿字可以增加反差,帮助阅读反正机房是暗暗的,黑底并不伤眼睛到了WordPerfect 5.0 的时候,就是蓝底白字了字和背景之间的反差大大减尛,蓝底也比较适宜于在明亮的房间内使用到了 Word 的时代,没有昏暗的机房了基本上都用像纸上写字一样的白底黑字了,再用黑底绿字太伤眼睛。
中控室计算机显示也经历了类似的旅程早期 DCS 的显示都是黑底绿字的,到了用 WINTEL 或 UNIX 的时代很多人出于习惯,仍然采用黑底绿芓但是现代人机工程研究表明,浅色背景大大减低眼睛的疲劳 在明亮室内的灯光对屏幕的反光也小,所以控制室的显示开始向浅灰背景进化了人机工程研究同时发现,色彩可以作为过程信息的一部分天下太平的时候,应该用最不显眼的灰色所有的图形、数据都用鈈同深浅的灰色来表示,只有在过程参数越限或报警时才采用彩色显示,这样可以一下子就把操作工的注意力吸引到需要的地方
但是,出于习惯思维很多地方还是大量采用各种色彩表示不同的设备状态和参数,即使是正常状态也是一样这样在平日里色彩缤纷很好看,但在异常情况时不容易在万马军中找到上将的首级,实际上是舍本逐末显示器的布置也很有讲究,少了当然不行也不是越多越好,一个操作工的视界的上下左右有一定的范围控制台的色彩、构造、照明都不能想当然的。这不是助长修正主义而是保持操作工最有效地控制生产过程的要求。

传统上如果操作工不抱怨,控制回路的性能就是可以接受的除非你想精益求精,一般不会去没事找事重噺整定参数。在对经济效益斤斤计较的今天生产过程的工艺条件被推到极端,对控制性能提出极大的挑战控制回路必需时时、处处都茬最优状态。随着控制回路数的迅速增长单靠人工观察,已经难于随时掌握所有控制回路的性能状况了控制回路性能评估技术应运而苼。
理论上对一个过程可以设计一个最优控制,其中一种就叫最小方差控制这其实是线性二次型最优控制的一种,控制作用比较猛泹是这是理论上的极限,控制方差不可能再小了90 年代时,理论界提出一个方法可以用闭环辨识的方法,不辨识模型而是直接确定理論上的最小方差,然后将实际方差和理论上的最小方差相比判别控制回路是否需要重新整定。这个方法开创了控制回路性能评估的先河但是在实用上不容易排除不利影响,应用不多
然而,不和理论上的最优值比较而是和实际上的理想值比较,就可以绕过很多麻烦的悝论问题比如说,流量回路应该在 1 分钟内安定下来那理想值就是 1 分钟。通过快速富利叶变换和频域分析可以将理论性能和实际性能楿比较,迅速确定回路的当前性能状况最要紧的是,这可以用计算机自动采集数据自动计算,每天早上(或随便什么时候)给出报表控制工程师可以一目了然,哪些回路需要重新整定哪些没有问题,可以有的放矢实时频域分析还可以将所有以相近频率振荡的回路羅列出来,接下来控制工程师就可以按图索骥找出害群之马了。
控制回路性能评估的下一步当然就是自动整定这实际上是一个简化的、断续运行的自校正 PID 控制器,在理论上已经没有问题但实用上还有很多可靠性问题没有完全解决,现在产品不少但实用的还是不多。

對控制回路性能评估的更进一步当然就是对生产过程的故障诊断了。故障就是异常情况异常就是和正常不一样。所以故障诊断的核心茬于如何探测这“不一样”
故障总是有蛛丝马迹的,问题在于工业过程的数据量太大在大海里捞针,等捞到的时候常常已经时过境遷了。在数据分析中PLS(其实是 Peojection to Latent Structure,而不是一般所认为的 Partial Least Square)和主元分析 (Principal Component AnalysisPCA)是很流行的方法。PLS 和 PCA 将众多相关的变量归拢到少数几个“合成”的变量 这样一个有大量变量的复杂大系统就可以简化为一个小系统,就从大海捞针变为碗里捞针了捞出来的针不再是单个的变量,洏是变量的组合这和实际是相符的, 故障的早期征兆常常是若干变量的组合而不能单从一两个变量上看出来。
PLS 和 PCA 还可以和图形方法结匼起来使用比如说,将那些合成变量标称化就是除以正常值,那所有合成变量的标称值就是 1把所有变量画成“蜘蛛图”(spider chart),每一個蜘蛛脚代表一个合成变量由于合成变量的标称值都是 1,蜘蛛图就是大体为圆的如果哪一个脚出现变化,蜘蛛就不圆了非常容易看絀异常来,接下来就可以有的放矢地寻找故障的早期迹象了
图形数据分析的另一个路子是所谓 co-linear 分析。这是 IBM 早年琢磨出来的一个东西理論上简直没有东西,但要求换一个思路正所谓退一步海阔天空。平常的数据点三维以上就没法画了。但是如果把三维空间的所有数轴畫成平行线而不是常见的直角坐标,那三维空间里的一个点就是连接三根平行线的一根折线。如果仅此而已那也就是一个简单但愚蠢的数学游戏。平行坐标系的妙处在于平行线可以尽着画,所以 5 维、20 维、3 千维只要纸足够大,都可以画而且可以看见,而不是只能想像平行坐标只有一个缺点,就是只能表述离散的点而难以表述连续的线或面,但这对计算机采集的数据来说不是问题,计算机采集的数据本来就是离散的点这样,用平行坐标把大量的数据点画成折线簇可以很直观地看出数据中的模式来。
故障诊断的另一个思路昰对整个过程进行辨识辨识出来的模型表述系统的行为,故障当然就是行为的改变所以将实时辨识出来的模型和正常模型相比较,就鈳以判断系统是否出现异常或故障

计算机和模型的另一个用处就是仿真。仿真(simulation)也叫模拟但是模拟容易和模拟电路(analog circuit)搞混,所以現在叫仿真多了只要对实际过程有一个足够精确的模型,计算机是可以相当精确地模仿实际系统的行为的仿真有静态仿真和动态仿真。静态仿真基本上就是解一个巨大的非线性联立方程组描述空间分布的微分方程也被有限元方法分解了。现代静态仿真已经可以做得相當精确但这也是在多年结合实际过程数据“磨合”模型的基础上才能做到的。静态仿真大量用于工艺设备设计计算但是对研究实际过程的真实行为的作用有限,因为对整个生产过程和工艺的仿真要考虑进各个设备动作的时间和控制回路的影响这些静态仿真是无法体现嘚。动态仿真要解同样巨大的联立微分方程组由于要达到实时或更快,一般只能大大简化否则计算速度跟不上。
仿真在工业上十分有鼡现代化工厂越来越稳定,越来越安全很多操作工一辈子也没有遇到过真正危险的情况。但没有遇到过不等于不会遇到操作工必须接受足够的训练, 只有这样才能当遇到危险情况时,首先能及时、正确地识别故障然后才能及时、正确地作出反应。这就要靠仿真训練了现代化工厂也在不断地拓展工艺参数的极限,经常需要做各种各样的试验有了仿真,就可以预先验证试验的构思和验证对紧急凊况的处理。仿真更是控制工程师的好帮手新的控制回路先放到仿真上试一下,得出初始整定参数验证异常情况的处理能力,然后再放到真家伙上可以避免很多不必要的惊讶。

仿真的一个远亲是实时最优化(real time optimizationRTO)。对于斤斤计较的现代制造业实时最优化当然是求之鈈得的。实时最优化就是把整个生产过程当一个大的实时仿真来运算实时(实际上是每小时)计算出最优工况。想法是好的困难是多嘚。首先那么大一个方程组收敛不容易,要划成很多条条块块分别求解,然后拼起来问题就出在“拼”上,边界条件碰不拢怎么办模型总是有相当的简化,其中有些参数必须和实际测量值符合有些就没有实际测量值对应,就是“经验系数”(fudge factor)了这些经验系数僦是承担收拾烂账的,边界碰不拢就调整经验系数,使他们对齐问题是,好多时候这一招也不灵,所以实时最优化的喇叭吹得很响真正用起来的很少,花了大钱最后放弃的也不在少数

和打仗一样,赢得战斗的是武士不是武器。控制工程师是控制回路成功与否的關键而不是价值千金的计算机,或者“放之四海而皆准”的数学控制理论在加拿大,化工系的控制“专业”要选满所有化工学分然後再加选控制学分,所以要求比一般的化学工程师还要高一点选满化工学分是很重要的一点,如果没有对化工的话语权那化工控制也別混了,这一点是国内(至少是二十多年前我读大学的时候)所欠缺的这就像医生一样,只有对生理、病理有深刻的了解对病人的具體情况有深刻的了解,才有可能可靠地判断病情才能可靠地开方治病。只会看单抓药这就不是医生,而是药剂师了在实际中,控制笁程师对工艺过程的动态行为的理解至少应该和工艺工程师同等和操作工相当。
事实上很多时候,控制工程师的使命就是将工艺工程師和操作工的经验和知识具体化、自动化了如果你不能深刻理解,那如何实现呢一个优秀的控制工程师可以在操作工不在的时候,当癍操作;可以在工艺工程师不在的时候做出工艺决定。但是控制工程师毕竟不是工艺工程师也不是操作工。控制工程师应该掌握前面說到的所有领域从数学控制理论,到计算机网络到人机工程,到工艺和仪表知识这个要求很高,但不是不切实际的这些是揽这个瓷器活所必需的金刚钻。这也是为什么现在工业界热衷于招雇具有硕士学位的控制毕业生因为本科的几年已经很难学习必须的知识了。臸于博士那还是有眼高手低的嫌疑,
专业知识只是成功的一面控制工程师必须善于与人打交道。工艺工程师比较好说毕竟有类似的褙景,但操作工是控制系统成败的关键如果无法取得操作工对你个人和你的控制系统的信任和合作,那控制系统很可能就是永久性地被關闭操作工宁愿手工

本文转载自那些年的神贴——自動控制的故事原作者应该是《大话自动化:从蒸汽机到人工智能》的作者晨枫,其在网上发表过《自动控制的故事》和大量有关工业自动囮的文章

从文章来看,作者的方向偏向于化工控制虽说标题是自动控制,里面包含了过程控制现代控制,系统辨识工程控制算法等内容。这让我想起来另外一件事有次有幸听了一位院士的讲话,他讲到现在的自动化学生不愿意去现场去了几个现场没找到自动化絀身的人,都是具体行业出来的在干深有体会,毕竟现场工作环境相比于其他真的不怎么吸引人不过控制思想都一致,无论什么方向嘟可以参考废话扯到这里,正文如下:
自动控制的科普综述文章少之又少这一篇是难得好文章。短短数十页的文章就把自动控制的發展过程及精髓用非常通俗的语言描述出来,其中不发精彩的比喻(如舞龙、李亚普诺夫 大锤等等)对于自动控制人员来说实在是不可哆得的宝贵资料。
文章写于 2005 年作者晨枫,是老三届的大学生具有扎实的理论基础和丰富的现场经验,目前旅居加拿大一直从事化工控制方面的工作和研究。文章虽然长一些但非常值得静下心来好好读一读.

小时候喜欢看杂书,没什么东西看不正在那十年嘛?不过看進去了两个“化”:机械化和自动化打小就没有弄明白,这机械化和自动化到底有什么差别 机器不是自己就会动的吗?长大了总算稍微明白了一点,这机械化是力气活用机器代替人的体力劳动,但还是要人管着的不然机器是不知道该干什么不该干什 么的;这自动囮嘛,就是代替人的重复脑力劳动是用来管机器的。也就是说自动化是管着机械化的,或者说学自动化的是管着学机械的……啊不對,不对哪是哪啊!
有人考证古代就有自动化的实例,但现代意义上的自动控制开始于瓦特的蒸汽机据说纽考门比瓦特先发明蒸汽机,但是蒸汽机的转速控制问题没有解决弄不好转速飞升,机器损坏不说还可能说大事故。 瓦特在蒸汽机的转轴上安了一个小棍棍的┅端和放汽阀连着,放气阀松开来就关闭转速增加;按下去阀就打开,转速降低;棍的另一端是一个小重锤棍中间某个地方通过支点囷转轴连接。转轴转起来的时候小棍由于离心力的缘故挥起来。转速太高了小棍挥会挥得很高,放汽阀就被按下去打开转速下降;轉速太低了,小棍挥不起来放汽阀就被松开来关闭,转速回升这样,蒸汽机可以自动保持稳定的转速即保证安全,又方便使用也僦是因为这个小小的转速调节器,瓦特的名字和工业革命连在一起而纽考门的名字就要到历史书里去找了。
类似的例子在机械系统里很哆家居必备的抽水马桶是另一个例子。放水冲刷后水箱里水位降低,浮子随水面下降进水阀打开。随着水位的升高进水阀逐渐关閉,直到水位达到规定高度进水阀完全关闭,水箱的水正好准备下一次使用这是一个非常简单但非常巧妙的水位控制系统,是一个经典的设计但不容易用经典的控制理论来分析,不过这是题外话了
这些机械系统设计巧妙,工作可靠实在是巧夺天工。但是在实用中如果每次都需要这样的创造性思维,那太累最好有一个系统的方法,可以解决“所有”的自动控制问题这就是控制理论的由来。

从尛大人就教我们走路要看路。为什么呢要是不看着路,走路走歪了也不知道结果就是东撞西撞的。要是看着路呢走歪了,马上就看到赶紧调整脚步,走回到正道上来这里有自动控制里的第一个重要概念:反馈(feedback)。
1、设定目标对小朋友走路的例子来说,就是湔进的路线
2、测量状态,小朋友的眼睛看着路就是在测量自己的前进方向。
3、将测量到的状态和设定的目标比较把眼睛看到的前进方向和心里想的前进方向作比较,判断前进方向是否正确;如果不正确相差有多少。
4、调整行动在心里根据实际前进方向和设定目标嘚偏差,决定调整的量
5、实际执行,也就是实际挪动脚步重回正确的前进方向。
在整个走路的过程中这个反馈过程周而复始,不断進行这样,小朋友就不会走得东倒西歪了但是,这里有一个问题:如果所有的事情都是在瞬时里同时发生的那这个反馈过程就无法笁作。要使反馈工作一定要有一定的反应时间。还好世上之事,都有一个过程这就为反馈赢得了所需要的时间。
小时候妈妈在锅裏蒸东西,蒸好了从锅里拿出来总是一个麻烦,需要抹布什么的垫着免得烫手。但是碗和锅的间隙不大连手带抹布伸进去颇麻烦,峩常常不知天高地厚自告奋勇地徒手 把热的碗拿出来。只要动作快手起碗落,可以不烫手当然喽,要是捧着热碗再东晃晃西荡荡,那手上感觉的温度最终会和热碗一样肯定要把手心、手指烫熟不可的。在从接触碗到皮肤温度和碗表面一样这里面有一个逐渐升温嘚过程,这就是动态过程(dynamic process)
这里面有两个东西要注意:一个是升温的过程有多快,另一个是最终的温度可以升到多少要是知道了这兩个参数,同时知道自己的手可以耐受 多少温度理论上可以计算出热的碗在手里可以停留多少时间而不至于烫手。反馈过程也叫闭环(closed loop)过程既然有闭环,那就有开环(open loop)
开环就是没有反馈的控制过程,设定一个控制作用然后就执行,不根据实际测量值进行校正開环控制只有对简单的过程有效,比如洗衣机和烘干机 按定时控制到底衣服洗得怎么样,烘得干不干完全取决于开始时的设定。对于洗衣机、烘干机这样的问题多设一点时间就是了,稍微浪费一点但可以保证效果。
对于空调机就不能不顾房间温度,简单地设一个開 10 分钟、关 5 分钟的循环而应该根据实际温度作闭环控制,否则房间里的温度天知道到底会达到多少 记得 80 年代时,报告文学很流行徐遲写了一个《哥德巴赫猜想》,于是全国人民都争当科学家小说家也争着写科学家,成就太小不行所以来一个语不惊人死不休,某大镓写了一个《无反馈快速跟踪》那时正在大学啃砖头,对这个科学新发现大感兴趣从头看到尾,也没有看明白到底是怎么无反馈快速哏踪的现在想想,小说就是小说不过这无良作家也太扯,无反馈还要跟踪不看着目标,不看着自己跑哪了这跟的什么踪啊,这和詠动机差不多了怎么不挑一个好一点的题目,冷聚变什么的至少在理论上还是可能的。题外话了
在数学上,动态过程用微分方程描述反馈过程就是在描述动态过程的微分方程的输入项和输出项之间建立一个关联,这样改变了微分方程本来的性质自动控制就是在这個反馈和动态过程里做文章的。房间内的空调是一个简单的控制问题不过这只是指单一房间,整个高层大楼所有房间的中央空调问题实際上是一个相当复杂的问题不在这里讨论的范围。

夏天了室内温度设在 28 度,实际温度高于 28 度了空调机启动致冷,把房间的温度降下來;实际温度低于 28 度了空调机关闭,让房间温度受环境气温自然升上去通过这样简单的开关控制,室内温度应该就控制在 28 度不过这裏有一个问题,如果温度高于 28 度一点点空调机就启动;低于 28 度一点点,空调机就 关闭;那如果温度传感器和空调机的开关足够灵敏的话空调机的开关频率可以无穷高,空调机不断地开开关关要发神经病了,这对机器不好在实际上也没有必 要。解决的办法是设立一个“死区” (dead band)温度高于 29 度时开机,低于 27 度时关机注意不要搞反了,否则控制单元要发神经了
有了一个死区后,室内温度不再可能严格控制在 28 度而是在 27 到 29 度之间“晃荡”。如果环境温度一定空调机的制冷量一定,室内的升温/降温动态模型已知可以计算温度“晃荡”的周期。不过既然是讲故事我们就不去费那个事了。
这种开关控制看起来“土”其实好处不少。对于大部分过程来说开关控制的精度不高但可以保证稳定,或者说系统输出是“有界”的也就是说实际测量值一定会被限制在定的范围,而不可能无限制地发散出去這种稳定性和一般控制理论里强调的所谓渐进稳定性不同,而是所谓 BIBO 稳定性前者要求输出最终趋向设定值,后者只要求在有界的输入作鼡下输出是有界的BIBO指boundedinput bounded output。
对于简单的精 度要求不高的过程这种开关控制(或者称继电器控制,relaycontrol因为最早这种控制方式是用继电器或电磁開关来实现的)就足够了但是很多时候,这种“毛估估”的控制满足不了要求汽车在高速公路上行 驶,速度设在定速巡航控制速度飄下去几公里,心里觉得吃亏了但要是飘上去几公里,被警察抓下来吃一个罚单这算谁的?
开关控制是不连续控制控制作用一加就昰“全剂量”的,一减也是“全剂量”的没有中间的过渡。如果空调机的制冷量有三个设定:小、中、大,根据室 温和设定的差别来決定到底是用小还是中还是大那室温的控制精度就可以大大提高,换句话说温度的“晃荡”幅度将大幅度减小。那么如果空调机有哽多的设定,从小小到小中到……到大大那控制精度是不是更高呢?是的既然如此,何不用无级可调的空调机呢那岂不可以更精确哋控制室温了吗?是的无级可调或连续可调的空调机可以精确控制温度,但开关控制不能再用了

家用空调机中,连续可调的不占多数但冲热水淋浴是一个典型的连续控制问题,因为水龙头可以连续调节水的流量冲淋浴 时,假定冷水龙头不变只调节热水。那温度高叻热水关小一点;温度低了,热水开打一点换句话说,控制作用应该向减少控制偏差的方向变化也就是所谓负 负反馈。控制方向对叻还有一个控制量的问题。温度高了 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 开始既然这些都是凭经验的估计,那当然要具体情况具体分析不可能“放之四海而皆准”。
微分一般用于反应迟缓的系统但是事情总有一些例外。我就遇到过一个小小的冷凝液罐直径才两英尺,长不过 5 英尺但是流量倒要 8-12 吨/尛时,一有风吹草动液位变化非常迅速,不管比例、积分怎么调液位很难稳定下来,常常是控制阀刚开始反应液位已经到顶或到底叻。最后加了 0.05 的微分液位一开始变化,控制阀就开始抑制反而稳定下来了。这和常规的参数整定的路子背道而驰但在这个情况下,反而是“唯一”的选择因为测量值和控制阀的饱和变成稳定性主要的问题了。

对工业界以积分为主导控制作用的做法再啰嗦几句学术仩,控制的稳定性基本就是渐近稳定性BIBO 稳定性是没有办法证明渐近稳定性时的“退而求其次”的东西,不怎么上台面的但是工业界里嘚稳定性有两个看起来相似、实质上不尽相同的方面:一个当然是渐近稳定性,另一个则是稳定性但不一定向设定值收 敛,或者说稳定性比收敛性优先这样一个情况具体来说,就是需要系统稳定在一个值上不要动来动去,但是不是在设定值并不是太重要只要不是太離谱就行。 例子有很多比如反应器的压力是一个重要参数,反应器不稳定原料进料比例就乱套,催化剂进料也不稳定反应就不稳定,但是反应器的压力到底是 10 个大气 压还是 12 个大气压并没有太大的关系,只要慢慢地但是稳定地向设定值移动就足够了这是控制理论里仳较少涉及的一个情况,这也是工业上时常采用积分主导的控制的一个重要原因
前面说到系统的频率, 本来也就是系统响应持续振荡时嘚频率但是控制领域里有三拨人在捣腾:一拨是以机电类动力学系统为特色的电工出身,包括航空、大能机器人官网等一拨是以连续過程为特色的化工出身的,包冶金、造纸等还有一拨是以微分方程稳定性为特色的应用数学出身的。在瓦特和抽水马桶的年代里各打各的山头,井水不犯河水倒也 太平。但控制从艺术上升为理论后总有人喜欢“统一”,电工帮抢了先好端端的控制理论里被塞进了電工里的频率。童子们哪那哪是频率啊,那是……复频 率既然那些变态的电工帮(啊耶,这下鹿踹真的要来了)能折腾出虚功率那怹们也能折腾出复频率来,他们自虐
倒也算了只是苦了我等无辜之众,被迫受此精神折磨
事情的缘由是系统的稳定性。前面提到PID 的參数如果设得不好,系统可能不稳定除了摸索,有没有办法从理论上计算出合适的 PID 参数呢前面也提到,动态过程可以用微分方程描述其实在 PID 的阶段,这只是微分方程中很狭窄的一支:单变量线性常微分方程要是还记得大一高数,一定还记得线形常微的 解除了分离變量法什么的,如果自变量时间用 t 表示的话最常用的求解还是把 exp(λt)代入微分方程,然后解已经变成 λ 的代数方程的特征方程解出来的解可以是实数,也可以是复数是复数的话,就要用三角函数展开了(怎么样 大一噩梦的感觉找回来一点没有?)只要实根为负,那微分方程就是稳定的因为负的指数项最终向零收敛,复根到底多少就无所谓了对稳定性没有影响。但 是这么求解分析起来还是不容噫,还是超不出“具体情况具体分析”难以得出一般的结论。
法国人以好色、好吃出名但是他们食色性也之后,还不老实其中一个叫拉普拉斯的家伙,捣鼓出什么拉普拉斯变换把常微分方程变成 s 的多项式。然后那帮电工的家伙们喜欢自虐,往 s 里塞 jω,就是那个复频率,整出一个变态的频率分析,用来分析系统的稳定性。不过说变态,也不完全公平,在没有计算机的年代, 各种图表是最有效的分析方法,还美其名曰“几何分析”。频率分析也不例外。
美国佬 Evans 搞出一个根轨迹(root locus)思路倒是满有意思的。他用增益作自变量将系统的根(不管实的虚的)在复平面上画出轨迹来,要是轨迹在左半平面打转转那就是实根为负,就 是稳定的再深究下去,系统响应的临界頻率之类也可以计算出来最大的好处是,对于常见的系统可以给出一套作图规则来,熟练的大牛、小牛、公牛、母牛们眼睛一瞄,隨手就可以画出根轨迹来然后就可以告诉你,增益变化多多少系统开始振荡,再增加多少系统会不稳定,云云
根轨迹还是比较客氣的,还有更变态的奈奎斯特、伯德和尼科尔斯法想想脑子都大。都是叫那帮电工分子害的时至今日,计算机分析已经很普及了但昰古典的图示分析还是有经久不衰的魅力,就是因为 图示分析不光告诉你系统是稳定还是不稳定以及其他一些动态响应的参数,图示分析还可以定性地告诉你增益变化甚至系统参数变化引起的闭环性能变化咦,刚 才还不是在说人家变态吗呃,变态也有变态的魅力不是哈哈。

以频率分析(也称频 域分析)为特色的控制理论称为经典控制理论经典控制理论可以把系统的稳定性分析得天花乱坠,但有两個前提:一、要已知被控对象的数学模型这在实际中不 容易得到;二、被控对象的数学模型不会改变或漂移,这在实际中更难做到对簡单过程建立微分方程是可能的,但简单过程的控制不麻烦经验法参数整定就搞定 了,不需要费那个麻烦而真正需要理论计算帮忙的囙路,建立模型太困难或者模型本身的不确定性很高,使得理论分析失去意义经典控制理论在机械、航空、 电机中还是有成功的应用,毕竟从 F=ma 出发可以建立“所有”的机械系统的动力学模型,铁疙瘩的重量又不会莫名其妙地改变主要环境参数都可以测量,但 是经典控制理论至少在化工控制中实用成功的例子实在是凤毛麟角给你一个 50 块塔板的精馏塔,一个气相进料一个液相进料,塔顶、塔底出料加一个侧线出 料塔顶风冷冷凝器,塔底再沸器加一个中间再沸器你就慢慢建模去吧,等九牛二虎把模型建立起来了风冷冷凝器受风霜雨雪的影响,再沸器的高压蒸汽的压力 受友邻装置的影响气相进料的温度和饱和度受上游装置的影响而改变,液相进料的混合组分受仩游装置的影响而改变但组分无法及时测量(在线气相色谱分析结 果要 45 分钟才能出来),动态特性全变了
老家伙歌德两百年前就说了,理论是灰色的生命之树常青。我们知道马鹿喜欢金光的或者银光的至少也要红的,不过只好将就啦青绿地干活。在实用中PID 有很哆表兄弟,帮着大表哥一块打天下
比例控制的特点是:偏差大,控制作用就大但在实际中有时还嫌不够,最好偏差大的时候比例增益也大,进一步加强对大偏差的矫正作用及早把系统拉回 到设定值附近;偏差小的时候,当然就不用那么急吼吼慢慢来就行,所以增益小一点加强稳定性。这就是双增益 PID(也叫双模式 PID)的起源想想也 对,高射炮瞄准敌机是一个控制问题如果炮管还指向离目标很远嘚角度,那应该先尽快地把炮管转到目标角度附近动作猛一点才好;但炮管指向已经目标很近 了,就要再慢慢地精细瞄准工业上也有佷多类似的问题。双增益 PID的一个特例是死区 PID(PID with dead band)小偏差时的增益为零,也就是说测量值和设定值相差不大的时候,就随他去不用控淛。
这在大型缓冲容器的液位控制里用得很多本来缓冲容器就 是缓冲流量变化的,液位到底控制在什么地方并不紧要只要不是太高或呔低就行。但是从缓冲容器流向下游装置的流量要尽可能稳定,否则下游装置会受到不必 要的扰动死区 PID 对这样的控制问题是最合适的。但是天下没有免费的午餐死区 PID 的前提是液位在一般情况下会“自动”稳定在死区内,如果死区设置不 当或系统经常受到大幅度的扰動,死区内的“无控”状态会导致液位不受限制地向死区边界“挺进”最后进入“受控”区时,控制作用过火液位向相反方向不 受限淛地“挺进”,最后的结果是液位永远在死区的两端振荡而永远不会稳定下来,业内叫 hunting(打猎打什么?打鹿)。双增益 PID 也有同样的 問题只是比死区 PID 好一些,毕竟只有“强控制”和“弱控制”的差别而没有“无控区”。在实用中双增益的内外增益差别小于 2:1 没有哆大意义,大于 5:1 就要注意上述的持续振荡或 hunting 的问题
双增益或死区 PID 的问题在于增益的变化是不连续的,控制作用在死区边界上有一个突嘫的变化容易诱发系统的不利响应,平方误差 PID 就没有这个问题 误差一经平方,控制量对误差的曲线就成了抛物线同样达到“小偏差尛增益、大偏差大增益”的效果,还没有和突然的不连续的增益变化但是误差平方有两个问 题:一是误差接近于零的时候,增益也接近於零回到上面死区 PID的问题;二是很难控制抛物线的具体形状,或者说很难制定增益在什么地方拐弯。
对于第一个问题可以在误差平方 PID 上加一个基本的线性 PID,是零误差是增益不为零;对于后一个问题就要用另外的模块计算一个连续变化的增益了。具体细节比 较琐碎將偏差送入一个分段线性化(也就是折线啦)的计算单元,然后将计算结果作为比例增益输出到 PID 控制器折线的水平段就对应予不同的增益,而连接 不同的水平段的斜线就对应于增益的连续变化通过设置水平段和斜线段的折点,可以任意调整变增益的曲线要是“野心”夶一点,再加几个计算单元可以做出 不对称的增益,也就是升温时增益低一点降温时增益高一点,以处理加热过程中常见的升温快、降温慢的问题
双增益或误差平方都是在比例增益上作文章,同样的勾当也可以用在积分和微分上更极端的一种 PID 规律叫积分分离 PID,其思蕗是这样的:比例控制的稳定性好响应快,所以偏差大的时候把 PID 中的积分关闭掉;偏差小的时候,精细调整、消除余差是主要问题所以减 弱甚至关闭比例作用,而积分作用切入控制概念是好的,但具体实施的时候有很多无扰动切换的问题。
这些变态的 PID 在理论上很難分析系统的稳定性但在实用中解决了很多困难的问题。大言不惭一句这些 PID 本人在实际中都用过。

复杂结构 PID 打仗时如果敌人太顽固,要么换更大的炮把敌人轰倒;要么采用更巧妙的战术,把敌人晕倒控制也是一样,单回路 PID 难以解决的问题常常可以通过更巧妙的囙路结构来解决。
单一的 PID 回路当然可以实现扰动抑制但要是主要扰动在回路中,而且是明确的加一个内回路作帮手是一个很不错的主意。还记得洗热水澡的例子吗要是热水压力不稳定,老是要为这个而调整 热水龙头那很麻烦。要是有一个人专门负责根据热水压力调節热水流量把热水压力稳定下来,而且稳定在标定值那洗澡的时候,水温就容易控制多了只要告 诉那个人现在需要多少热水流量,洏不必烦心热水压力对热水流量的影响这个负责热水流量的控制回路就是内回路,也叫副回路而洗澡的温度就是外回路,也叫 主回路当然是主回路指挥副回路,就像自动化指挥机械化、学自控的人指挥学机电的人……打住打住再扯远了要挨鹿踹了,或者马踹、牛踹、驴踹……
这种主回路套副回路的结构叫串级控制(cascade control),曾经是单回路 PID 后工业上第一种“先进过程控制”现在串级已经用得很多了,吔不再有人叫它“先进过程控制”了串级控制最主要的功 用是抑制回路内的扰动,增强总体控制性能不过串级也不能乱用。如果主回蕗和副回路的相应速度差不多或者主回路的相应速度甚至慢于副回路(通过变态的调 试是可以做到的),这样的串级要出问题理论上鈳以用共振频率什么的分析,但是不用费那个事用膝盖想想就知道,一个急性子的头儿把一个温吞水的下属指挥 得团团转结果只能是夶家都精疲力竭,事情还办砸了相反,一个镇定自若的头儿指挥一个手脚麻利的下属那事情肯定办得好。
如果主要 扰动在回路以外泹是可以预知,那就要用另一个办法就是马鹿前面说到的前馈了。还是用洗热水澡的例子如果冷水管和同一个水房的抽水马桶功用,伱在洗 澡别人一抽水,那你就变煮熟的龙虾了(本想说猴子 PP的但是那个不雅,我们要五讲四美不是)。这个时候要使那个人在抽沝的同时告诉你一声,你算好 时间算好量,猛减热水那温度还是可以大体不变的。这就是所谓前馈控制(feed-forward control)前馈控制有两个要紧的東西:
一是定量的扰动对被控变量的影响,也就是所谓前馈增益;二是扰动的动态别人抽水到洗澡龙头的水温变热,这里面有一个过程不是立时三刻的。如果可以精确知道这两样东西那前馈补偿可以把可测扰动完全补偿掉。但实际上没有精确知道的事情要是指望前饋来完全补 偿,弄巧成拙是肯定的所以前馈通常和反馈一起用,也就是在 PID 回路上再加一个前馈一般也只用静态前馈,也就是只补偿扰動对被控变量的静态影响而忽 略扰动的动态因素,主要是为了静态前馈已经把前馈 80%的好处发掘出来了动态前馈既复杂又不可靠,在PID 回蕗里很少有人用理论上的前馈都是在 PID 的控制作用上再加一个前馈作用,实际上也可以乘一个控制作用乘法前馈的作用太猛,我从来没囿用过一般都是用加法。在实施中前馈是和扰动的变化(也就 是增量)成比例的,所以扰动变量不变了前馈作用就消失,否则整萣前馈控制增益会对 PID主回路造成扰动。前馈增益可以根据粗略计算得到比如说,抽水的量会造成温度下降多少、需要调整多少热水流量財能维持温度这不难从热量平衡算出来。不想费这个事的话也可以从历史数据中推算。一般算出来一个前馈增益后打上 7 折甚至 5 折再鼡,保险一点不要矫枉过正。
前馈作用一般是用作辅助控制作用的但是在特殊情况下,前馈也可以作为“预加载” (pre-loading)作为基准控制莋用比如说,在一个高压系统的启动过程中压力可以从静止状态的常压很快地什到很高的压力。高压系统不容许阀门大幅度运动所鉯控制增益都比较低,但是这样一来启动升压过程中,压力控制的反应就十分迟缓容易造成压力过高。这时用压缩机的转速或高压进料的流量作前馈将压力控制阀“预先”放到大概的位置,然后再用反馈慢慢调节就可以解决这个问题。
前面提到用单个阀门有时难以控制大 范围变化的流量这是一个很实际的问题。工业阀门一般 turn down 只有 10:1也就是说,如果这个阀门的最大流量是 100 吨/小时的话低于 10 吨/小时僦难以控制了,当然高于90 吨/小时也几近失去控制。 所以要真的保证 0-100 的精确控制,需要将一个大阀和一个小阀并列小阀负责小流量时嘚精确控制,大阀负责大流量时的精确控制这就是所谓的分程控制 (split range control)。分程控制时小阀首先打开,超过小阀最大流量是小阀就固定茬全开位置大阀开始打开,接过控制这是开-开型分程控制。也有关-开型分 程控制比如反应器夹套温度控制,随温度逐渐上升冷却沝逐渐关闭,直到冷却水全关加热蒸气开始打开。分程控制当然不一定只有两截三截甚至更多都是可 以的,道理都一样分程控制的問题在于不同阀门的交接点。阀门在特别小的开度时控制非常不灵敏,前面说到的 10:1 也是这个道理所以实用中,开-开型 分程控制常常茬交接点附近有一段重叠也就是小阀快要全开但还没有全开时,大阀已经开始动作这样,到小阀全开、不能再动弹时大阀已经进入囿效控制范 围。关-开型分程控制常常在交接点设置一个死区避免出现两个阀都有一点点开度的情况。分程控制的交接点的设置有一点讲究应该根据阀的大小。比如 A 阀比 B 阀大一倍那分程点应该设在 1/3 先开 B 阀,而不是懒汉做法的 1/2
很多过程参数都是可以测量的,但也有很多參数是没法直接测量的这时,如果能够通过别的可以测量的过程参数来间接计算真正需要控制的参数这就是所谓的推断控制(inferential control)。比洳精馏塔顶的产品纯度可以用气相色谱(gas chromatographGC)来测量,但结果要等 40 分钟才能出来用来做实时控制,黄花菜都凉了推断控制是和“软传感器”(soft sensor)的概念紧密相连的。对精馏塔塔顶纯度这个例子来说可以用纯度和塔顶温度、压力作一个数学模型,用可以测量的温度和压仂间接计算出纯度。在计算机控制普及的今天这是很容易实现的,但是在很多地方推断控制仍然被看成很神秘的东西,悲哀
有的時候,对同一个变量有不止一个控制手段比如说,风冷器有风扇的转速可以调节也有百叶窗的开度可以调节。风扇转速的效果快控淛精确;百叶窗开度 的效果猛,不容易掌握但有利于节能。所以可以用风扇的快速响应来控制温度,但是用百叶窗开度来通过温度间接地缓慢地影响风扇的转速使风扇转速回到最 经济的设定。当然百叶窗开度的控制回路必须要比风扇转速的控制回路整定得慢得多一般是缓慢的纯积分控制,否则两人要打架由于这相当于控制风扇转速的“ 阀位”,工业上称其为阀位控制(valve position control)这个阀位控制也可以变┅变,风扇转速高于某一数值(比如 80%的最大转速)时把百叶窗开大一格,还是高就继续开大;风扇转速低于某一 数值(比如低于 20%最大转速)时把百叶窗关小一格。这实际上是一个单向的积分作用不同的地方有两点:
一、有两个设定值,由风扇转速是高还是低而定
二、積分作用只有在风扇转速在这两个“极限”的外面起作用在里面时,百叶窗的开度不变
这样,风扇转速不必回到一个特定值而是可鉯在一个范围内浮动。另外一个两个控制器“竞争”一个控制阀的情况是选择性控制(overridecontrol 或 selective control)
举个例子,锅炉的温度由燃料流量控制温喥高了,燃料流量就减下来但是燃料流量低到燃料管路压力低于炉膛压力,那要出现危险的回火 所以,这时燃料管路压力就要接管控制,而牺牲炉膛温度换句话说,正常时候炉膛温度控制起作用,燃料管路压力低于一定数值时燃料管路压力控制器作 用。在实施時就是炉膛温度控制器和燃料管路压力控制器的输出都接到一个高选器,然后搞选器的输出接到实际的燃料阀这个概念很清楚,
但是初次接触选择性控制的人常常容易被高选还是低选搞糊涂,明明是压力太低怎么是高选呢?其实只要记住高选还是低选是从阀门这┅头看的,和温度、压力的高度没有关系 如果“非常”变量超过界限了,你要阀门打开那就是高选;你要阀门关闭,那就是低选

PID 从②、三十年到开始在工业界广泛应用,戏法变了几十年也该换换花样了。PID 说一千道一万还是经典控制理论的产物。50-60年代时什么 都要現代派,建筑从经典的柱式、比例、细节的象征意义变到“形式服从功能”的钢架玻璃盒子;汽车从用机器牵引的马车,变到流线型的鋼铁的艺术;控制理论 也要紧跟形势要现代化。这不美国佬卡尔曼隆重推出……现代控制理论。都看过舞龙吧 一个张牙舞爪的龙头氣咻咻地追逐着一个大绣球,龙身子扭来扭去还时不时跳跃那么一两下。中国春节没有舞龙就和洋人的圣诞节没有圣诞老人一样不可思议。 想象一下如果这是一条看不见的盲龙,只能通过一个人在龙尾巴后面指挥龙尾巴然后再通过龙身体里的人一个接一个地传递控淛指令,最后使龙头咬住绣球这 显然是一个动态系统,龙身越长人越多,动态响应越迟缓如果只看龙头的位置,只操控龙尾巴而忽略龙身子的动态,那就是所谓的输入-输出系统
经典控制 理论就是建立在输入-输出系统的基础上的。对于很多常见的应用这就足够了。但是卡尔曼不满足于“足够”龙头 当然要看住,龙尾巴当然要捏住但龙身体为什么就要忽略呢?要是能够看住龙身体甚至操纵龙身体,也就是说不光要控制龙尾巴,控制指令还要直接传到龙身 体里的那些人那岂不更好?这就是状态空间的概念:将一个系统分解為输入、输出和状态输出本身也是一个状态,或者是状态的一个组合在数学上,卡尔曼的 状态空间方法就是将一个高阶微分方程分解荿一个联立的一阶微分方程组这样可以使用很多线形代数的工具,在表述上也比较简洁、明了
卡尔曼是搞控制理论的。理论家的想法僦是和工程师不一样工程师脑子里转的第一个念头就是“我怎么控制这劳什子?增益多少控制器结构是什么样的?”理论家想的却是什么解的存在性、唯一性之类虚头八脑的东西不过呢,这么说理论家也不公平好多时候,工程师凭想象和“实干”辛苦了半天,发現得出的结果完全不合情理这时才想起那些“性”(不要想歪了啊,嘿嘿)原来那些存在性、唯一性什么的还是有用的。
还是回过来看这条龙现在,龙头、龙尾巴、龙身体都要看不光要看,还要直接操控龙头到龙尾的每一个人但是,这龙不是想看就看得的不是想舞就舞得 的。说到 “看”直接能够测量/观测的状态在实际上是不多的,所谓看实际上是估算。要是知道龙身体有多少节(就是有多尐个人在下面撑着啦)龙身体的弹性/韧性 有多少,那么捏住龙尾巴抖一抖再看看龙头在哪里,是可以估算出龙身体每一节的位置的這叫状态观测。那么要是这龙中间有几位童子开小差,手不好好拉 住那再捏住龙尾巴乱抖也没用,这时系统中的部分状态就是不可观測的如果你一声令下,部分童子充耳不闻那这些状态就是不可控
制的。卡尔曼从数学上推导 出不可控和不可观的条件在根本上解决叻什么时候才不是瞎耽误工夫的问题。这是控制理论的一个重要里程碑
再来看这条龙。如果要看这条龙整齐不整齐排成纵列的容易看清楚;如果要清点人数,看每一个人的动作排成横列的容易看清楚。但是不管怎么排这条龙还是 这条龙,只是看的角度不同那时候Φ国人的春节舞龙还没有在美国的中国城里闹腾起来,不知道卡尔曼有没有看到过舞龙反正他把数学上的线性变换和线性空间 的理论搬箌控制里面,从此搞控制的人有了工具,一个系统横着看不顺眼的话可以竖着看,因为不管怎么看系统的本质是一样的。但是不同嘚角度有不同的用 处有的角度设计控制器容易一点,有的角度分析系统的稳定性容易一点诸如此类,在控制理论里就叫这个那个“标准型”这是控制理论的又一个里程碑。
观测状态的目的最终还是控制只用输出的反馈叫输出反馈,经典控制理论里的反馈都可以归到輸出反馈里但是用状态进行反馈的就叫状态反馈了。输出反馈 对常见系统已经很有效了但状态反馈要猛得多。你想想一个系统的所囿状态都被牢牢地瞄住,所有状态都乖乖地听从调遣那是何等的威风!
尽管学控制的人都要学现代控制理论,但大多数人记得卡尔曼还昰因为那个卡尔曼滤波器(Kalman Filter)说它是滤波器,其实是一个状态观测器(state observer)用来从输入和输出“重构”系统的状态。这重构听着玄妙其实不复杂。不是有系统的数学模型吗只要模型精确,给它和真实系统一样的输入它不就乖乖地把系统状态给计算出来了吗?且慢:微分方程的解不光由微分方程本身决定还有一个初始条件,要是初始条件不对微分方程的解的形式是正确 的,但是数值永远差一拍鉲尔曼在系统模型的微分方程后再加了一个尾巴,把实际系统输出和模型计算的理论输出相比较再乘上一个比例因子,形成一个实际上嘚状态反馈把状态重构的偏差渐进地消除,解决了初始条件和其他的系统误差问题卡尔曼滤波器最精妙之处,在于卡尔曼推导出一个系统的方法可以考虑进测量噪声和系统本身的随机噪声,根据信噪比来决定上述比例因子的大小
这个构型其实不是卡尔曼的独创,隆伯格(Luenburg)也得出了类似的结构但是从系统稳定性角度出发,来决定比例因子同样的结构大量用于各种“预测-校正”模型结构,在工业仩也得到很多应用比如聚合反应器的分子重量分布可以用反 应器的温度、进料配比、催化剂等来间接计算,但不够精确也无法把林林總总的无法测量的干扰因素统统包括进数学模型里,这时用实验室测定的真实值来定期校 正就可以结合数学模型及时的特点和实验室结果精确的特点,满足实时控制的要求这或许可以算静态的卡尔曼滤波器吧。卡尔曼滤波器最早的应用还是在雷达 上所谓边扫描边跟踪,就是用卡尔曼滤波器估计敌机的位置再由雷达的间隙扫描结果来实际校正。实际应用中还有一个典型的问题:有时候对同一个变量鈳以 有好几个测量值可用,比如有的比较直接但不精确有的是间接的估算,有很大的滞后但精确度高这时可以用卡尔曼滤波器把不同來源的数据按不同的信噪比加权 “整合”起来,也算是民用版的“传感器融合”(sensor fusion)吧
除了卡尔曼滤波器外,卡尔曼的理论在实际中用嘚不多但是卡尔曼的理论在理论上建立了一个出色的框架,对理解和研究控制问题有极大的作用顺便说一句,卡尔曼的理论基本局限於线形系统也就是说,十块大洋买一袋米二十块大洋就买两袋米,都是成比例的实际系统中有很多非线性的,两千块大洋还能买两百袋米但两千万大洋就要看米仓有没有货了,市场涨不涨价了不是钱越多,买的米越多有一个非线性的问题。非线性的问题研究起來要复杂得 多实际系统还有其他特性,有的是所谓时变系统像宇宙火箭,其质量随时间和燃料的消耗而变系统特性当然也就变了。佷多问题都是多变量的像汽车转弯, 不光方向盘是一个输入油门和刹车也是输入变量。但是状态空间的理论在数学表述上为线性、非线性、单变量、多变量、时变、时不变系统提供了一个统一的框 架,这是卡尔曼最大的贡献

前面说到,搞控制有三拨人:电工出身的化工出身的,和应用数学出身的在卡尔曼之前,电工出身的占主导地位数学家们好在象牙塔里打转转,化工出身则还对控制理论懵裏懵懂还在“实干”呢。卡尔曼之后一大批数学出身的人,利用对数学工具的熟悉转攻控制理论。一时间控制理论的数学化似乎荿了“天下大势,顺我者昌逆我者亡”了。在状态空间的框架下多变量没有太多的问题好研究,于是最优化成为控制理论的新时尚
對于一根给定的曲线,求一阶导 数为零的点就是这个曲线的极点;在对这一极点球二阶导数,大于零就是最小点小于零就是最大点。這时牛顿老爷子就整明白的东东现在高中或大一人人都学 过的东西。但是动态系统是一个微分方程对微分方程求一阶导数为零,就导致变分法和所谓欧拉方程但这个东西用起来不方便。实际的最优控制不大直接使用变分
俄罗斯是一个奇怪的地方。老毛子们要么蔫蔫嘚要么疯狂的。俄罗斯的悲剧电影看得你也郁闷得想去自杀但是毛子要是搭错筋整出一个喜剧呢?那你要么跟着疯狂要么被逼疯狂。就是这么一个地方除了无数托尔斯泰、柴可夫斯基、普希金、屠格涅夫等文艺巨璧外,俄罗斯也盛产数学家其中两个是庞特里亚京囷学控制的人老惦记着的李亚普诺夫。
庞特里亚京的极大值原理听起来吓人其实说白了很简单。看见那山吗山顶就是最高点(切,这還用你 说吗);看见那山坡吗?要是在山腰划一道线从山下往上爬,尽管山坡还在继续往上延伸但是到线为止,不得逾越那山腰仩那道三八线就是最高点(切,这 还用说)。这就是庞特里亚京的极大值原理当然啦,庞特里亚京是用精巧、深奥的数学语言表述的要不然他在数学界里也别混了。不过呢意思就是这么一个意思。
庞特里亚京极大值原理的一个典型应用就是所谓最速控制问题或者叫时间最优控制 (time optimal control)问题,简单地说就是给定最大马力和最大刹车功率,怎么开汽车能够最快地从 A 点开到 B 点(什么转弯、上下坡、红绿燈这种琐碎的事情也要拿来烦人?一点品味都没 有!)你可以用优美但繁琐的数学求证,或者用膝盖想想最快的方法,就是一上来僦加足马力全速前进;然后在不到终点的某一地点,全力刹车使慢下来的 汽车在到达终点时正好停下来。这时最快的方法不可能比這更快了。稍微发挥一点想象力可以想象“梆”的一下,控制量的油门板一脚到底再是“梆”的一 下,刹车板一脚到底控制任务就唍成了。所以最速控制也叫“梆-梆”控制(Bang-Bang control)
最速控制在理论上是一个很有趣 的问题,解法也是简洁、优美但在实际中直接使用的例孓实在是凤毛麟角,一般都是开始时用“梆-梆”或者匀速上升到最大控制,以缓和控制的冲击力;到终 点附近时改用 PID 作闭环微调,以克服“梆-梆”的系统模型误差十分敏感的缺点电梯控制就是这样一个例子。从一楼到四楼电动机很快匀速上升到最高转 速,一过三楼电动机就匀速下降到较低的转速,然后根据电梯实际位置和楼面之差有控制地减速,直至停下来要是控制参数调得好的话,一下子僦稳稳当当地 停下来;要是调的不够好会在停下来之前上下晃荡几下。
最速控制问题是较早的最优控制问题它提供了一个很有趣的思蕗,但这颗树上开花结果不多 相比之下,最优控制的另外一支枝繁叶茂有生气得多了。这一支就是线型二次型最优控制(linear quadratic control)数学是囿趣的,但数学也是盲目的在数学上,最优化问题就是一个在曲面上寻找凸点的问题只要你能把一个物理问题表述成一个曲面,数学昰不理会姓无姓资的既然如此,控制偏差的平方在时间上的累积就是很自然的选择二次型就是平方在线性代数里的说法。线型系统的偏差平方有很好的性质这山峰是一个馒头山,没有悬崖峭壁没有沟坎,容易爬;一山只有一峰不用担心找错地方。不过这山峰不能呮包含控制偏差还要包含控制量,原因有三个:
1、如果不包括控制量那最优控制的解是没有意义的,因为无穷大的控制量可以使累计岼方偏差为最小但无穷大的控制量是不现实的。
2、控制量的大小通常和能量、物料的消耗连在一起实际控制问题一般是“在最小能量、物料消耗小达到最高的控制精度”,所以在“山峰”中同时包含控制偏差和控制量是很自然的
3、系统模型总是有误差的误差“总是”茬高频、大幅度控制作用下最突出,
所以为了减低系统对模型误差的敏感性也有必要限制控制量的大小。
所以线性二次型最优控制的“目标函数”(也就是定义山峰形状的数学表述)是一个控制偏差和控制量各自平方的加权和的积分积分当然就是“在时间上的累积 ” 了,加权和其实就是在控制偏差的平方项和控制量的平方相前分别乘以比例因子然后再相加。两个比例因子的相对大小决定了谁更重要運用矩阵微分和线型 代数工具,不难导出线性二次型控制律—一个基本的状态反馈控制律!只是反馈增益矩阵是按最优化的要求计算出来嘚
线型二次型最优控制开创了一整个新的控制领域,很快从状态空间走出来进入其他领域,子孙繁衍人丁兴旺。这一支是当今最优控制在应用中的主体线性二次型控制具有各种各样的优点,但是线性二次型没有回答一个最基本的控制问题:这个闭环系统是不是稳萣。这里我们的饱受牵记的李亚普诺夫同志出场 了。
李亚普诺夫也是一个思路比较奇特的人一百多年前,玩微分方程玩出了瘾整出兩个稳定性(或者叫收敛性)的定理,前一个没有什么太了不起的把非线性系统线性化,就是把一根曲线用很多一小段、一小段的直线菦似然后按直线来分析。后一个就有点邪门了老李琢磨出一个定理,说是对于任意一个系统如果能找 到一个自我耗散的能量函数(數学说法是正定函数),也就是其数值永远为正但随时间渐进地趋向零,或者说这个能量函数对时间的导数永远为负那这个系统就 是穩定的。据说定理的证明是一个天才的杰作我等凡人只有频频点头的份。不过想想也对系统的能量耗散没了,系统不也就安分下来了嗎当然就稳定喽。
李亚普诺夫比卡尔曼还要数学家他的定理只给出“如果存在……就……”,怎么找这个自我耗散的能量函数他没说这个函数一般是什么样他也没说。这难不倒搞自动控制的群众不是要正定函数吗?不是没有限制什么形式的正定函数吗那就用控制偏差的平方吧。说干就干但是干着干着,好玩的事情出现了对偏差平方(或二次型)的求导,导出了和线性二次型最优控制推导过程Φ同样出现的一个所谓黎卡蒂方程(Riccati equation)感情这是殊途同归呀。换句话说线性二次型控制总是稳定的。这是线性二次型控制的一个重要貢献:把最优性和稳定性连到一起
再扯一句李亚普诺夫,他的第二个定理非常威猛但是有点像一个奇形怪状的大锤,到现在人们还在找合适的钉子好用这把大锤砸几下。线性二次型控制是已知的仅有的几个钉子之一另一个是变结构控制,也可以用李亚普诺夫方法這是题外话了。

都说瓦特的蒸汽机后计算机是影响人类进程最大的发明,计算机当然也对自动控制带来深刻的影响如前所述,控制理論基本上都是围绕微分方程转的所以在“本 质”上是连续的。但是数字计算机是离散的也就是说,数字控制器的眼睛不是一直盯着被控对象看的而是一眨一眨的。数字控制器的“手脚”也不是一刻不停地 连续动作的而是一顿一顿的。这是数字计算机的天性使然于昰,传统的控制理论全部“翻译”到离散时间领域微分方程变成了差分方程,所有方法、结论都有 了连续、离散两套不尽相同,但是夶同小异
要是数字控制就是简单的连续系统离散化,计算机控制也就没有什么了不起离散控制带来了一些连续控制 所不可能具备的新特点,这就是:差分方程用清晰界定的时刻之间的关系来描述动态过程回到洗热水澡的例子,如果热水龙头不在跟前而是在村外一里哋的小锅 炉房里,你只能用电话遥控那水温可以表示为下一分钟水温=0.7现在水温+0.2上一分钟水温+0.1再上一分钟水温+0.4(5 分钟前锅炉房龙头开度-6 分鍾前锅炉房龙头开度)
显然,下一分钟的水温受现在水温的影响比上一分钟和再上一分钟的水温的影响要大但锅炉房龙头开度要是不变,现在、上一分钟、再上一分钟水温都一样的话下 一分钟的水温也应该和现在的水温一样。为什么用 5 分钟前锅炉房的龙头开度呢那是洇为热水从村外流到洗澡房要有一定的时间,这个时间就是滞后要是把时间 向前推,那现在的龙头开度就会影响 5 分钟后的水温这说明叻离散模型的一个重要特质:预估能力。所有预报模型都是建立在离散模型的这个预估能力上不管是天气预报,还是经济预测还是自動控制里对有滞后的过程的控制。
数字控制的另一特质是可以实施一些不可能在连续时间实现的控制规律工业上常有控 制量的变化需要囷当前的实际值有关的情况。比如对于不同的产品反应器的转化率总是大体在 88-92%之间,没有太大的变化但是催化剂可以在0.5 到 35ppm 之间变化,采用常规的 PID 的话增益就非常难设,对一个情况合适了对另一个情况就不合适。所以催化剂需要按百分比变化率调整而不是简单地 按偏差比例调整。比如说转化率偏离 1%时,催化剂要是在 0.5ppm应该调整 0.05ppm;但是在 15ppm 的时候,就应该是 1.5ppm这 样,控制律就可以表示为:当前的控制量=上一步的控制量*(设定值/当前的测量值)也就是说在被控变量高于设定值 10%的情况下,控制量也增加 10%;测量值和设定值一样时控制量鈈再变化。实际使用时谁除以谁要根据测量值上升你是要控制量上升还是下降来决定,控制律也要稍微修改一下成为当前的控制量=上┅步的控制量*(当前的测量值/设定值)^k。
k 次方是用来调整控制律对“偏差”(这是已经不是差值而是比值了,严格地说应该叫“偏比”?)的灵敏度相当于比例增益。这个控制律实际上相当于对数空间 的纯积分控制要是有兴趣,对很多常见的非线性过程有相当不错嘚效果实现也简单。然而这是一个本质离散的控制律,在连续时间里无法实现
离散控制可以“看一步、走一步”的特性,是连续控淛很难模仿的也是在实际中极其有用的。

形形色色的控制理论再牛没有被控过程的数学模型,照样抓瞎前面的洗澡水温就是一个数學模型。这个模型是杜撰的当然可以很容易地给它所有模型参数。但在 实际中模型参数不会从天上掉下来。多少科学家毕生致力于建竝某一特定的物理、生物、化学或别的学科的数学模型基本机制已经清楚的模型都不容易建立,更 不用说很多过程的基本机制或深层机淛并不清楚所以靠机理推导被控过程的数学模型是可能的,但对日常的控制问题来说并不实际。
这就是控制理论的另一个分支—辨识—一显身手的地方了如果给定一个模型,也就是一个数学公式给它一组输入数据,模型就可以计算出对应的输出数据比如说,给定模型 y=2*x+1再给出 x=1,23,4那 y 就等于 3,57,9就这么很简单。
辨识的问题反过来先给定一个模型结构,在这里就是 y=a*x +b已知输入-输出数据是 x=1,2 時 y=35,要求计算出 a 和 b显然,这是一个二元一次方程谁都会解。在实际中输入-输出的观察 数据含有测量噪声,这对参数估计的精度不利;但通常积累观察的数据量远远超过未知参数的个数不说数学,感觉上这就应该对克服测量噪声有利关键是怎么利 用这“多余” 的數据。一个办法是把数据组两两配对借众多的二元一次方程,然后对解出来的 a 和 b 作平均还有一个办法就是有名的最小二乘法了,说穿叻 就是以 a 和 b 为最优化的“控制量”,使模型输出和实际观测值之间的累积平方误差为最小
实际工业过程大多有多年的运行经验,大量嘚数据不成问题 对于大多数常见过程,模型的基本结构和定性性质也可以猜一个八九不离十有了如此有力的数学“大锤”,那么应该鈳以砸开一切建模的硬核桃啦且慢,世上没有真正的“神奇子弹”一个问题解决了,另一个同等难度的问题又会出现对于辨识来说,问题有好几个
第一个问题是工业数据的闭环性。大多数重要参数都有闭环回路控制如果没有闭环回路控制,那要么就是过程特性实茬太复杂简单回路控制不了;要么就是这个参数其实不重要,飘移一点没人在乎然而, 一旦闭环系统地输入和输出就是相关的了。這一相关不要紧输入-输出数据之间的因果性就全乱了:输出通过被控过程本身和输入相关(这是好的,辨识就是要 测算出这个相关关系输出要是和输入不相关,也没有控制或辨识什么事了)输入通过反馈和输出相关;输入-输出成为一个闭合系统,你可以用任意多条定悝或 方法证明同样的事:由于因果不分闭环辨识是不可能的,除非另外加入“新鲜”的激励比如使劲变设定值,或者在闭环回路里额外施加独立于输入、输出的激励信号比如“莫名其妙” 地把阀门动几下。弄到最后工业数据到底能用多少,就不是一个简单的回答囿的过程常年稳定操作,像乙烯装置只有小范围的微调。
这倒不是人家懒或者不求上进而是这些装置早已高度优化,常年操作的极其接近极限的位置但原料和产品单一,所以工艺状况不怎么大变这种系统的闭环数据用起来很吃力,常常必须做一定的开环试验有的過程经常在不同的状态之间转换(transition),或者由于不同的原料如“吃”得很杂的炼油 厂,或者由于不同的产品如聚乙烯装置,这实际上僦是“使劲变设定值”是新鲜的激励。这种系统的闭环数据比较好用但又别的问题,下面要谈到
第二个问题是动态和稳态。动态模型的作用有两个:一是描述需要多少时间输出才能达到某一数值;二是输出最终能够达到什么数值用股票市场举一个例子,你需要 知道兩件事:一是这支股票最后会升到多少二是需要多少时间才能升到那里,只知道其中一个对你并没有太大的用处当然为了简化,这里假定这支股票一路飙 升不来忽升忽降或跌买涨卖的名堂。这就要求输入-输出数据必须包含充分的动态和稳态信息过于偏颇其中一方面對另一方面会不利。所以长期稳定运行的过程中可能包含足够的稳态数据,但动态不足;常年不怎么稳定的过程可能包含足够的动态数據但稳态不足。用 PID 控制打比方精
确的稳态数据有助于计算正确 的比例控制增益,精确的动态数据有助于计算正确的积分和微分增益顯然,把比例增益整对了更为重要
为了获得精确的稳态,在辨识中常常需要等过程开环稳定 下来才进行下一步但是问题是,实际过程囿时时间常数很长几个精馏塔一串联,时间常数几个小时是客气的一、两天都是可能的。这样一来一个不太大的模型,十来个变量开环试验一做就是一、两个星期。要是一个装置能够两个星期开环那也不需要什么控制了。
第三个问题是激励的信噪比都说人类活動 是二氧化碳和温室效应的主要原因,但要是你去生一堆篝火再去高空大气层去测一测二氧化碳和温室效应,肯定什么也测不出来本來多少,现在还是多少为什 么呢?不是因为这堆篝火没有效果而是环境中的自然的变化远远超过了篝火的作用,换句话说就是噪声遠远超过了信号。工业测试也是一样信号一定要有一定 的强度,否则是白耽误工夫信号强度应该使过程达到严重失稳的边缘,这样才恏获得在大范围内都精确的模型以便控制器不光在“风平浪静”的情况下可以正常 工作,在“惊涛骇浪”的情况下也能使系统恢复稳定然而,工厂以生产为主在一切都“斤斤计较”的今天,如此大范围的测试所带来的产品损失甚至对设备的可能的危害都是工厂极不願意见到的。
理论家们设计了一个伪随机信号用一连串宽窄不等的方波信号,作为激励过程的输入在理论上可以是过程参数的平均值鈈致偏离设定值太多,但 ISO9000 不仅要求产品质量的平均值要保证产品质量的一致性也要保证。再说伪随机信号的脉宽不好确定,太窄了穩态数据不够;太宽了,和常规的阶跃信号也没有什么两样所以伪随机信号在实际上用得很少。
第四个问题是输入的相关性实际工业過程到了要用辨识来确定模型的时候,都是单回路对付不了了所以都是多变量过程。在理论上多个输入变量可以同时变化,只要输入變量的变化是相互独立的数学上容许多个输入变量同时变化,而辨识可以正确地辨别模型然而,在使用实际过程的历史数据时常常遇到多个输入变量并不相互独立的问题。比如说在制作巧克力的过程中,香草巧克力比较“苦”或者说不太甜,而牛奶巧克力比较甜问题是做牛奶巧克力时,不光加糖还要加牛奶(废话,不加牛奶那还是牛奶巧克力吗)由于两者总是同时出现,在甜度模型里就難以辨别甜度是由于加糖的关系,还是由于加牛奶
的关系有的时候可以根据对具体过程的认识,人工地限制辨识的过程来消除这种影響,有的时候就不太容易了,只好不用历史数据专门做试验,用各自独立的输入辨识模型。
第五个问题是模型结构模型结构包括兩个方面,一是模型的阶数二是剔除在物理上不可能的模型。辨识的模型归根结底还是差分方程这就有一个如何预设阶数的问题。数學上有很多验前和验后的检验方法在工业上,人们偷一个懒改用费参数模型,也就是用一条响应曲线而不是一个方程来表述一个模型这样就可以绕过阶数的问题。但是剔出不现实的模型还是一个手工活需要对每一个模型仔细研究,以确定模型所描述的动态关系是否匼理数学方法还是不够可靠。
在搞模型的人中间常常会听到黑箱、白箱和灰箱的说法。黑箱模型就是不理会实际过程的物理、化学等性质纯粹从数学出发,假设一个模型结构然后用种种数学方法找出一个最好的模型。白箱反其道而行之从物理、化学等性质出发,建立机理模型黑箱模型的好处是“放之四海而皆准”,不需要对具体过程有深入的了解黑箱模型是一种削足适履的作法,但是如果履夲身就做得比较好具有相当的灵活性和适应性,就并不需要削足由于黑箱模型可以自由假设模型结构,黑箱模型的处理和使用都比较方便黑箱模型是经验主义的, 数据里没有包含的情况黑箱模型无法预测。白箱模型则是“量身度造”的反映了过程的物理、化学等性质,对实际过程的数据没有太大的依赖对数据中不包含的情况也能可靠地预测。但是白箱模型的结构有具体问题决定得出的模型不┅定容易使用。在实际中人们经常在假设一个模型结构的时候考虑进大大简化的过程机理,所以模型结构不是凭空拍脑袋出来而是粗畧地抓住了过程的基本特质,然后再用黑箱方法的“数据绞肉机”将简化模型没有能够捕捉的细微末节一网打尽。
这种模型结合了黑箱囷白箱的特点所以称为灰箱。实际建模中纯粹黑箱或白箱的成功例子很少,灰箱的成功机会就要多得多不管什么箱,最后还是有一個如何辨识实际过程的问题闭环辨识的好处不用多说了,问题是如何从闭环辨识中获得有用的模型工业上有一个办法,没有一个“官洺”但实际上是一个开环-反馈过程。具体做法是这样的:先用粗略的过程知识构造一个简单的多变量控制器其任务不是精确控制被控過程,而是将被控变量为此在极限之内一旦逼近或超过极限,就采取动作将其“赶”回极限内;但只要在极限内就按部就班地做阶跃擾动,测试过程特性测试的结果用来改进控制器的模型,然后再来一遍几遍(一般两遍就够了)之后,模型精度应该很不错了这个方法比较好地解决了辨识精度和过程稳定性的要求。

西游记里最好看的打斗是孙悟空大战二郎神那一段孙悟空打不过就变,二郎神则是“敌变我变”紧追不舍,最后把个无法无天的顽皮猴子擒拿归案用控制理论的观点看,这“敌变我变”的本事就是自适应控制控制器結构根据被控过程的变化自动调整、自动优化
自适应控制有两个基本思路,一是所谓模型跟踪控制二是所谓之校正控制。模型跟踪控淛也叫模型参考控制在概念上对人们并不陌生。毛_主_席那阵子经常树立各种榜样,目的就是要在党发出号召时我们比照榜样的行为,尽量调整自己的行为使我们的行为了榜样的行为接近。这就是模型跟踪控制的基本思路模型跟踪控制在航空和机电上用得比较多,茬过程控制中很少使用自校正控制的思路更接近人们对自适应的理解。自校正控制是一个两步走的过程首先对被控过程作实时辨识,嘫后再辨识出来的模型的基础实时地重新构造控制器。思路简单明了实施也不算复杂,但自校正控制在一开始的欢呼后并没有在工業上取得大范围的成功,原因何在呢
原因之一是闭环辨识。虽然自校正控制不断改变控制器的参数在一定程度上打破了固定增益反馈控制对输入、输出带来的因果关系,但是因果关系还是存在还是相当强烈,对辨识模型的质量带来影响
原因之二是所谓“协方差爆炸”。数学上当然有严格的说法但简单地说,就是自校正控制器的目的当然还是是系统稳定下来但是在系统越来越稳定的过程中,自校囸控制器对偏差和扰动的敏感度越来越高最后到“万籁俱静”的时候,敏感度在理论上可以达到无穷大然而,这时如果真的扰动来了控制器一下子就手足无措了。
原因之三是实际过程的复杂性在辨识实际过程时,最重要的步骤不是后面的“数学绞肉机”而是对数據的筛选,必须把各种异常数据剔除出去否则就是“垃圾进来,垃圾出去”但是,要实时、自动地剔除异常数据这个要求非同小可,比设计、投运一个自校正控制器费事多了这是自校正控制在实际中成功例子有限的最大原因。

自动控制从一开始就是以机电控制为主導的60 年代数学派主导了一段时间后,70 年代化工派开始“小荷才露尖尖角”自校正控制已经有很多化工的影子,但化工派的正式入场之莋是模型预测控制(model predictive controlMPC)。这是一个总称其代表作是动态矩阵控制(dynamic matrix control,DMC)DMC是 Charlie Cuttler 的 PhD 论文,最先在壳牌石油公司获得应用以后 Cuttler 自立门户,創办 DMC 公司现在是 Aspen Technology 公司的一部分。
数学控制理论非常优美放之四海而皆准,但是像老虎一样看起来威猛,却是干不得活的干活毕竟靠老牛。DMC 的成功之处在于应用伪理论将一些本来不相干的数学工具一锅煮,给一头老老实实的老牛披上一张绚烂的老虎皮在把普罗大眾唬得一愣一愣的时候,悄悄地把活干了
DMC 基本就是把非参数模型(在这里是截断的阶跃曲线)放入线性二次型最优控制的架构下,成功哋解决了解决了多变量、滞后补偿和约束控制问题多变量的含义不言自明,滞后放在离散动态模型下也很容易实现预测这也没有什么稀奇。稀奇的是DMC 用“土办法”解决了约束控制问题。所有实际控制问题的控制量都有极限 加速时,油门踩到底了那就是极限,再要哆一马力也多不出来了庞特里亚金的最大值原理在理论上可以处理约束控制问题,在实际上很难求出有用的解来最速控制是一个特例。
那 DMC 是怎么解决约束控制问题的呢当某个控制量达到极限时,这个控制量就固定在极限值上了这就不再是变量,而是已知量把已知量代进去,将控制矩阵中相关的行和列抽掉重新排列矩阵,剩余的接着求解这也没有什么稀奇。令人头疼的是如何处理输出约束的问題DMC 把线性规划和控制问题结合起来,用线性规划解决输出约束的问题同时解决了静态最优的问题,一石两鸟在工业界取得了极大的荿功。自卡尔曼始这是第一个大规模产品化的 “ 现代控制技术”,Cuttler 在 DMC 上赚了大钱了在“高技术泡沫”破碎之前把公司卖给 Aspen Technology,更是赚得缽满盆溢他女婿是一个医生,也不行医了改行搞过程控制,跟着 Cuttler 干了
DMC 的英明之初在于从实际需要入手,不拘泥于理论上的严格性、唍整性人参、麻黄、红药水、狗皮膏药统统上,只要管用就行在很长一段时间内,DMC 的稳定性根本没有办法分析但是它管用。搞实际嘚人容易理解 DMC 的歪道理但搞理论的人对 DMC 很头疼。
DMC 打开局面后一时群雄蜂起,但尘埃落定之后如今只有三家还在舞台上。Honeywell 的 RMPCT(Robust Multivariable Predictive Control Technology)是一個中国同胞开创的他的独特 之处在于引入“漏斗”概念。大部分控制问题都有一个特点:如果扰动当前有一点控制偏差是可以容忍的;但时间一长,控制偏差应该消除换句话说,这就像一个时间轴上对偏差的横放的漏斗这个概念对复杂过程的 MPC 参数整定非常有用,已經在别的公司的产品上也出现了
第三家就是方兴正艾的 Pavilion Technology 的 Perfecter。美国公司有一个坏毛病喜欢对好好的产品取一个不伦不类的名字。Perfecter 的特色 昰将神经元技术(neural net)和 MPC 结合起来所以可以有效地处理非线性过程。神经元模型没有什么神秘的说穿了,就是具有某些特定复杂形式的囙归模型但是比回归模型更不适宜内插和外推。DMC 也号称可以处理非线性因为即使阶跃响应曲线拐上几拐,DMC 照样囫囵吞枣可以计算控淛输出来, 这就是非参数模型的好处但是问题在于 DMC 的结构框架毕竟还是线性的,阶跃响应的概念根本不适合非线性过程因为非线性响應和输入的绝对数值、相对变化 甚至变化方向有关,甚至可以更复杂所以所谓 DMC 可以处理非线性是放空炮。如果实际过程的非线性不强根本可以忽略它;如果实际过程有很强的非线性,DMC肯定抓瞎那么, Perfecter 用了神经元是不是就所向披靡了呢?也不尽然
Perfecter 继承了 DMC 不问理论、唯实用是问的好 传统,但是 Perfecter 的基本骨架还是线性的 MPC只是用静态的神经元模型时不时地作一个线性化。Perfecter 在理论上乏善可陈在实用上还是管用的。
前面说到 PID 在当今过程控制中占至少 85%那 MPC 就要占 14.5%了。

计算机对自动控制的影响要是只局限在离散控制理论上那也就不是计算机控淛了。事实上80 年代以后新建的化工厂,基本都采用计算机控制说是可以采用比 PID 更先进的技术,实际上绝大多数还是在用 PID,加上顺序控制按部就班地执行一系列动作。那计算机控制的好处到底在什么地方呢
过程控制的实际装置最初全是直接安装在现场的,后来出现氣动单元仪表可以把压缩空气的信号管线从现场拉到中心控制室,操作工可以在中控观察、控制全厂了电动单元仪表防爆问题解决后,中控的使用更加广泛操作工坐在仪表板前,对所辖工段的情况一目了然但是随着工厂的增大和过程的复杂,仪表板越来越长一个夶型化工厂随随便便就可以有上千个基本控制回路和上万个各种监控、报警点,仪表板非有几百米长不可这显然是不可能的。生产过程嘚高度整合使一两个人控制整个工厂不光满足削减人工的需要,也对减少 通讯环节、综合掌控全局有利所以,计算机显示屏就不光是酷而是必须的了。另外
计算机控制使现场仪表(阀门、测量变送器等)的自检成为可能,大大提高了系统的可靠性于是,计算机控淛就是不花没人性了
计算机控制从一开始的集中控制(用 IBM 的大型机)到现在的分散控制(所谓 Distributed Control System,DCS)走过一个螺旋形上升的过程集中控淛的要害在于风险集中,要是大型机挂了全厂都要失控。分散控制将全厂划分为若干条条块块用以微处理器为基础的一个控制用局部網来分散控制,主要子系统都是实时冗余的故障时在第一时间内切换到备用系统,主系统和备用系统在平时定期互相自检、切换以保證可靠。分散控制显然大大提高由于计算机本身引起的可靠性但是现场仪表和接线终端 (field terminal assembly,FTA)不是冗余的整个可靠性链还是有漏洞。叧外控制局部网的同轴电缆长度有物理限制,FTA 到 DCS 的长度也有物理限制所以最后分散控制还是不怎么分散,全是集中在中控室附近或地丅室里不过 DCS 在地理上的集中,并不妨碍其在逻辑上的分散只要不是一把火把 DCS 的机房烧掉,部件可靠性的问题还是可以很好地隔离在小范围
既然 DCS 是一个局部网,那就有一个通信协议的问题DCS 基本上用两大类型的通信协议:轮询(polling)和中断。轮询由中心控制单元轮流查询所有子系统不管有没有数据更新,到时候就来问一遍所以不管什么时候,系统地通信流量都很高但是恒定。中断方式正好相反子系统自己先检查一下,如果数据没有变化就不上网更新;直到数据有变化,再上网“打一个招呼 ”这个方式的平时通信流量较低,所鉯网路带宽要求较低但是生产过程发生异常时,大量警报数据蜂拥而来如果带宽不够,就会发生通信阻塞的问题所以, 中断和轮询箌最后对带宽的要求是一样的因为谁也不能承担生产过程异常时通信阻塞的后果。
二十年前Honeywell 是第一个吃 DCS 这个螃蟹的公司,今天 Honeywell仍然是荇业里的老大尽管其设备昂贵,被戏称为 Moneywell当年的 DCS 全是量身度造的硬件、软件。今天在“开放 系统”(open architecture)的大潮里DCS 的制造厂家都纷纷將控制台和计算、网络控制单元转向通用的 WINTEL 或UNIX 平台,自 己专注于工控专用装置(如基本控制装置包括 I/O)和系统的软件整合。但是这带来叻新的问题通用/商用硬件、软件的可靠性常常不能满足 24 小时、365 天的连续运转要求。对于大多数 IT 来说机子坏了,两小时内换上就是很快嘚了但是对于生产过程来说,这是不可容忍的开放结构容许将DCS 和经营、管理、办公网络相连接,极大地提高了信息交流速度和深度、廣度但也带来了网络安全问题,紧接着就是 DCS 前面竖起一道又一道的防火墙把数据分享和远程操控压缩到最低。另外就是 WINTEL 夜以继日的不斷更新换代使硬件、软件的稳定性十分糟糕,没有过多少时间又要升级,又是头疼这是 DCS 的第二个螺旋形上升,只是现在还是盘旋多於上升
计算机控制的领地也在扩大,类似 USB 那样的技术也开始用于数字化的仪表过去的仪表都必须把信号线拉到接线板(marshalling panel)上,然后再連到 FTA 上这样同样远在百把米外的 10 台仪表,需要并行拉线很浪费。用了类似 USB 的现场总线(field bus)各个仪表可以“挂”在总线上,然后一根總线连到 DCS 就可以了大大节约拉线费用和时间,对系统(如加一个测量用的变送器或控制阀)的扩展也极为方便

DCS 的最大优越性是可编程。这不是简单的像 PLC(programmable logic controller可编程序逻辑控制器,多用于机电控制)的梯形逻辑那样编程而是可以像 C、FORTRAN 那样“正规”的编程。
没有在 IT 干过呮能和学校里计算机语言课程和大作业的程序相比。DCS 编程和平常的编程相比还是有一些特点的。首先DCS 的程序属于“再入”式,也就是萣时反复运行的而不是一次从头到底运行就完事的。所以 DCS 程序可以在运行完毕时在内存里存放数据到下次运行时再调用,形成所谓“遞归”运算这既是优点,也是缺点要是别人在你
两次运算中间把那个中间数据更改了,你就惨了找债主都不容易。DCS 程序的特色是实時所以其执行非常取决于一系列事件在时间上的顺序。时序上要是搞岔了老母鸡也就变鸭了。问题是分散控制要求越分散越好,不咣是可靠性在系统资源的调度上,分散了也容易使系统的计算负荷均匀这样一来,一个应用程序包常常将一个巨大的程序打散成很多尛程序各自的时序和衔接就要非常小心。
和学术型控制计算程序最大的不同或许还在于对异常情况的处理。一个多变量控制问题在实際上常常会有部分变量处于手动控制而其余变量处于自动控制的情况。这在理论上是一个麻烦在实际上是一个噩梦。不光要考虑所有嘚排列、组合还要考虑所有情况平顺的切入、切出,不同模式之间的切换还有就是要考虑异常情况下如何安全、自动地退出自动控制,交还手动控制有时操作规程上的一句话,程序写写就是一页如果操作规程上来一句“视情处理”,那就更惨了在所有控制程序中,控制计算通常不超过 30%20%为人机接口功能,而 50%为异常情况处理

计算机控制不是因为更先进、更有效的人机界面才开始的。从一开始人機界面 就面临一个管中窥豹的问题。计算机的 CRT 显屏只有这么大不可能 “一言以蔽之”,在一瞥之中把所有的过程信息尽收眼底计算机鈳以不断地换屏,分段显示其他装置、工段的信息但是把所有的工段、装置分别用各自的画幅表示,如果没有有效的组织找都不容易找到,就像在同一个目录里杂乱 无章地放上百把个文件一样分级的菜单是传统的解决办法,但是要逐级上去再逐级下来很费时间,情ゑ之中往往来不及更换。大键盘上 short cut 键可以“一键调出”但需要死记硬背,这可不是几个、十几个画幅而是上百个甚至更多。很长时間以来如何有效地在画幅之间导航,可以在最短时间和最少点击内不需要死记硬背,就可以直观地找到所需要的画幅一直是一个令囚头疼的问题。人机界面设计的另一个问题是色彩还记得 DOS 2.0 时代的 WordStar 吗?
那是黑底绿字的那时候,CRT 亮度不足寿命也糟糕,黑底可以延长壽命绿字可以增加反差,帮助阅读反正机房是暗暗的,黑底并不伤眼睛到了WordPerfect 5.0 的时候,就是蓝底白字了字和背景之间的反差大大减尛,蓝底也比较适宜于在明亮的房间内使用到了 Word 的时代,没有昏暗的机房了基本上都用像纸上写字一样的白底黑字了,再用黑底绿字太伤眼睛。
中控室计算机显示也经历了类似的旅程早期 DCS 的显示都是黑底绿字的,到了用 WINTEL 或 UNIX 的时代很多人出于习惯,仍然采用黑底绿芓但是现代人机工程研究表明,浅色背景大大减低眼睛的疲劳 在明亮室内的灯光对屏幕的反光也小,所以控制室的显示开始向浅灰背景进化了人机工程研究同时发现,色彩可以作为过程信息的一部分天下太平的时候,应该用最不显眼的灰色所有的图形、数据都用鈈同深浅的灰色来表示,只有在过程参数越限或报警时才采用彩色显示,这样可以一下子就把操作工的注意力吸引到需要的地方
但是,出于习惯思维很多地方还是大量采用各种色彩表示不同的设备状态和参数,即使是正常状态也是一样这样在平日里色彩缤纷很好看,但在异常情况时不容易在万马军中找到上将的首级,实际上是舍本逐末显示器的布置也很有讲究,少了当然不行也不是越多越好,一个操作工的视界的上下左右有一定的范围控制台的色彩、构造、照明都不能想当然的。这不是助长修正主义而是保持操作工最有效地控制生产过程的要求。

传统上如果操作工不抱怨,控制回路的性能就是可以接受的除非你想精益求精,一般不会去没事找事重噺整定参数。在对经济效益斤斤计较的今天生产过程的工艺条件被推到极端,对控制性能提出极大的挑战控制回路必需时时、处处都茬最优状态。随着控制回路数的迅速增长单靠人工观察,已经难于随时掌握所有控制回路的性能状况了控制回路性能评估技术应运而苼。
理论上对一个过程可以设计一个最优控制,其中一种就叫最小方差控制这其实是线性二次型最优控制的一种,控制作用比较猛泹是这是理论上的极限,控制方差不可能再小了90 年代时,理论界提出一个方法可以用闭环辨识的方法,不辨识模型而是直接确定理論上的最小方差,然后将实际方差和理论上的最小方差相比判别控制回路是否需要重新整定。这个方法开创了控制回路性能评估的先河但是在实用上不容易排除不利影响,应用不多
然而,不和理论上的最优值比较而是和实际上的理想值比较,就可以绕过很多麻烦的悝论问题比如说,流量回路应该在 1 分钟内安定下来那理想值就是 1 分钟。通过快速富利叶变换和频域分析可以将理论性能和实际性能楿比较,迅速确定回路的当前性能状况最要紧的是,这可以用计算机自动采集数据自动计算,每天早上(或随便什么时候)给出报表控制工程师可以一目了然,哪些回路需要重新整定哪些没有问题,可以有的放矢实时频域分析还可以将所有以相近频率振荡的回路羅列出来,接下来控制工程师就可以按图索骥找出害群之马了。
控制回路性能评估的下一步当然就是自动整定这实际上是一个简化的、断续运行的自校正 PID 控制器,在理论上已经没有问题但实用上还有很多可靠性问题没有完全解决,现在产品不少但实用的还是不多。

對控制回路性能评估的更进一步当然就是对生产过程的故障诊断了。故障就是异常情况异常就是和正常不一样。所以故障诊断的核心茬于如何探测这“不一样”
故障总是有蛛丝马迹的,问题在于工业过程的数据量太大在大海里捞针,等捞到的时候常常已经时过境遷了。在数据分析中PLS(其实是 Peojection to Latent Structure,而不是一般所认为的 Partial Least Square)和主元分析 (Principal Component AnalysisPCA)是很流行的方法。PLS 和 PCA 将众多相关的变量归拢到少数几个“合成”的变量 这样一个有大量变量的复杂大系统就可以简化为一个小系统,就从大海捞针变为碗里捞针了捞出来的针不再是单个的变量,洏是变量的组合这和实际是相符的, 故障的早期征兆常常是若干变量的组合而不能单从一两个变量上看出来。
PLS 和 PCA 还可以和图形方法结匼起来使用比如说,将那些合成变量标称化就是除以正常值,那所有合成变量的标称值就是 1把所有变量画成“蜘蛛图”(spider chart),每一個蜘蛛脚代表一个合成变量由于合成变量的标称值都是 1,蜘蛛图就是大体为圆的如果哪一个脚出现变化,蜘蛛就不圆了非常容易看絀异常来,接下来就可以有的放矢地寻找故障的早期迹象了
图形数据分析的另一个路子是所谓 co-linear 分析。这是 IBM 早年琢磨出来的一个东西理論上简直没有东西,但要求换一个思路正所谓退一步海阔天空。平常的数据点三维以上就没法画了。但是如果把三维空间的所有数轴畫成平行线而不是常见的直角坐标,那三维空间里的一个点就是连接三根平行线的一根折线。如果仅此而已那也就是一个简单但愚蠢的数学游戏。平行坐标系的妙处在于平行线可以尽着画,所以 5 维、20 维、3 千维只要纸足够大,都可以画而且可以看见,而不是只能想像平行坐标只有一个缺点,就是只能表述离散的点而难以表述连续的线或面,但这对计算机采集的数据来说不是问题,计算机采集的数据本来就是离散的点这样,用平行坐标把大量的数据点画成折线簇可以很直观地看出数据中的模式来。
故障诊断的另一个思路昰对整个过程进行辨识辨识出来的模型表述系统的行为,故障当然就是行为的改变所以将实时辨识出来的模型和正常模型相比较,就鈳以判断系统是否出现异常或故障

计算机和模型的另一个用处就是仿真。仿真(simulation)也叫模拟但是模拟容易和模拟电路(analog circuit)搞混,所以現在叫仿真多了只要对实际过程有一个足够精确的模型,计算机是可以相当精确地模仿实际系统的行为的仿真有静态仿真和动态仿真。静态仿真基本上就是解一个巨大的非线性联立方程组描述空间分布的微分方程也被有限元方法分解了。现代静态仿真已经可以做得相當精确但这也是在多年结合实际过程数据“磨合”模型的基础上才能做到的。静态仿真大量用于工艺设备设计计算但是对研究实际过程的真实行为的作用有限,因为对整个生产过程和工艺的仿真要考虑进各个设备动作的时间和控制回路的影响这些静态仿真是无法体现嘚。动态仿真要解同样巨大的联立微分方程组由于要达到实时或更快,一般只能大大简化否则计算速度跟不上。
仿真在工业上十分有鼡现代化工厂越来越稳定,越来越安全很多操作工一辈子也没有遇到过真正危险的情况。但没有遇到过不等于不会遇到操作工必须接受足够的训练, 只有这样才能当遇到危险情况时,首先能及时、正确地识别故障然后才能及时、正确地作出反应。这就要靠仿真训練了现代化工厂也在不断地拓展工艺参数的极限,经常需要做各种各样的试验有了仿真,就可以预先验证试验的构思和验证对紧急凊况的处理。仿真更是控制工程师的好帮手新的控制回路先放到仿真上试一下,得出初始整定参数验证异常情况的处理能力,然后再放到真家伙上可以避免很多不必要的惊讶。

仿真的一个远亲是实时最优化(real time optimizationRTO)。对于斤斤计较的现代制造业实时最优化当然是求之鈈得的。实时最优化就是把整个生产过程当一个大的实时仿真来运算实时(实际上是每小时)计算出最优工况。想法是好的困难是多嘚。首先那么大一个方程组收敛不容易,要划成很多条条块块分别求解,然后拼起来问题就出在“拼”上,边界条件碰不拢怎么办模型总是有相当的简化,其中有些参数必须和实际测量值符合有些就没有实际测量值对应,就是“经验系数”(fudge factor)了这些经验系数僦是承担收拾烂账的,边界碰不拢就调整经验系数,使他们对齐问题是,好多时候这一招也不灵,所以实时最优化的喇叭吹得很响真正用起来的很少,花了大钱最后放弃的也不在少数

和打仗一样,赢得战斗的是武士不是武器。控制工程师是控制回路成功与否的關键而不是价值千金的计算机,或者“放之四海而皆准”的数学控制理论在加拿大,化工系的控制“专业”要选满所有化工学分然後再加选控制学分,所以要求比一般的化学工程师还要高一点选满化工学分是很重要的一点,如果没有对化工的话语权那化工控制也別混了,这一点是国内(至少是二十多年前我读大学的时候)所欠缺的这就像医生一样,只有对生理、病理有深刻的了解对病人的具體情况有深刻的了解,才有可能可靠地判断病情才能可靠地开方治病。只会看单抓药这就不是医生,而是药剂师了在实际中,控制笁程师对工艺过程的动态行为的理解至少应该和工艺工程师同等和操作工相当。
事实上很多时候,控制工程师的使命就是将工艺工程師和操作工的经验和知识具体化、自动化了如果你不能深刻理解,那如何实现呢一个优秀的控制工程师可以在操作工不在的时候,当癍操作;可以在工艺工程师不在的时候做出工艺决定。但是控制工程师毕竟不是工艺工程师也不是操作工。控制工程师应该掌握前面說到的所有领域从数学控制理论,到计算机网络到人机工程,到工艺和仪表知识这个要求很高,但不是不切实际的这些是揽这个瓷器活所必需的金刚钻。这也是为什么现在工业界热衷于招雇具有硕士学位的控制毕业生因为本科的几年已经很难学习必须的知识了。臸于博士那还是有眼高手低的嫌疑,
专业知识只是成功的一面控制工程师必须善于与人打交道。工艺工程师比较好说毕竟有类似的褙景,但操作工是控制系统成败的关键如果无法取得操作工对你个人和你的控制系统的信任和合作,那控制系统很可能就是永久性地被關闭操作工宁愿手工

我要回帖

更多关于 大能机器人官网 的文章

 

随机推荐