用多变量控制管理整个过程

单变量控制器,如PID循环,是迄今为止工业应用中最流行的控制器。单变量控制器测量唯一感兴趣的变量,决定其值是否可接受,在必要时进行校正,然后重复。这个程序非常适用于只有一个变量或多个变量的过程控制问题……

通过Vance J. VanDoren,控制工程 一九九八年四月一日
关键字
  • 过程控制和仪表

  • 多变量控制

  • 先进控制

  • 控制理论

栏:
条款
关于多变量控制器应该问哪些问题

单变量控制器,如PID循环,是迄今为止工业应用中最流行的控制器。单变量控制器测量唯一感兴趣的变量,决定其值是否可接受,在必要时进行校正,然后重复。这个例程对于只有一个变量或有多个可以独立操作的变量的过程控制问题非常有效。

当控制系统需要使用多个执行器来实现多个目标时,问题变得更加棘手,每个执行器同时影响所有的过程变量。这样的问题需要多变量控制器这样可以同时平衡所有执行器的动作。

如果有可能通过几种不同的控制努力组合来达到预期的目标,问题就变得更加棘手了。最有效的多变量控制器可以选择最便宜的组合来实现。有的还可以考虑到潜在的成本应用正确的控制措施。成本不仅包括能源消耗和节能等财务因素,还包括安全和健康因素。

多变量控制器在石油化工、航空和能源工业中最常见。例如,在精馏塔中,可能有数百种温度、压力和流速必须协调一致,以最大限度地提高蒸馏产品的质量。喷气式飞机的控制系统必须协调飞机的发动机和飞行控制面,以保持飞机在飞行员指定的航线上飞行。

多变量控制技术

那么多变量控制器是如何做到这一切的呢?有一些基本的多变量控制技术,但奇怪的是,PID不是其中之一。无论是PID算法还是其他任何传统的单变量控制技术都不能解释耦合.如果改变一个过程变量会改变另一个,则两个过程变量被称为耦合的。

大多数单变量控制器也忽略了应用控制努力的成本。他们的唯一目标是纠正唯一过程变量的偏差,而不考虑成本。

另一方面,如果控制成本实际上可以忽略不计,如果耦合很弱,那么几个单变量控制器可以组合起来调节一个多变量过程。美国国家航空航天局在其早期的一些航天器上尝试了这种方法。NASA使用三个独立的姿态控制器来调节航天器的俯仰、偏航和滚转。每个控制器只是对另外两个控制器的影响做出反应,就好像它在处理外部干扰一样。这个方案运行得很好,但是控制器之间往往会相互冲突,最终消耗的能量比必要的要多得多。

解耦

如果过程变量可以解耦,单变量控制器也可以用于多变量应用。图1显示了如何将具有两个控制器(C1和C2)和两个过程变量(PV1和PV2)的简单过程解耦,以便每个控制器最终只影响一个过程变量。设计解耦器(D21和D12)是为了消除每个控制器对其他过程变量的交叉影响(P21和P12)。去耦器允许两个控制器都像各自控制自己的独立进程(分别为P1和P2)一样运行。

最简单的解耦方法只是解决交叉的稳态效应。一系列开环步骤测试将显示每个控制器对每个过程变量的影响有多大。例如,如果来自C1的单位阶跃使PV1增加X%(通过P1),而来自C2的单位阶跃使PV1增加Y%(通过P12),则去耦器D12可以设置为增益- Y/X。在闭环操作期间,C2对PV1的净影响将为零。

图2显示了化学加工工业中常用的另一种多变量解耦技术。在这里,解耦是通过允许每个控制器修改另一个控制器的设定点来实现的。控制器FC2的设定值与过程变量FT1成比例。设置控制器FC1的设定值,使FT1和FT2之和为所需值。这就是最终的结果比例控制技术是保持两个过程变量的和和比在期望的值,同时仍然单独控制它们。

限制

虽然这两种解耦器的设计和实现都相对简单,但它们的使用仅限于只重视过程变量的稳态值的应用程序。如果还必须控制过程变量的波动,则需要更详细的解耦器来解释过程的动态行为。

此外,即使是设计用于适应交叉的动态和稳态效应的解耦器,也只有在交叉行为非常弱或非常好地理解时才会工作。否则,去耦器将无法完全消除交叉效应。如果在实现了解耦器之后,流程的行为发生了哪怕是轻微的变化,那么解耦也可能失败。

最小方差控制

一个最小方差控制算法通常对多变量控制更为有效。方差是衡量一个过程变量在一段时间内从其设定值变化的严重程度。它是通过周期性地将两个值之间的测量误差平方并将结果加到历史总数中来计算的。对于多变量过程,总方差是为每个单独的过程变量计算的方差的加权和。

最小方差控制器协调其所有的控制工作,以最小化总体方差。它还可以通过将每个控制工作视为另一个具有设定值为零的过程变量来最小化控制成本。用于总体方差计算的加权因素可以被选择来指示控制器对消除错误和最小化控制努力的重视程度。在暖通空调的例子中,控制器可以根据减少能源消耗和保持房间居住者舒适的相对好处来设计得更激进或更不激进。

最小方差控制器通常包含过程的数学模型,以预测当前控制努力的未来效果。这种高级警告允许控制器选择下一个控制措施,从而使过程变量与其设定值之间的未来差异最小化。

约束

