自动控制的故事(简) 作者:晨枫 (一)控制理论的由来 有人考证古代就有自动化的实例,但现代意义上的自动控制开始于瓦特的蒸 汽机。据说纽考门比瓦特先发明蒸汽机,但是蒸汽机的转速控制问题没有解决, 弄不好转速飞升,机器损坏不说,还可能说大事故。瓦特在蒸汽机的转轴上安了 一个小棍,棍的一端和放汽阀连着,放气阀松开来就关闭,转速增加:按下去阀 就打开,转速降低:棍的另一端是一个小重锤,棍中间某个地方通过支点和转轴 连接。转轴转起来的时候,小棍由于离心力的缘故挥起来。转速太高了,小棍挥 会挥得很高,放汽阀就被按下去打开,转速下降:转速太低了,小棍挥不起来, 放汽阀就被松开来关闭,转速回升。这样,蒸汽机可以自动保持稳定的转速,即 保证安全,又方便使用。也就是因为这个小小的转速调节器,瓦特的名字和工业 革命连在一起,而纽考门的名字就要到历史书里去找了。 Fg.5. 类似的例子在机械系统里很多,家居必备的抽水马桶是另一个例子。放水冲 刷后,水箱里水位降低,浮子随水面下降,进水阀打开。随着水位的升高,进水 阀逐渐关闭,直到水位达到规定高度,进水阀完全关闭,水箱的水正好准备下一 次使用。这是一个非常简单但非常巧妙的水位控制系统,是一个经典的设计,但
自动控制的故事(简) 作者:晨枫 (一)控制理论的由来 有人考证古代就有自动化的实例,但现代意义上的自动控制开始于瓦特的蒸 汽机。据说纽考门比瓦特先发明蒸汽机,但是蒸汽机的转速控制问题没有解决, 弄不好转速飞升,机器损坏不说,还可能说大事故。瓦特在蒸汽机的转轴上安了 一个小棍,棍的一端和放汽阀连着,放气阀松开来就关闭,转速增加;按下去阀 就打开,转速降低;棍的另一端是一个小重锤,棍中间某个地方通过支点和转轴 连接。转轴转起来的时候,小棍由于离心力的缘故挥起来。转速太高了,小棍挥 会挥得很高,放汽阀就被按下去打开,转速下降;转速太低了,小棍挥不起来, 放汽阀就被松开来关闭,转速回升。这样,蒸汽机可以自动保持稳定的转速,即 保证安全,又方便使用。也就是因为这个小小的转速调节器,瓦特的名字和工业 革命连在一起,而纽考门的名字就要到历史书里去找了。 类似的例子在机械系统里很多,家居必备的抽水马桶是另一个例子。放水冲 刷后,水箱里水位降低,浮子随水面下降,进水阀打开。随着水位的升高,进水 阀逐渐关闭,直到水位达到规定高度,进水阀完全关闭,水箱的水正好准备下一 次使用。这是一个非常简单但非常巧妙的水位控制系统,是一个经典的设计,但
不容易用经典的控制理论来分析,不过这是题外话了 (二)反馈 从小大人就教我们,走路要看路。为什么呢?要是不看着路,走路走歪了也 不知道,结果就是东撞西撞的。要是看着路呢?走歪了,马上就看到,赶紧调整 脚步,走回到正道上来。这里有自动控制里的第一个重要概念:反馈(feedback)。 反馈是一个过程: 1、设定目标,对小朋友走路的例子来说,就是前进的路线。 2、测量状态,小朋友的眼睛看着路,就是在测量自己的前进方向。 3、将测量到的状态和设定的目标比较,把眼睛看到的前进方向和心里想的前进 方向作比较,判断前进方向是否正确:如果不正确,相差有多少。 4、调整行动,在心里根据实际前进方向和设定目标的偏差,决定调整的量。 5、实际执行,也就是实际挪动脚步,重回正确的前进方向。 在整个走路的过程中,这个反馈过程周而复始,不断进行,这样,小朋友就 不会走得东倒西歪了。但是,这里有一个问题:如果所有的事情都是在瞬时里同 时发生的,那这个反馈过程就无法工作。要使反馈工作,一定要有一定的反应时 间。还好,世上之事,都有一个过程,这就为反馈赢得了所需要的时间。 小时候,妈妈在锅里蒸东西,蒸好了,从锅里拿出来总是一个麻烦,需要抹 布什么的垫着,免得烫手。但是碗和锅的间隙不大,连手带抹布伸进去颇麻烦, 我常常不知天高地厚,自告奋勇地徒手把热的碗拿出来。只要动作快,手起碗落, 可以不烫手。当然喽,要是捧着热碗再东晃晃,西荡荡,那手上感觉的温度最终 会和热碗一样,肯定要把手心、手指烫熟不可的。在从接触碗到皮肤温度和碗表 面一样,这里面有一个逐渐升温的过程,这就是动态过程(dynamic process)。 这里面有两个东西要注意:一个是升温的过程有多快,另一个是最终的温度可以 升到多少。要是知道了这两个参数,同时知道自己的手可以耐受多少温度,理论 上可以计算出热的碗在手里可以停留多少时间而不至于烫手。 反馈过程也叫闭环(closed loop)过程.既然有闭环,那就有开环(open loop)。 开环就是没有反馈的控制过程,设定一个控制作用,然后就执行,不根据实际测 量值进行校正。开环控制只有对简单的过程有效,比如洗衣机和烘干机按定时控 制,到底衣服洗得怎么样,烘得干不干,完全取决于开始时的设定。对于洗衣机、 烘干机这样的问题,多设一点时间就是了,稍微浪费一点,但可以保证效果。对 于空调机,就不能不顾房间温度,简单地设一个开10分钟、关5分钟的循环
不容易用经典的控制理论来分析,不过这是题外话了. (二)反馈 从小大人就教我们,走路要看路。为什么呢?要是不看着路,走路走歪了也 不知道,结果就是东撞西撞的。要是看着路呢?走歪了,马上就看到,赶紧调整 脚步,走回到正道上来。这里有自动控制里的第一个重要概念:反馈(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度之间“晃荡”。如果环境温度一定,空调机的制冷量一定,室内的升温/降温 动态模型已知,可以计算温度“晃荡的周期。不过既然是讲故事,我们就不去费 那个事了。 OFF 27℃ 29℃ 这种开关控制看起来“土”,其实好处不少。对于大部分过程来说,开关控
而应该根据实际温度作闭环控制,否则房间里的温度天知道到底会达到多少。记 得 80 年代时,报告文学很流行。徐迟写了一个《哥德巴赫猜想》,于是全国人 民都争当科学家。小说家也争着写科学家,成就太小不行,所以来一个语不惊人 死不休,某大家写了一个《无反馈快速跟踪》。那时正在大学啃砖头,对这个科 学新发现大感兴趣,从头看到尾,也没有看明白到底是怎么无反馈快速跟踪的。 现在想想,小说就是小说,不过这无良作家也太扯,无反馈还要跟踪,不看着目 标,不看着自己跑哪了,这跟的什么踪啊,这和永动机差不多了,怎么不挑一个 好一点的题目,冷聚变什么的,至少在理论上还是可能的。题外话了。 在数学上,动态过程用微分方程描述,反馈过程就是在描述动态过程的微分方 程的输入项和输出项之间建立一个关联,这样改变了微分方程本来的性质。自动 控制就是在这个反馈和动态过程里做文章的。 (三)开关控制 房间内的空调是一个简单的控制问题。不过这只是指单一房间,整个高层大 楼所有房间的中央空调问题实际上是一个相当复杂的问题,不在这里讨论的范 围。夏天了,室内温度设在 28 度,实际温度高于 28 度了,空调机启动致冷,把 房间的温度降下来;实际温度低于 28 度了,空调机关闭,让房间温度受环境气 温自然升上去。通过这样简单的开关控制,室内温度应该就控制在 28 度。 不过这里有一个问题,如果温度高于 28 度一点点,空调机就启动;低于 28 度一点点,空调机就关闭;那如果温度传感器和空调机的开关足够灵敏的话,空 调机的开关频率可以无穷高,空调机不断地开开关关,要发神经病了,这对机器 不好,在实 际上也没有必要。解决的办法是设立一个“死区”(dead band), 温度高于 29 度时开机,低于 27 度时关机。注意不要搞反了,否则控制单元要发 神经了。有了一个死区后,室内温度不再可能严格控制在 28 度,而是在 27 到 29 度之间“晃荡”。如果环境温度一定,空调机的制冷量一定,室内的升温/降温 动态模型已知,可以计算温度“晃荡”的周期。不过既然是讲故事,我们就不去费 那个事了。 这种开关控制看起来“土”,其实好处不少。对于大部分过程来说,开关控
制的精度不高但可以保证稳定,或者说系统输出是“有界”的,也就是说实际测量 值一定会被限制在一定的范围,而不可能无限制地发散出去。这种稳定性和一般 控制理论里强调的所谓渐进稳定性不同,而是所谓BBO稳定性,前者要求输出 最终趋向设定值,后者只要求在有界的输入作用下输出是有界的,BBO指 bounded input bounded output. 对于简单的精度要求不高的过程,这种开关控制(或者称继电器控制,relay control,因为最早这种控制方式是用继电器或电磁开关来实现的)就足够了。但 是很多时候,这种“毛估估”的控制满足不了要求。汽车在高速公路上行驶,速度 设在定速巡航控制,速度飘下去几公里,心里觉得吃亏了,但要是飘上去几公里, 被警察抓下来吃一个罚单,这算谁的? 开关控制是不连续控制,控制作用一加就是“全剂量”的,一减也是“全剂 量”的,没有中间的过渡。如果空调机的制冷量有三个设定,:小、中、大,根 据室温和设定的差别来决定到底是用小还是中还是大,那室温的控制精度就可以 大大提高,换句话说,温度的“晃荡”幅度将大幅度减小。那么,如果空调机有更 多的设定,从小小到小中到到大大,那控制精度是不是更高呢?是的。既然 如此,何不用无级可调的空调机呢?那岂不可以更精确地控制室温了吗?是的。 (四)PID控制 无级可调或连续可调的空调机可以精确控制温度,但开关控制不能再用 了。家用空调机中,连续可调的不占多数,但冲热水淋浴是一个典型的连续控制 问题,因为水龙头可以连续调节水的流量。冲淋浴时,假定冷水龙头不变,只调 节热水。那温度高了,热水关小一点:温度低了,热水开打一点。换句话说,控 制作用应该向减少控制偏差的方向变化,也就是所谓负负反馈。控制方向对了, 还有一个控制量的问题。温度高了1度,热水该关小多少呢? 经验告诉我们,根据具体的龙头和水压,温度高1度,热水需要关小一定的 量,比如说,关小一格。换句话说,控制量和控制偏差成比例关系,这就是经典 的比例控制规律:控制量=比例控制增益*控制偏差,偏差越大,控制量越大。控 制偏差就是实际测量值和设定值或目标值之差。在比例控制规律下,偏差反向, 控制量也反向。也就是说,如果淋浴水温要求为40度,实际水温高于40度时, 热水龙头向关闭的方向变化:实际水温低于40度时,热水龙头向开启的方向变 化。 但是比例控制规律并不能保证水温能够精确达到40度。在实际生活中,人
制的精度不高但可以保证稳定,或者说系统输出是“有界”的,也就是说实际测量 值一定会被限制在一定的范围,而不可能无限制地发散出去。这种稳定性和一般 控制理论里强调的所谓渐进稳定性不同,而是所谓 BIBO 稳定性,前者要求输出 最终趋向设定值,后者只要求在有界的输入作用下输出是有界的,BIBO 指 bounded input bounded output。 对于简单的精度要求不高的过程,这种开关控制(或者称继电器控制,relay control,因为最早这种控制方式是用继电器或电磁开关来实现的)就足够了。但 是很多时候,这种“毛估估”的控制满足不了要求。汽车在高速公路上行驶,速度 设在定速巡航控制,速度飘下去几公里,心里觉得吃亏了,但要是飘上去几公里, 被警察抓下来吃一个罚单,这算谁的? 开关控制是不连续控制,控制作用一加就是“全剂量”的,一减也是“全剂 量”的,没有中间的过渡。如果空调机的制冷量有三个设定,:小、中、大,根 据室温和设定的差别来决定到底是用小还是中还是大,那室温的控制精度就可以 大大提高,换句话说,温度的“晃荡”幅度将大幅度减小。那么,如果空调机有更 多的设定,从小小到小中到……到大大,那控制精度是不是更高呢?是的。既然 如此,何不用无级可调的空调机呢?那岂不可以更精确地控制室温了吗?是的。 (四)PID 控制 无级可调或连续可调的空调机可以精确控制温度,但开关控制不能再用 了。家用空调机中,连续可调的不占多数,但冲热水淋浴是一个典型的连续控制 问题,因为水龙头可以连续调节水的流量。冲淋浴时,假定冷水龙头不变,只调 节热水。那温度高了,热水关小一点;温度低了,热水开打一点。换句话说,控 制作用应该向减少控制偏差的方向变化,也就是所谓负负反馈。控制方向对了, 还有一个控制量的问题。温度高了 1 度,热水该关小多少呢? 经验告诉我们,根据具体的龙头和水压,温度高 1 度,热水需要关小一定的 量,比如说,关小一格。换句话说,控制量和控制偏差成比例关系,这就是经典 的比例控制规律:控制量=比例控制增益*控制偏差,偏差越大,控制量越大。控 制偏差就是实际测量值和设定值或目标值之差。在比例控制规律下,偏差反向, 控制量也反向。也就是说,如果淋浴水温要求为 40 度,实际水温高于 40 度时, 热水龙头向关闭的方向变化;实际水温低于 40 度时,热水龙头向开启的方向变 化。 但是比例控制规律并不能保证水温能够精确达到 40 度。在实际生活中,人
们这时对热水龙头作微调,只要水温还不合适,就一点一点地调节,直到水温合 适为止。这种只要控制偏差不消失就渐进微调的控制规律,在控制里叫积分控制 规律,因为控制量和控制偏差在时间上的累积成正比,其比例因子就称为积分控 制增益。工业上常用积分控制增益的倒数,称其为积分时间常数,其物理意义是 偏差恒定时,控制量加倍所需的时间。这里要注意的是,控制偏差有正有负,全 看实际测量值是大于还是小于设定值,所以只要控制系统是稳定的,也就是实际 测量值最终会稳定在设定值上,控制偏差的累积不会是无穷大的。这里再啰嗦一 遍,积分控制的基本作用是消除控制偏差的余差(也叫残差)。 比例和积分控制规律可以应付很大一类控制问题,但不是没有改进余地的。 如果水管水温快速变化,人们会根据水温的变化调节热水龙头:水温升高,热水 龙头向关闭方向变化,升温越快,开启越多:水温降低,热水龙头向开启方向变 化,降温越快,关闭越多。这就是所谓的微分控制规律,因为控制量和实际测量 值的变化率成正比,其比例因子就称为比例控制增益,工业上也称微分时间常数。 微分时间常数没有太特定的物理意义,只是积分叫时间常数,微分也跟着叫了。 微分控制的重点不在实际测量值的具体数值,而在其变化方向和变化速度。微分 控制在理论上和实用中有很多优越性,但局限也是明显的。如果测量信号不是很 “干净”,时不时有那么一点不大不小的“毛刺”或扰动,微分控制就会被这些风吹 草动搞得方寸大乱,产生很多不必要甚至错误的控制信号。所以工业上对微分控 制的使用是很谨慎的。 比例环节 始定e(0 u( 被控对象 At) ·CX0 分环节 微分环节 图1P控制系统原理框图 比例积分微分控制规律是工业上最常用的控制规律。人们一般根据比例- 积分微分的英文缩写,将其简称为PD控制。即使在更为先进的控制规律广泛 应用的今天,各种形式的PD控制仍然在所有控制回路中占85%以上
们这时对热水龙头作微调,只要水温还不合适,就一点一点地调节,直到水温合 适为止。这种只要控制偏差不消失就渐进微调的控制规律,在控制里叫积分控制 规律,因为控制量和控制偏差在时间上的累积成正比,其比例因子就称为积分控 制增益。工业上常用积分控制增益的倒数,称其为积分时间常数,其物理意义是 偏差恒定时,控制量加倍所需的时间。这里要注意的是,控制偏差有正有负,全 看实际测量值是大于还是小于设定值,所以只要控制系统是稳定的,也就是实际 测量值最终会稳定在设定值上,控制偏差的累积不会是无穷大的。这里再啰嗦一 遍,积分控制的基本作用是消除控制偏差的余差(也叫残差)。 比例和积分控制规律可以应付很大一类控制问题,但不是没有改进余地的。 如果水管水温快速变化,人们会根据水温的变化调节热水龙头:水温升高,热水 龙头向关闭方向变化,升温越快,开启越多;水温降低,热水龙头向开启方向变 化,降温越快,关闭越多。这就是所谓的微分控制规律,因为控制量和实际测量 值的变化率成正比,其比例因子就称为比例控制增益,工业上也称微分时间常数。 微分时间常数没有太特定的物理意义,只是积分叫时间常数,微分也跟着叫了。 微分控制的重点不在实际测量值的具体数值,而在其变化方向和变化速度。微分 控制在理论上和实用中有很多优越性,但局限也是明显的。如果测量信号不是很 “干净”,时不时有那么一点不大不小的“毛刺”或扰动,微分控制就会被这些风吹 草动搞得方寸大乱,产生很多不必要甚至错误的控制信号。所以工业上对微分控 制的使用是很谨慎的。 比例-积分-微分控制规律是工业上最常用的控制规律。人们一般根据比例- 积分-微分的英文缩写,将其简称为 PID 控制。即使在更为先进的控制规律广泛 应用的今天,各种形式的 PID 控制仍然在所有控制回路中占 85%以上
(五)稳定性和参数整定 在PID控制中,积分控制的特点是:只要还有余差(即残余的控制偏差) 存在,积分控制就按部就班地逐渐增加控制作用,直到余差消失。所以积分的 效果比较缓慢,除特殊情况外,作为基本控制作用,缓不救急。微分控制的特 点是:尽管实际测量值还比设定值低,但其快速上扬的冲势需要及早加以抑制, 否则,等到实际值超过设定值再作反应就晚了,这就是微分控制施展身手的地 方了。作为基本控制使用,微分控制只看趋势,不看具体数值所在,所以最理 想的情况也就是把实际值稳定下来,但稳定在什么地方就要看你的运气了,所 以微分控制也不能作为基本控制作用。比例控制没有这些问题,比例控制的反 应快,稳定性好,是最基本的控制作用,是“皮”,积分、微分控制是对比例 控制起增强作用的,极少单独使用,所以是“毛”。在实际使用中比例和积分 一般一起使用,比例承担主要的控制作用,积分帮助消除余差。微分只有在被 控对象反应迟缓,需要在开始有所反应时,及早补偿,才予以采用。只用比例 和微分的情况很少见。 连续控制的精度是开关控制所不可比拟的,但连续控制的高精度也是有代 价的,这就是稳定性问题。控制增益决定了控制作用对偏差的灵敏度。既然增 益决定了控制的灵敏度,那么越灵敏岂不越好?非也。还是用汽车的定速巡航 控制做例子。速度低一点,油门加一点,速度低更多,油门加更多,速度高上 去当然就反过来。但是如果速度低一点,油门就加很多,速度更低,油门狂加, 这样速度不但不能稳定在要求的设定值上,还可能失控。这就是不稳定。所以 控制增益的设定是有讲究的。在生活中也有类似的例子。国民经济过热,需要 经济调整,但调整过火,就要造成“硬着陆”,引起衰退:衰退时需要刺激,同 样,刺激过火,会造成“虚假繁荣”。要达成“软着陆”,经济调整的措施需要恰 到好处。这也是一个经济动态系统的稳定性问题。 实际中到底多少增益才是最合适的,理论上有很多计算方法,但实用中 一般是靠经验和调试来摸索最佳增益,业内行话叫参数整定。如果系统响应在 控制作用后面拖拖沓沓,大幅度振荡的话,那一般是积分太过:如果系统响应 非常神经质,动不动就打摆子,呈现高频小幅度振荡的话,那一般是微分有点 过分。中频振荡当然就是比例的问题了。不过各个系统的频率都是不一样的
(五)稳定性和参数整定 在 PID 控制中,积分控制的特点是:只要还有余差(即残余的控制偏差) 存在,积分控制就按部就班地逐渐增加控制作用,直到余差消失。所以积分的 效果比较缓慢,除特殊情况外,作为基本控制作用,缓不救急。微分控制的特 点是:尽管实际测量值还比设定值低,但其快速上扬的冲势需要及早加以抑制, 否则,等到实际值超过设定值再作反应就晚了,这就是微分控制施展身手的地 方了。作为基本控制使用,微分控制只看趋势,不看具体数值所在,所以最理 想的情况也就是把实际值稳定下来,但稳定在什么地方就要看你的运气了,所 以微分控制也不能作为基本控制作用。比例控制没有这些问题,比例控制的反 应快,稳定性好,是最基本的控制作用,是“皮”,积分、微分控制是对比例 控制起增强作用的,极少单独使用,所以是“毛”。在实际使用中比例和积分 一般一起使用,比例承担主要的控制作用,积分帮助消除余差。微分只有在被 控对象反应迟缓,需要在开始有所反应时,及早补偿,才予以采用。只用比例 和微分的情况很少见。 连续控制的精度是开关控制所不可比拟的,但连续控制的高精度也是有代 价的,这就是稳定性问题。控制增益决定了控制作用对偏差的灵敏度。既然增 益决定了控制的灵敏度,那么越灵敏岂不越好?非也。还是用汽车的定速巡航 控制做例子。速度低一点,油门加一点,速度低更多,油门加更多,速度高上 去当然就反过来。但是如果速度低一点,油门就加很多,速度更低,油门狂加, 这样速度不但不能稳定在要求的设定值上,还可能失控。这就是不稳定。所以 控制增益的设定是有讲究的。在生活中也有类似的例子。国民经济过热,需要 经济调整,但调整过火,就要造成“硬着陆”,引起衰退;衰退时需要刺激,同 样,刺激过火,会造成“虚假繁荣”。要达成“软着陆”,经济调整的措施需要恰 到好处。这也是一个经济动态系统的稳定性问题。 实际中到底多少增益才是最合适的,理论上有很多计算方法,但实用中 一般是靠经验和调试来摸索最佳增益,业内行话叫参数整定。如果系统响应在 控制作用后面拖拖沓沓,大幅度振荡的话,那一般是积分太过;如果系统响应 非常神经质,动不动就打摆子,呈现高频小幅度振荡的话,那一般是微分有点 过分。中频振荡当然就是比例的问题了。不过各个系统的频率都是不一样的
到底什么算高频,什么算低频,这个几句话说不清楚,应了毛主席那句话:“具 体情况具体分析”,所以就打一个哈哈了。 再具体说起来,参数整定有两个路子。一是首先调试比例增益以保证基本 的稳定性,然后加必要的积分以消除余差,只有在最必要的情况下,比如反映 迟缓的温度过程或容量极大的液位过程,测量噪声很低,才加一点微分。这是 “学院派的路子,在大部分情况下很有效。但是工业界有一个歪路子”:用非 常小的比例作用,但大大强化积分作用。这个方法是完全违背控制理论的分析 的,但在实际中却是行之有效,原因在于测量噪声严重,或系统反应过敏时, 积分为主的控制规律动作比较缓和,不易激励出不稳定的因素,尤其是不确定 性比较高的高频部分,这也是邓小平“稳定压倒一切”的初衷吧。 在很多情况下,在初始PD参数整定之后,只要系统没有出现不稳定或性 能显著退化,一般不会去重新整定。但是要是系统不稳定了怎么办呢?由于大部 分实际系统都是开环稳定的,也就是说,只要控制作用恒定不变,系统响应最终 应该稳定在一个数值,尽管可能不是设定值,所以对付不稳定的第一个动作都是 把比例增益减小,根据实际情况,减小1/3、12甚至更多,同时加大积分时间常 数,常常成倍地加,再就是减小甚至取消微分控制作用。如果有前馈控制,适当 减小前馈增益也是有用的。在实际中,系统性能不会莫名其妙地突然变坏,上述 “救火”式重新整定常常是临时性的,等生产过程中的机械或原料问题消除后,参 数还是要设回原来的数值,否则系统性能会太过“懒散”。 对于新工厂,系统还没有投运,没法根据实际响应来整定,一般先估计一个 初始参数,在系统投运的过程中,对控制回路逐个整定。我自己的经验是,对于 一般的流量回路,比例定在0.5左右,积分大约1分钟,微分为0,这个组合一 般不致于一上来就出大问题。温度回路可以从2、5、0.05开始,液位回路从5、 10、0开始,气相压力回路从10、20、0开始。既然这些都是凭经验的估计,那 当然要具体情况具体分析,不可能“放之四海而皆准”。 微分一般用于反应迟缓的系统,但是事情总有一些例外。我就遇到过一个小 小的冷凝液罐,直径才两英尺,长不过5英尺,但是流量倒要8-12吨/小时,一 有风吹草动,液位变化非常迅速,不管比例、积分怎么调,液位很难稳定下来
到底什么算高频,什么算低频,这个几句话说不清楚,应了毛主席那句话:“具 体情况具体分析”,所以就打一个哈哈了。 再具体说起来,参数整定有两个路子。一是首先调试比例增益以保证基本 的稳定性,然后加必要的积分以消除余差,只有在最必要的情况下,比如反映 迟缓的温度过程或容量极大的液位过程,测量噪声很低,才加一点微分。这是 “学院派”的路子,在大部分情况下很有效。但是工业界有一个“歪路子”:用非 常小的比例作用,但大大强化积分作用。这个方法是完全违背控制理论的分析 的,但在实际中却是行之有效,原因在于测量噪声严重,或系统反应过敏时, 积分为主的控制规律动作比较缓和,不易激励出不稳定的因素,尤其是不确定 性比较高的高频部分,这也是邓小平“稳定压倒一切”的初衷吧。 在很多情况下,在初始 PID 参数整定之后,只要系统没有出现不稳定或性 能显著退化,一般不会去重新整定。但是要是系统不稳定了怎么办呢?由于大部 分实际系统都是开环稳定的,也就是说,只要控制作用恒定不变,系统响应最终 应该稳定在一个数值,尽管可能不是设定值,所以对付不稳定的第一个动作都是 把比例增益减小,根据实际情况,减小 1/3、1/2 甚至更多,同时加大积分时间常 数,常常成倍地加,再就是减小甚至取消微分控制作用。如果有前馈控制,适当 减小前馈增益也是有用的。在实际中,系统性能不会莫名其妙地突然变坏,上述 “救火”式重新整定常常是临时性的,等生产过程中的机械或原料问题消除后,参 数还是要设回原来的数值,否则系统性能会太过“懒散”。 对于新工厂,系统还没有投运,没法根据实际响应来整定,一般先估计一个 初始参数,在系统投运的过程中,对控制回路逐个整定。我自己的经验是,对于 一般的流量回路,比例定在 0.5 左右,积分大约 1 分钟,微分为 0,这个组合一 般不致于一上来就出大问题。温度回路可以从 2、5、0.05 开始,液位回路从 5、 10、0 开始,气相压力回路从 10、20、0 开始。既然这些都是凭经验的估计,那 当然要具体情况具体分析,不可能“放之四海而皆准”。 微分一般用于反应迟缓的系统,但是事情总有一些例外。我就遇到过一个小 小的冷凝液罐,直径才两英尺,长不过 5 英尺,但是流量倒要 8-12 吨/小时,一 有风吹草动,液位变化非常迅速,不管比例、积分怎么调,液位很难稳定下来
常常是控制阀刚开始反应,液位已经到顶或到底了。最后加了0.05的微分,液 位一开始变化,控制阀就开始抑制,反而稳定下来了。这和常规的参数整定的路 子背道而驰,但在这个情况下,反而是唯一”的选择,因为测量值和控制阀的饱 和变成稳定性主要的问题了。 (六)系统稳定性分析 对工业界以积分为主导控制作用的做法再啰嗦几句。学术上,控制的稳定性 基本就是渐近稳定性,BBO稳定性是没有办法证明渐近稳定性时的退而求其 次”的东西,不怎么上台面的。但是工业界里的稳定性有两个看起来相似、实质 上不尽相同的方面:一个当然是渐近稳定性,另一个则是稳定性,但不一定向设 定值收敛,或者说稳定性比收敛性优先这样一个情况。具体来说,就是需要系统 稳定在一个值上,不要动来动去,但是不是在设定值并不是太重要,只要不是太 离谱就行。例子有很多,比如反应器的压力是一个重要参数,反应器不稳定,原 料进料比例就乱套,催化剂进料也不稳定,反应就不稳定,但是反应器的压力到 底是10个大气压还是12个大气压,并没有太大的关系,只要慢慢地但是稳定地 向设定值移动就足够了。这是控制理论里比较少涉及的一个情况,这也是工业上 时常采用积分主导的控制的一个重要原因。 前面说到系统的频率,本来也就是系统响应持续振荡时的频率,但是控制领 域里有三拨人在捣腾:一拨是以机电类动力学系统为特色的电工出身,包括航空、 机器人等,一拨是以连续过程为特色的化工出身的,包治金、造纸等,还有一拨 是以微分方程稳定性为特色的应用数学出身的。在瓦特和抽水马桶的年代里,各 打各的山头,井水不犯河水,倒也太平。但控制从艺术上升为理论后,总有人喜 欢“统一”,电工帮抢了先,好端端的控制理论里被塞进了电工里的频率。童子们 哪,那哪是频率啊,那是复频率。既然那些变态的电工帮(啊耶,这下鹿踹真的 要来了)能折腾出虚功率,那他们也能折腾出复频率来,他们自虐倒也算了,只 是苦了我等无辜之众,被迫受此精神折磨。 事情的缘由是系统的稳定性。前面提到,PD的参数如果设得不好,系统可 能不稳定。除了摸索,有没有办法从理论上计算出合适的PD参数呢?前面也 提到,动态过程可以用微分方程描述,其实在PD的阶段,这只是微分方程中
常常是控制阀刚开始反应,液位已经到顶或到底了。最后加了 0.05 的微分,液 位一开始变化,控制阀就开始抑制,反而稳定下来了。这和常规的参数整定的路 子背道而驰,但在这个情况下,反而是“唯一”的选择,因为测量值和控制阀的饱 和变成稳定性主要的问题了。 (六)系统稳定性分析 对工业界以积分为主导控制作用的做法再啰嗦几句。学术上,控制的稳定性 基本就是渐近稳定性,BIBO 稳定性是没有办法证明渐近稳定性时的“退而求其 次”的东西,不怎么上台面的。但是工业界里的稳定性有两个看起来相似、实质 上不尽相同的方面:一个当然是渐近稳定性,另一个则是稳定性,但不一定向设 定值收敛,或者说稳定性比收敛性优先这样一个情况。具体来说,就是需要系统 稳定在一个值上,不要动来动去,但是不是在设定值并不是太重要,只要不是太 离谱就行。例子有很多,比如反应器的压力是一个重要参数,反应器不稳定,原 料进料比例就乱套,催化剂进料也不稳定,反应就不稳定,但是反应器的压力到 底是 10 个大气压还是 12 个大气压,并没有太大的关系,只要慢慢地但是稳定地 向设定值移动就足够了。这是控制理论里比较少涉及的一个情况,这也是工业上 时常采用积分主导的控制的一个重要原因。 前面说到系统的频率,本来也就是系统响应持续振荡时的频率,但是控制领 域里有三拨人在捣腾:一拨是以机电类动力学系统为特色的电工出身,包括航空、 机器人等,一拨是以连续过程为特色的化工出身的,包冶金、造纸等,还有一拨 是以微分方程稳定性为特色的应用数学出身的。在瓦特和抽水马桶的年代里,各 打各的山头,井水不犯河水,倒也太平。但控制从艺术上升为理论后,总有人喜 欢“统一”,电工帮抢了先,好端端的控制理论里被塞进了电工里的频率。童子们 哪,那哪是频率啊,那是复频率。既然那些变态的电工帮(啊耶,这下鹿踹真的 要来了)能折腾出虚功率,那他们也能折腾出复频率来,他们自虐倒也算了,只 是苦了我等无辜之众,被迫受此精神折磨。 事情的缘由是系统的稳定性。前面提到,PID 的参数如果设得不好,系统可 能不稳定。除了摸索,有没有办法从理论上计算出合适的 PID 参数呢?前面也 提到,动态过程可以用微分方程描述,其实在 PID 的阶段,这只是微分方程中
很狭窄的一支:单变量线性常微分方程。要是还记得大一高数,一定还记得线形 常微的解,除了分离变量法什么的,如果自变量时间用t表示的话,最常用的求 解还是把xp(Ot)代入微分方程,然后解已经变成入的代数方程的特征方程,解出 来的解可以是实数,也可以是复数,是复数的话,就要用三角函数展开了(怎么 样,大一噩梦的感觉找回来一点没有?)。只要实根为负,那微分方程就是稳定 的,因为负的指数项最终向零收敛,复根到底多少就无所谓了,对稳定性没有影 响。但是,这么求解分析起来还是不容易,还是超不出“具体情况具体分析”,难 以得出一般的结论。 法国人以好色、好吃出名,但是他们食色性也之后,还不老实,其中一个 叫拉普拉斯的家伙,捣鼓出什么拉普拉斯变换,把常微分方程变成s的多项式。 然后那帮电工的家伙们,喜欢自虐,往s里塞jo,就是那个复频率,整出一个变 态的频率分析,用来分析系统的稳定性。不过说变态,也不完全公平,在没有计 算机的年代,各种图表是最有效的分析方法,还美其名曰“几何分析”。频率分析 也不例外。美国佬Evans搞出一个根轨迹(root locus),思路倒是满有意思的。 他用增益作自变量,将系统的根(不管实的虚的)在复平面上画出轨迹来,要是 轨迹在左半平面打转转,那就是实根为负,就是稳定的。再深究下去,系统响应 的临界频率之类也可以计算出来。最大的好处是,对于常见的系统,可以给出一 套作图规则来,熟练的大牛、小牛、公牛、母牛们,眼睛一瞄,随手就可以画出 根轨迹来,然后就可以告诉你,增益变化多多少,系统开始振荡,再增加多少, 系统会不稳定,云云。 根轨迹还是比较客气的,还有更变态的奈奎斯特、伯德和尼科尔斯法,想想 脑子都大。都是叫那帮电工分子害的。时至今日,计算机分析已经很普及了,但 是古典的图示分析还是有经久不衰的魅力,就是因为图示分析不光告诉你系统是 稳定还是不稳定,以及其他一些动态响应的参数,图示分析还可以定性地告诉你 增益变化甚至系统参数变化引起的闭环性能变化。咦,刚才还不是在说人家变态 吗?呃,变态也有变态的魅力不是?哈哈。 (七)一些“变态”的PID理论 以频率分析(也称频域分析)为特色的控制理论称为经典控制理论。经典控 制理论可以把系统的稳定性分析得天花乱坠,但有两个前提:一、要已知被控对
很狭窄的一支:单变量线性常微分方程。要是还记得大一高数,一定还记得线形 常微的解,除了分离变量法什么的,如果自变量时间用 t 表示的话,最常用的求 解还是把 exp(λt)代入微分方程,然后解已经变成 λ 的代数方程的特征方程,解出 来的解可以是实数,也可以是复数,是复数的话,就要用三角函数展开了(怎么 样,大一噩梦的感觉找回来一点没有?)。只要实根为负,那微分方程就是稳定 的,因为负的指数项最终向零收敛,复根到底多少就无所谓了,对稳定性没有影 响。但是,这么求解分析起来还是不容易,还是超不出“具体情况具体分析”,难 以得出一般的结论。 法国人以好色、好吃出名,但是他们食色性也之后,还不老实,其中一个 叫拉普拉斯的家伙,捣鼓出什么拉普拉斯变换,把常微分方程变成 s 的多项式。 然后那帮电工的家伙们,喜欢自虐,往 s 里塞 jω,就是那个复频率,整出一个变 态的频率分析,用来分析系统的稳定性。不过说变态,也不完全公平,在没有计 算机的年代,各种图表是最有效的分析方法,还美其名曰“几何分析”。频率分析 也不例外。美国佬 Evans 搞出一个根轨迹(root locus),思路倒是满有意思的。 他用增益作自变量,将系统的根(不管实的虚的)在复平面上画出轨迹来,要是 轨迹在左半平面打转转,那就是实根为负,就是稳定的。再深究下去,系统响应 的临界频率之类也可以计算出来。最大的好处是,对于常见的系统,可以给出一 套作图规则来,熟练的大牛、小牛、公牛、母牛们,眼睛一瞄,随手就可以画出 根轨迹来,然后就可以告诉你,增益变化多多少,系统开始振荡,再增加多少, 系统会不稳定,云云。 根轨迹还是比较客气的,还有更变态的奈奎斯特、伯德和尼科尔斯法,想想 脑子都大。都是叫那帮电工分子害的。时至今日,计算机分析已经很普及了,但 是古典的图示分析还是有经久不衰的魅力,就是因为图示分析不光告诉你系统是 稳定还是不稳定,以及其他一些动态响应的参数,图示分析还可以定性地告诉你 增益变化甚至系统参数变化引起的闭环性能变化。咦,刚才还不是在说人家变态 吗?呃,变态也有变态的魅力不是?哈哈。 (七)一些“变态”的 PID 理论 以频率分析(也称频域分析)为特色的控制理论称为经典控制理论。经典控 制理论可以把系统的稳定性分析得天花乱坠,但有两个前提:一、要已知被控对
象的数学模型,这在实际中不容易得到:二、被控对象的数学模型不会改变或漂 移,这在实际中更难做到。对简单过程建立微分方程是可能的,但简单过程的控 制不麻烦,经验法参数整定就搞定了,不需要费那个麻烦,而真正需要理论计算 帮忙的回路,建立模型太困难,或者模型本身的不确定性很高,使得理论分析失 去意义。经典控制理论在机械、航空、电机中还是有成功的应用,毕竟从F=ma 处罚,可以建立“所有”的机械系统的动力学模型,铁疙瘩的重量又不会莫名其妙 地改变,主要环境参数都可以测量,但是经典控制理论至少在化工控制中实用成 功的例子实在是凤毛麟角,给你一个50块塔板的精馏塔,一个气相进料,一个 液相进料,塔顶、塔底出料加一个侧线出料,塔顶风冷冷凝器,塔底再沸器加一 个中间再沸器,你就慢慢建模去吧,等九牛二虎把模型建立起来了,风冷冷凝器 受风霜雨雪的影响,再沸器的高压蒸汽的压力受友邻装置的影响,气相进料的温 度和饱和度受上游装置的影响而改变,液相进料的混合组分受上游装置的影响而 改变,但组分无法及时测量(在线气相色谱分析结果要45分钟才能出来),动 态特性全变了。 老家伙歌德两百年前就说了,理论是灰色的,生命之树常青。我们知道马鹿喜欢 金光的或者银光的,至少也要红的,不过只好将就啦,青绿地干活。在实用中, PD有很多表兄弟,帮着大表哥一块打天下。 比例控制的特点是:偏差大,控制作用就大。但在实际中有时还嫌不够,最好偏 差大的时候,比例增益也大,进一步加强对大偏差的矫正作用,及早把系统拉回 到设定值附近;偏差小的时候,当然就不用那么急吼吼,慢慢来就行,所以增益 小一点,加强稳定性。这就是双增益PD(也叫双模式PID)的起源。 想想也对,高射炮瞄准敌机是一个控制问题。如果炮管还指向离目标很远的 角度,那应该先尽快地把炮管转到目标角度附近,动作猛一点才好:但炮管指向 已经目标很近了,就要再慢慢地精细瞄准。工业上也有很多类似的问题。双增益 PID的一个特例是死区PID(PID with dead band),小偏差时的增益为零,也就 是说,测量值和设定值相差不大的时候,就随他去,不用控制。这在大型缓冲容 器的液位控制里用得很多。本来缓冲容器就是缓冲流量变化的,液位到底控制在
象的数学模型,这在实际中不容易得到;二、被控对象的数学模型不会改变或漂 移,这在实际中更难做到。对简单过程建立微分方程是可能的,但简单过程的控 制不麻烦,经验法参数整定就搞定了,不需要费那个麻烦,而真正需要理论计算 帮忙的回路,建立模型太困难,或者模型本身的不确定性很高,使得理论分析失 去意义。经典控制理论在机械、航空、电机中还是有成功的应用,毕竟从 F=ma 处罚,可以建立“所有”的机械系统的动力学模型,铁疙瘩的重量又不会莫名其妙 地改变,主要环境参数都可以测量,但是经典控制理论至少在化工控制中实用成 功的例子实在是凤毛麟角,给你一个 50 块塔板的精馏塔,一个气相进料,一个 液相进料,塔顶、塔底出料加一个侧线出料,塔顶风冷冷凝器,塔底再沸器加一 个中间再沸器,你就慢慢建模去吧,等九牛二虎把模型建立起来了,风冷冷凝器 受风霜雨雪的影响,再沸器的高压蒸汽的压力受友邻装置的影响,气相进料的温 度和饱和度受上游装置的影响而改变,液相进料的混合组分受上游装置的影响而 改变,但组分无法及时测量(在线气相色谱分析结果要 45 分钟才能出来),动 态特性全变了。 老家伙歌德两百年前就说了,理论是灰色的,生命之树常青。我们知道马鹿喜欢 金光的或者银光的,至少也要红的,不过只好将就啦,青绿地干活。在实用中, PID 有很多表兄弟,帮着大表哥一块打天下。 比例控制的特点是:偏差大,控制作用就大。但在实际中有时还嫌不够,最好偏 差大的时候,比例增益也大,进一步加强对大偏差的矫正作用,及早把系统拉回 到设定值附近;偏差小的时候,当然就不用那么急吼吼,慢慢来就行,所以增益 小一点,加强稳定性。这就是双增益 PID(也叫双模式 PID)的起源。 想想也对,高射炮瞄准敌机是一个控制问题。如果炮管还指向离目标很远的 角度,那应该先尽快地把炮管转到目标角度附近,动作猛一点才好;但炮管指向 已经目标很近了,就要再慢慢地精细瞄准。工业上也有很多类似的问题。双增益 PID 的一个特例是死区 PID(PID with dead band),小偏差时的增益为零,也就 是说,测量值和设定值相差不大的时候,就随他去,不用控制。这在大型缓冲容 器的液位控制里用得很多。本来缓冲容器就是缓冲流量变化的,液位到底控制在