专用控件

设计实时过程控制器

实时系统中最重要的约束是处理输入和产生输出所需的时间必须是众所周知的。

哈里伯顿(Halliburton)的马里奥·托雷(Mario Torre)著 2014年10月23日

如今,几乎所有的自动化和控制系统都是使用数据处理器,微处理器,DSP或执行从软件程序派生或编译的指令的任何其他处理设备构建的。非常少数和专业的控制设备仍然使用普通硬件或可编程硬件使用现场可编程门阵列来完成其设计的作业。

尽管如此,要为控制器或自动化设备设计和开发软件应用,需要特殊技能和对自动化和控制问题的良好理解。许多设计师和程序员构建Web服务器,信息系统,业务流程管理系统以及基于计算平台的许多其他重要和有价值的基础架构。但是,当涉及到工业过程控制器时,设计师认识到需要一种新的设计和编程范式。这在整个自动化和控制行业中都很好。

实时处理

类似地,涉及信号采集、传感器、控制设定值等的许多概念都与过程状态变量、测量和控制有关。但大多数情况下,它们与实时处理密切相关。任何工程师在设计、开发和部署新的自动化和控制系统时,都必须考虑实时处理的概念。这就是自动化软件设计师与其他应用软件设计师的区别所在。它不是更好或更差,更容易或更难;这只是不同。

自动化控制器必须是实时系统,因为它们必须控制需要实时控制的物理过程或工厂。此时,自动化控制器设计师必须非常好地了解实时系统是什么。

Hermann Kopetz,在他的书中,“实时系统:用于分布式嵌入式应用程序的设计原则”(2011),表示“实时计算机系统是系统行为的正确性不仅取决于逻辑结果所取决于逻辑结果的计算机系统计算,但也在产生这些结果的物理时间。通过系统行为,我们表示系统的时间序列。“

对于任何需要治理的物理设备,它需要一个控制器能够在非常特定的时间框架内获取一些输入信号并产生一些特定的输出信号。如果控制器的输出超出了这个时间范围,这些输出将不再有效,并将产生故障,甚至是物理工厂的灾难性故障。

实时解释

我们如何确定一个计算机系统是一个实时系统?假设有一个非常简单的系统,只有一个输入和一个输出。这样的系统每次接收到输入信号时都产生一个输出信号(见图1)。

现在,假设我们重复(但不定期)对该系统应用相同的输入信号。我们可能期望该系统每次都会产生相同的输出信号,在应用输入信号之后的完全T秒钟。不幸的是,这不是实际控制器中发生的事情。每个时间将由控制器生成相同的输出信号,但是它需要控制器产生每个输出的时间t可能略微增加(见图2)。如果我们重复这个实验,我们会发现控制器响应时间下降到一个变化间隔中,例如Δt。一些文献是指的Δt作为“延迟抖动”。

问题是:谁来决定这个规模Δt?这很大程度上取决于控制器硬件是如何设计的,使用了哪些组件,以及运行在控制器内部的应用软件是如何设计和开发的。

应该注意的是时间量级T.与时间变化值无关,Δt。前者取决于控制器应该执行的功能,而后者取决于设计者如何在控制器内实现此功能。

重要的是要强调没有控制器系统可以达到Δt= 0.因此,控制器设计人员必须知道物理工厂允许的最大值允许而不会导致失败或损坏,因此他或她必须建立一个考虑这些约束的正确实时控制器。

硬实时,软实时

根据物理设备和要执行的控制类型,控制器可以被归类为“硬实时”或“软实时”。如果要控制的植物或过程的具体特征是不合规的Δt约束将产生故障或故障,然后控制器必须是“硬实时”控制器。

另一方面,如果所要控制的特定特征是不符合其要求的Δt约束将产生植物功能的劣化,但不会产生任何故障或故障,然后可以使用“软实时”控制器。

延迟、反应时间

的价值Δt要用作过程控制器设计的主要约束,大量取决于要控制的过程的性质。每个物理过程都有自己的“延迟”,即平均时间该过程对一个或多个输入中的改变作出反应。这种潜伏期与管理该过程的物理,化学和电气规律相关联。例如,油生产过程的潜伏期与电力传输系统的延迟非常不同。平均延迟因进程而异,这是特定过程知识的一个原因 - 以及控制工程知识 - 这是如此重要(见表1)。

根据经验,自动化控制器设计的基本规则是控制器的Δt必须至少比控制器要控制的进程的延迟小5倍。当然,这还取决于许多其他考虑因素,如功耗、散热、可用空间以及这里没有讨论的许多其他约束。

设计硬实时控制器比构建软实时控制器要困难得多。根据物理过程和特定应用程序,设计师必须选择构建一个或另一个。

市场上可用的大多数控制器是软实时控制器。好消息是,几乎所有工业自动化和控制应用都可能受到软实时控制器的管辖。只有在几个中,非常具体的情况都是硬实时控制器的合理和安装。但是,只要设计或选择了良好的控制器,其中它的延迟抖动Δt与过程延迟相比,足够小,可以提供可靠的自动化解决方案。

设计实时控制器

实时系统中最重要的约束是处理输入和产生输出所需的时间必须是众所周知的。换句话说,实时系统的处理时间来获得解决方案是解决方案的一部分。当然,对于特定的系统,这种时间并不总是完全相同;它可能有所不同。我们称为“延迟抖动”或ΔT的这种偏差基本上定义了实时系统提供的“确定性”。较近的ΔT接近零,即实时系统的确定性越多。

