大话现代控制理论之离散控制篇

2021/6/25 15:43:02 人评论 次浏览 分类:过程控制  文章地址:http://yunrun.com.cn/tech/3853.html

大家要想成为过程控制的高手,总少不了去学习控制理论,昌晖仪表网技术文库栏目以大话形式推出一系列介绍控制理论的文章,分别介绍线性控制、最优控制、离散控制模型与辨识、自适应控制模型预估控制方面的内容。

都说瓦特的蒸汽机后,计算机是影响人类进程最大的发明,计算机当
然也对自动控制带来了深刻的影响。前面说到,控制理论基本上都是围绕着微分方程转的,所以在“本质”上是连续的。但是数字计算机是离散的,也就是说,数字控制系统的眼睛不是一直盯着被控对象看的,而是一眨一眨的,只是眨得飞快而已。数字控制系统的“手脚”也不是一刻不停地连续动作的,而是一顿一顿的,这是数字计算机的天性使然。只是数字计算机的眨眼和顿挫非常短暂,在实际上和连续动作无异。不过在数学上,这眨眼和顿挫带来很多有趣、有用的性质。

冯·诺依曼奠定现代计算机理论基础时,最关键的法宝就是二进制。
二进制可以用0和1表述所有数值数据,同时还可以表示“是”“非”或者“好”“坏”这样的逻辑数据,有机地把数值计算和逻辑判断整合在同一个运算框架下,这是现代计算机无限神通的理论基础。0和1的计算还可以用逻辑电路(各种门电路,如与门、非门、或门等)实现,这是现代数字计算机的物理基础。但这也带来了新的问题:数字计算机在本质上是断续(数学上称为离散)的,尽管间隙非常短暂。这样,传统的控制理论需要全部“翻译”到离散时间领域,微分方程变成了差分方程,所有方法、结论都有了连续、离散两套,不尽相同,但是对线性系统来说都大同小异。

要是数字控制就是简单的连续系统离散化,计算机控制也就没有什么
了不起了。但差分方程用清晰标定的时刻之间的关系来描述动态过程,这给离散控制带来了一些连续控制所不可能具备的新特点。回到洗热水澡的例子,如果热水龙头不在跟前,而是在村头的小锅炉房里,你不能霸着电话线煲电话粥,只能每分钟用电话遥控一次,那水温或许可以表示为

下一分钟水温=0.7×现在水温+0.2×上一分钟水温+0.1×再上一分钟水温+0.4×(5min前锅炉房水龙头开度-6min前锅炉房水龙头开度)

显然,下一分钟的水温受现在水温的影响比上一分钟水温的影响要大,
受上一分钟的水温影响比再上一分钟水温的影响更大。不考虑管路散热的话,锅炉房水龙头开度要是不变,再过上几分钟,下一分钟的水温应该和现在的水温一样了。事实上,上一分钟和再上一分钟的水温也一样了。为什么用5min前锅炉房的水龙头开度呢?那是因为热水从村头的锅炉房流到洗澡房需要5min时间,这个时间就是滞后。

在连续时间域里,滞后是一个很难处理的事情。反馈控制是根据当前
测量值做出反应的。过程滞后意味着当前的测量值实际上是滞后时间之前控制动作的结果,如果盲目地用当前的控制动作试图影响下一步的过程,就会出问题。以村头锅炉房为例,现在感觉水凉了,这是5min前热水不足的结果,要是现在加大热水,至少要5min后才显示出结果。要时刻记住这个时间差。要是不考虑这个滞后,性急地不断加大热水,5min后水就要太烫了。但连续控制律在设计和实施中都不容易考虑这5min的滞后问题,在离散时间域里,这个问题就好解决了。

还是用要是上述离散模型:


未来第6min水温=0.7×未来第5min水温+0.2×未来第4min水温+0.1×
未来第3min水温+0.4×(当前锅炉房水龙头开度-1min 前锅炉房水龙头开度)
未来第5min水温=0.7×未来第4min水温+0.2×未来第3min水温+0.1×未来第2min水温+0.4×(1min前锅炉房水龙头开度-2min前锅炉房水龙头开度)
未来第4min水温=0.7×未来第3min水温+0.2×未来第2min水温+0.1×未来1min水温+0.4×(2min前锅炉房水龙头开度-3min前锅炉房水龙头开度)
......
未来1min 水温=0.7×当前水温+0.2×1min 前水温+0.1×2min 前水温+0.4×(5min前锅炉房水龙头开度-6min前锅炉房水龙头开度)

