嵌入式控制系统设计/过程控制与系统控制
的维基教科书
嵌入式控制系统设计
|
广义上讲,有两种基本不同的控制系统类型
- 过程控制通常发生在化工或食品加工行业、石油和天然气炼油厂等。这种类型的安装组件包括阀门、温度传感器、流量传感器等设备,需要控制材料通过一系列后续操作的连续流动。
- 系统控制涉及(半)自主设备的适当运行,即确保设备在适当的时间执行预期的一组动作。这包括在各种控制动作之间切换,在不确定性下进行决策等。
过程控制和系统控制之间的另一个主要区别是前者实现的规模要大得多。
一般来说,在过程控制中,会有多个传感器、执行器和控制器分布在有时非常大的区域。这样的系统总是拥有大量分布式硬件。
尽管具有这种分布式性质,但有必要有一个中央控制来远程监控、管理和监测所有内容。但这并不意味着要‘控制’一切。每个从属设备都将拥有自己的处理能力来控制其周围环境。
打个比方:这可以看作是一名军队将军和下属的排。将军(中央控制)需要知道战场上每个排的情况,才能做出高层的战略决策并下达命令。而每个排(从属设备)则自行决定如何执行这些命令,然后将结果报告给将军。
回到工程领域,中央控制将用于监控安全问题、运行级别并设置系统级别和属性。这也称为人机界面或HMI。
工厂或车间中的每个从属设备将控制整个系统中较小部分的温度、流量或体积。它们彼此独立,能够独立运行作为一个完整的单元。
实际的控制是在本地进行的,SCADA 主控制器收集和解释整个系统的所有数据。主控制器还用于更改和设置运行级别。
连接所有这些独立系统是开始变得棘手的地方。所有内容都必须协同工作,这意味着需要交换信息:上游或下游从属设备的信息可能对于它做出正确的控制决策是必要的。
有许多方法可以实现这种分布式硬件-集中式控制器系统。其中一种实现称为SCADA。
在设计分布式硬件系统时,有一些设计考虑因素和决策需要做出,这些决策将在最终产品中产生显著的影响。
需要考虑的四个主要方面是:安全、成本、优化和鲁棒性。在这样的设计中,这四个方面之间存在明确的联系,改变其中一个会自动影响其他方面。设计人员不断面临着这种权衡决策。
安全:与任何涉及人类的系统一样,安全非常重要。在某些情况下比其他情况更为重要:例如,核电站与瓶装水厂。
随着安全措施的增加,最终的实施成本也会增加(额外的截止阀、冗余控制器),鲁棒性也会下降。安全性还可能意味着更好的通信系统,以确保中央控制和从属设备之间以及各个从属设备之间传输正确的数据。
实施多个并行运行的主站,以防一个出现故障,链接到单个 SCADA 主终端。安全性与控制一样,也是本地化的,但并不局限于本地实施。主控制器可以并且将会进行一些安全控制。
鲁棒性:希望系统即使在出现一些干扰和非有意事件的情况下也能继续运行。鲁棒性意味着安全性下降。
那么问题就出现了:是否应该允许出现小问题?小问题可以通过从属设备本身纠正。如果处理不当,这些小问题会导致更大的问题。互连部件的级联故障是由于没有正确处理小问题造成的。
成本:最终希望设计能够实现,因此将成本保持在最低限度,以使系统对市场具有吸引力。但降低成本会导致安全性下降,鲁棒性也会下降。
优化:对于这个设计因素,目标是提高质量,并最大限度地降低成本(最小的产品或原材料浪费)。优化同样会导致鲁棒性下降。
因此,这种设计中最困难的部分是为每个项目找到成本、鲁棒性、优化和安全性之间的最佳平衡。
由于这种系统的性质以及不断变化的环境(需要生产不同的产品,或者产品的混合发生变化),因此需要人机交互。此外,人类需要能够一目了然地判断是否存在问题,问题在哪里以及是什么样的问题。
在三里岛事故中,人机交互的重要性得到了体现。不完整和不正确的信息被认为是导致本来可以避免的事故的最终原因。
这增加了设计决策的安全方面,增加了冗余,从而增加了成本。但从三里岛事故中可以看出,及时提供正确的信息是必要的。
此外,人机界面是用于获取信息或硬件的易于访问的工具,否则这些信息或硬件难以获取。它还应该有一个引人注目的设置,以便能够一目了然地进行系统评估。
尽管之前已经说过所有从属设备都可以独立运行,但在大型工业系统中,并非所有部件都是如此。有些部件直接依赖于其他从属设备的信息。
例如,如果一个阀门要控制流入某个容器的流量,它需要知道在容器装满时关闭。因此,必须有一个可靠的从属设备间通信网络。
这种相互依赖性将中央系统管理安全的一些责任转移到更本地化的区域。
因为最终所有独立系统都必须协同工作才能形成最终产品,所以需要某种数据处理系统。这就是中央控制系统发挥作用并履行其主要作用的地方。
由于从属设备系统管理了大量实际的控制和安全,因此 SCADA 安装主要处理自下而上的数据结构。主控制器不需要整个系统中所有可用的信息。
因此,中央控制器可以看作是一个信息收集单元。除了安全信息之外,这些数据还可以用于计算趋势和监控质量。
本维基教科书其余部分的大多数示例都是系统控制应用程序。