流程模型还允许控制器施加限制或约束在控制力度和过程变量上。如果模型是准确的,控制器可以提前看到其控制努力和过程变量的走向,然后改变进程以避免在未来违反约束。然而,如果模型不能准确地反映流程的行为,约束可能会被违反。

约束表示流程的物理限制。例如,阀门不能打开超过100%,机械执行器不能移动太快,否则会损坏自己。一些过程变量也必须受到约束,以保持接近它们的设定值,无论代价是什么。超过设定值可能是在烤箱中达到理想温度的最快方法,但它也可能会烧毁里面的产品。

满足这些约束是实现最小方差控制的主要动机之一。图3显示了方差如何影响过程变量设定值的选择。如果控制器能够成功地最小化过程变量的方差,则可以将设定值移到离最近的约束条件更近的位置。这允许流程在其物理极限的边缘运行,从而最大限度地提高其生产力。

不幸的是,最小方差、模型预测和大多数其他形式的多变量控制的好处是有代价的。即使是这些算法中最简单的数学公式也是乏味的,比PID理论复杂得多。PID算法仍然是所有控制技术的冠军也就不足为奇了。

条款

致动器-可以影响进程行为并因此导致进程变量变化的设备。

约束-过程变量允许的最大值和最低值。

控制努力(或纠正努力或控制器输出或操纵变量或过程输入)-控制器发送给执行器的命令,以便将过程变量驱动到各自的设定值。

耦合-导致多个过程变量对单个执行器的作用作出反应的物理现象。

解耦一种允许多变量控制器独立操作每个过程变量的控制技术。

干扰(或进程干扰)——可能影响过程并导致过程变量意外偏离其设定值的不可控现象。

模型一组数学关系,显示过程变量的值如何依赖于控制器的努力和过程扰动。

最小方差控制-一种试图最小化过程变量与其设定值之间误差平方和的控制技术。

模型预测控制一种多变量控制策略,依靠数学模型来预测当前控制措施的未来效果。

多变量控制器一种测量多个过程变量并试图用几个协调的执行器(每个执行器影响多个过程变量)修正其值的计算机系统。

非线性过程—随着过程变量的波动,对控制效果变得或多或少敏感的过程。

配对多变量控制器设计中的一个步骤,其中每个执行器都与它影响最大的过程变量相关联。

PID控制一种单变量控制技术,根据比例-积分-导数算法产生控制效果(参见“比例-积分-导数控制基础知识”,CE, 1998年3月)。

过程(或连续过程)一种物理系统,当其操作条件保持在规定水平时,将原材料转化为所需产品。

过程变量(或受控变量或过程输出)-指示过程当前状态或行为的可测量量。

比例控制一种多变量控制技术,试图将两个过程变量的比值保持在一个期望的值。

定位点-过程变量的期望值。

单变量控制器(或单回路控制器)一种测量单个过程变量并使用单个执行器来产生纠正作用的计算机系统。

一步测试-在控制系统调试期间进行的实验,以确定过程变量如何对各自设定值的突然变化或控制器输出的突然变化作出反应。

方差-测量过程变量在其设定值周围波动的程度。

关于多变量控制器应该问哪些问题

成千上万的多变量控制技术已经被开发用于特定的应用。每一种都有其优点,但没有一种在任何情况下都是理想的(参见“多变量控制器进入主流”,CE, 1997年3月)。以下是一些相互区别的问题。

技术问题

控制器对进程的行为做了什么假设?控制器是否依赖于过程的数学模型?

当控制器继续在闭环中运行时,能否自动更新过程模型并提高其控制工作的质量?

控制者的经济目标是如何指定的?每个过程变量可以单独分配成本吗?移动执行器的成本也可以计算到控制器的决策过程中吗?

控制器能否自动计算出将生产力最大化和成本最小化的设定值?

控制器的配置是否能够将执行机构的移动和过程变量限制在允许的范围内?约束是否可以被优先排序,以便控制器努力约束最关键的变量?对执行器移动的约束也可以优先排序吗?

当传感器故障或执行器饱和时会发生什么?控制器能否通过将注意力转移到剩余的传感器和执行器来继续调节过程?

控制器能否处理随机间隔的测量(例如实验室分析的结果)?

如果给控制器一组物理上不可能实现的目标,它会怎么做?

如果在控制器被调试后进程的行为发生了变化,会发生什么?如果过程是非线性的,其行为会随着过程变量的波动而变化,会发生什么?

控制器能解耦过程变量吗?

技术问题

控制器可以处理多少个变量?

操作员如何调整控制器的性能?控制器可以被调优以拒绝干扰,跟踪设定值,或两者兼而有之吗?

操作员在第一次调试控制器时必须指定多少关于过程的信息?这些信息是如何收集的?

流程模型是如何创建和验证的?

控制器能自动收集建模信息吗?为了收集所需的信息,控制器必须对过程施加什么样的刺激?

操作员必须指定哪个执行器对每个过程变量的影响最大,还是控制器可以自动执行这样的配对?

控制算法在什么计算平台上运行?这些都能离线运行吗?有哪些选项可用于将计算平台连接到流程?

操作员是否可以手动调整流程模型?有什么工具可以方便手动调整?

流程模型、设定值和性能目标可以在线更改吗?设定值必须保持不变,还是可以按照期望的轨迹进行配置?设定值和性能目标能被其他程序操纵吗?

控制器的性能能否通过模拟设备进行离线测试?操作员可以测试什么样的“假设”场景?

控制器必须由专家实施还是操作员可以自己执行必要的配置和调优功能?供应商提供哪些支持服务?