依次迭代进去,就可以得出未来第6min水温与当前和过去的水温及锅
炉房水龙头开度的关系。当前与过去的水温和过去的锅炉房水龙头开度是已知的,把预估第6min的水温定为要求的温度,也就是设定值,就可以此为基础,解算当前所需的锅炉房水龙头开度,这就是以模型为基础的预估控制器(Model Predictive Control)的基本设计思路。

离散模型的预估作用是非常重要的特质,所有预报模型都是建立在离
散模型的这个预估能力上的,无论是天气预报,还是经济预测,还是自动控制里对有滞后过程的控制。

数字控制的另一特质是可以实施一些不可能在连续时间实现的控制规
律。航天飞机的末段速度控制很重要,在着陆进近时,速度变化超过预定要求达到 20km/h以上的话,就可能会对着陆接地造成问题,不是冲出跑道终点,就是还没有到达跑道起点就触地。航天飞机是无动力滑翔着陆,是一锤子买卖,不能出差错,必须精细控制。但在再入大气层初期,速度控制也很重要,太快了要造成过度气动加热,或者导致着陆速度太高造成危险;太慢了当然也不行,飞不到着陆跑道就坏事了,航天飞机可不是什么地方都能着陆的。但是在速度高达25马赫的再入大气层初期,20km/h的速度差别根本可以忽略不计,200km/h的速度差别才值得引起注意。换句话说,设定值与实际值之差为20km/h并不一定很重要,但设定值与实际值相差10%,那就需要强有力的控制校正。换句话说,控制误差由通常的差值变为比值,同样,控制量也应该由从当前值开始的增量改变为百分比式的相对变化。这样,控制律就可以表示为:

当前的控制量=上一步的控制量×(设定值/当前的测量值)

也就是说,在被控变量高于设定值10%的情况下,控制量也增加10%;测量值和设定值一样时,控制量不再变化。实际使用时,谁除以谁要根据控制器的正反作用来决定,上面是正作用的情况,反作用的话,控制律把分子分母颠倒一下。这个控制律还可以进一步修改成为:

当前的控制量=上一步的控制量×(当前的测量值/设定值)k

k次方是用来调整控制律对“偏差”(这时已经不是差值,而是比值了,
严格地说,应该叫作“偏比”)的灵敏度,相当于控制增益。这个控制律实际上相当于对数空间的纯积分控制,对很多常见的非线性过程有不错的效果,实现也简单。要是有兴趣,这还可以进一步扩展为对数空间的PID控制律。然而,这是一个本质离散的控制律,在连续时间里无法实现。


另一个巧妙的“数字专用”控制律牵涉到系统平均停留时间。反应器
的容积是固定的,但通过反应器的总流量随产量甚至产品而变。有时工艺条件可以解放出一点增产空间,有时因为市场关系而需要限产,这样通过的流量就不固定了。这可以用自适应增益来解决,但也可以换一个路子,用可变采样频率来解决。反应器容积除以通过的体积流量(也就是L/h而不是kg/h)就是反应器内平均停留时间,这相当于(但不一定等于)反应器内的时间常数。数字控制通常使用固定的采样频率,但如果针对某一通过流量(基准通过流量)下某一采样频率(基准采样频率)整定PID参数但采样频率与通过流量(或者平均停留时间)的比值保持固定,那按照基准情况整定的PID参数就可以继续使用了,而不必求助于自适应增益。这也是一个本质离散的控制律,在连续时间里无法实现。

离散控制“看一步、走一步”的特性,是连续控制很难模仿的,也是
实际中极其有用的。

大话现代控制理论之离散控制篇的内容到此就结束了,欢迎大家继续关注《大话现代控制理论之模型与辨识》。

共有访客发表了评论 网友评论

  客户姓名:
邮箱或QQ:
验证码: 看不清楚?