要进行治理,任何物理设备都需要一个实时控制器,它本身就是一个实时系统。控制器Δt必须比工厂的潜伏期小至少5倍。这是一个非常一般的拇指规则,可能与应用程序和其他考虑因素和权衡不同。但是,控制器设计器必须使用特定的Δt在设计实时控制器时。

所以,现在问题是:我们如何可靠地设计一个保证某些特定的控制器Δt?为了简单起见,这里的讨论将:

  • 考虑用于植物的电子控制器的设计。
  • 假设所有的传感器、传感器和执行器都是现成的,并且所有的输入和输出都是电信号。
  • 考虑该控制器将是数字控制器,即进行模数转换,并且控制功能正在通过逻辑和数学操作进行。

简单地说,这个控制器将使用(大部分)数字电子元件、PC板和相关部件来开发。

任何电子设计师提出控制器的最基本方法就是使用离散组件。可以使用逻辑门,触发器和缓冲器来实现任何数字控制器。这些组件对延迟抖动具有很大的表现。这Δtof most of those components is very low (depending on gate technology, it is about 40-50 nanosec), so the overall controller latency jitter typically won’t exceed 1 microsec, which is good enough for most real-time applications-even hard real time.

这种硬件方法的主要问题是缺乏灵活性和可扩展性。如果需要额外的输入或改变控制器功能,那么就必须设计一个新的控制器。然而,需要指出的是,这种硬件方法在过去得到了广泛的应用,并且仍然在非常特定的应用中使用——其中大多数是在硬实时领域。

迄今为止,几乎所有的数字控制器都是基于微处理器的控制器。设计师不再有权为控制器构建硬件。控制器硬件已经标准化,所有的信号处理、滤波和处理都由微处理器管理。根据控制器的类型和用途,它们大多数都有几个处理核心。这听起来很简单,但到目前为止,控制器设计师的工作已经被简化为:

  • 根据应用选择右控制器硬件
  • 选择要使用的操作系统
  • 选择将进一步帮助开发的编程环境或框架
  • 开发软件应用程序以实现控制设计者设想控制的工厂所需的实际控制器功能。

为应用程序选择合适的硬件控制器可能是一个复杂的任务。硬件控制器的特点取决于经过的时间T.控制器所需的提供解决方案和延迟抖动Δt这是预期的这些控制器。它也由这里超出考虑因素的许多其他因素和条件决定。对于此讨论,假设正确的硬件选择标准需要满足以下要求:

  • 必须足够快,以处理所需的经过时间和延迟抖动
  • 必须能够实时处理处理器中断
  • 必须提供一个“充分的”开发和运行时软件环境,设计人员可以在其中设计和部署所需的软件应用程序。

选择硬件后,设计者根据所选软件开发环境使用计算机语言创建软件应用程序。目前,硬件控制器包括丰富,直观的软件开发环境,其中应用程序可能会在某些特定的操作系统和编程框架上运行。虽然它不是强制性的,但建议使用硬件制造商建议的编程框架。请注意,在不使用任何软件环境的情况下,设计软件应用程序类似于构建不同的分立组件和芯片的硬件,如前所述。

假设设计人员已经选择了硬件,并且即将使用编程语言在所选操作系统的顶部设计新的软件应用程序。根据优选的编程语言,硬件和实际控制器应用程序之间可能存在更多软件层:框架(例如Microsoft.Net),虚拟机(如Oracle Java),甚至硬件制造商专有框架或编程接口。

所有这些层进一步分离控制器应用程序与输入和输出信号。此外,必须注意的是,每一层都增加了延迟和处理时间。图3显示了典型控制器实现的处理层。

如图3所示,必须通过所有图层从其发生,从所有层次处理输入事件到将处理它的实际应用程序。处理后,应用程序必须将结果发送到实际输出端口,该端口也必须通过相同的图层。使用上述硬件和软件图层堆叠的此简单控制应用程序的总响应时间可以计算为:

T = t1 + t2 + t3 + t4 + t5 + t6 + t7

然而,在这种情况下,设计人员如何保证总的响应时间T.是工厂需要的吗?控件设计人员如何确保此类响应时间将在特定的延迟抖动内∆t?表2显示了每个时间组件的详细说明以及每一个影响Δt并对如何达到预期效果提出了初步建议。

上面提到的每一个时间组件都提供了最终产生的控制器延迟抖动的一部分Δt。其中一个控制器设计师的主要职责是评估这些组件中的每一个,并充分重量它们以确保:

  • 结果控制器延迟T是所需的
  • 的总和Δt来自所有时间组件的S不会超出所需的延迟抖动。

这不是一项简单的任务。请注意,表2中暴露的内容是一个非常简单的实时控制器设计的视图。控制器设计者和分配的团队还必须产生更多的考虑因素,这些团队也会影响超出控制器的严格实时性能的硬件,操作系统和框架的选择。

Mario Torre是一个实时系统设计和建筑师专家,专注于数字油田自动化,控制和实时信息系统。他是一个电子工程师,具有系统工程硕士学位。他目前是Halliburton Landmark软件和休斯顿服务的智能运营解决方案全球集团的咨询顾问。

这篇文章出现在应用自动化补充控制工程工厂工程