云服务驱动的工业自动化

作为云服务的工业自动化

1 引言

1.1 胃景与动机

云计算正成为一个重要的领域,需要进一步的研究和开发以容纳更多的应用程序[24]。它不仅因为预期的成本节约而受到学术界、工业界、政府乃至个人用户的广泛关注,还因为它能够改进现有的计算服务,例如视频流媒体[13]。此外,云计算为创建新服务提供了机会,例如机器人[8, 21]和制造[35]。在本文中,我们介绍了一种新的云服务:工业自动化。我们表明,所提出的这项服务可以减少部署新系统所需的时间和成本,因为当前的工业自动化系统较为复杂,且构建时需要大量的人力投入[26]。此外,我们探讨了如何在不损害系统性能的前提下,将关键的自动化功能迁移到云中。

值得注意的是,本文提出的工作符合一个持续发展的趋势,该趋势始于几十年前,即1960年左右,当时数字计算机首次以直接数字控制(DDC)[34]的形式引入控制系统。自那时以来,控制系统的发展一直与计算设备的进步[34]密切相关。多种功能,例如监控、日志记录,在核心的直接数字控制功能基础上,增加了优化和资产管理等功能,形成了自动化系统。因此,当前的工业自动化系统实际上是一个多层次架构,包含多个层级的计算、通信和存储[33]。基于这一背景,我们认为研究将不断发展的计算模式(如云计算)应用于工业自动化系统具有巨大潜力,可为终端用户带来诸多益处,包括成本节约和灵活性提升。

1.2 背景:工业自动化

本节旨在简要介绍与本文相关的基本工业自动化概念,以帮助缺乏足够工业自动化背景的读者更好地理解论文其余部分。我们采用一个简化但真实的示例来引入这些概念,该示例将在后续对所提方法的评估中使用。

考虑太阳能电站,其过程示意图如图1所示,该设计是[17]中设计的简化版本。太阳能电站的运行分为四个主要过程循环:合成油循环、盐循环、蒸汽循环和冷凝循环。导热油循环用于收集太阳能,而盐循环则用于储存能量以便后续使用。蒸汽循环和冷凝循环负责驱动蒸汽轮机。导热油循环始于太阳能集热镜,这些集热镜沿着通过导热油的水平管道收集太阳热量。太阳能集热器可旋转以跟踪太阳方向。导热油吸收热量后,将其分别传递至两个支路,与盐循环和蒸汽循环进行交互。盐循环具有两个储罐:一个热罐和一个冷罐。当需要发电时,热盐被泵送至热交换器,将热量传递给导热油,然后返回冷罐。蒸汽循环利用导热油的热量产生蒸汽,驱动涡轮机发电。冷凝循环则将蒸汽冷凝回水,完成循环。

示意图0

图2展示了典型的工业自动化系统架构,该架构分为四个层级(L1-L4)。L1层是直接数字控制(DDC)层,负责执行反馈控制回路,以确保物理过程(如温度、压力、流量)稳定在期望的设定点。L2层是人机界面(HMI)和监控与数据采集(SCADA)层,为操作员提供可视化界面,用于监控过程状态、查看报警和手动干预。L3层是工厂优化层,其目标是最大化利润,例如通过优化生产流程、最小化能耗或原材料消耗。L4层是企业资源规划(ERP)层,负责企业的宏观管理,例如财务、供应链和市场策略。

1.3 范围与贡献

在这项工作中,我们表明,如果我们采用云计算来承载上述工业自动化层,则可实现巨大的成本和劳动力节约,如第6节所示。然而,工业自动化是一个对及时性、可靠性和安全性的要求比大多数其他云应用程序更高的应用领域。因此,需要解决多个研究问题,以实现基于云的工业自动化。

我们提出并论证了一种基于云的工业自动化的架构。此外,我们解决了将自动化功能迁移至云中所带来的最具挑战性的问题。然后,我们确定了所提出的架构面临的三个主要挑战,即及时性、可靠性和安全。我们重点关注及时性和可靠性挑战。安全性问题不在本工作的讨论范围之内。而且,我们认为满足L1层的及时性和可靠性要求最具挑战性,因此若能自动满足其他层级的需求。原因在于,随着层级向下延伸至L1层,应用的及时性和可靠性要求逐渐提高,使得L1成为要求最严苛的层级,原因如下:首先,L1层的闭环通信可能每秒发生多次,而在L2层大多数通信为单向,通常每1-2秒发生一次。其次,L1层的故障可能带来严重后果,因为L1直接与物理过程交互,而L2与物理过程的交互是间接的。L3和L4层在及时性和可靠性方面要求更为宽松,因为它们不涉及时间关键型功能。

为了在可变的互联网延迟较大的情况下维持被控系统的运行,我们提出了一种延迟补偿器以缓解此类延迟。接着,为了缓解控制器/链路故障,我们提出并理论分析了 一种分布式容错算法,该算法可在冗余云控制器之间平滑切换。我们的理论分析表明,所提出的容错型基于云的控制器能够保证零超调和零稳态误差,前提是原始的本地对应控制器也具备相同的性能。此外,在大多数实际情况下,对调节时间的影响为零,在其他极少数极端情况下也可忽略不计。

为了评估我们的方法,我们设计并实现了一个图1所示太阳能电站系统的物理模型,并通过云控制器对其各个过程进行控制。此外,我们在行业标准仿真软件系统中实现了太阳能电站模型,以展示我们方案的可行性和鲁棒性在广泛的参数范围内对所提出的架构进行了评估。具体而言,为了评估分布式容错算法,我们将冗余控制器部署在商业云上,这些商业云彼此之间以及与物理电站之间的距离相隔数千英里。实验结果表明,我们的算法能够有效使物理电站感知不到链路/控制器故障。此外,为了研究非常大的可变延迟和不同干扰模型对所提出系统性能的影响,我们进行了一系列实验,其中远端的基于云的控制器控制着实验室本地机器上托管的仿真太阳能电站。通过仿真,我们在系统中注入了通信延迟和干扰。结果表明,基于云的控制器能够有效减轻延迟的影响,并且在干扰下其性能与本地控制器相比无差异。

本文的其余部分组织如下。我们在第2节讨论相关工作。然后,在第3-5节中介绍所提出的架构以及所提出的延迟缓解和容错组件。我们在第6节分析并评估所提方法的成本/时间节省。接着,在第7节对我们的方法进行实验评估,并在第8节总结全文。

2 相关工作

库马尔等人[21]提出了一种基于云收集的远程传感器数据辅助自动驾驶车辆进行路径规划的方法。陈等人[8]提出了“机器人即服务”或RaaS,该服务在硬件和软件方面均可提供。此外,吴等人[35]探讨了“云制造”,这是一种基于云的制造模式,具有面向服务、以客户为中心和需求驱动的特点。RaaS和云制造侧重于规划与优化,而我们考虑的是整个自动化层级,并专注于直接数字控制,这在及时性和可靠性方面更具挑战性。一些研究人员/企业已采用反馈控制器来管理其计算系统,例如[1, 23, 29]。这些所采用的反馈控制器可以通过我们提出的基于云的反馈控制方法作为服务获取。

最近有人提出通过云来提供某些工业自动化组件。首先,企业级(L4)资产管理应用(如SAPr)现在已可通过云提供。其次,工厂优化(L3层)也可以轻松地通过云提供。例如,霍尼韦尔AttuneTM[31]提供基于云的能源优化服务。尽管该服务主要面向楼宇自动化,但其工厂版本在概念上是相同的。第三,人机界面/SCADA(L2层)目前已以虚拟化形式提供,例如英维思WonderwarerSystem Platform 2012[19],的情况,这表明将L2层作为云服务提供仅需将虚拟机(VM)迁移到云中即可。最后,由于对及时性和可靠性要求较高,将直接数字控制(L1)迁移至云中具有挑战性。目前我们尚不了解有任何 commercially available system 提供直接通过云实现数字控制,尽管研究人员在下一段中提到的部分挑战已得到初步解决。

杨等人[36]为前馈和反馈方向的互联网延迟设计了两个预测补偿器,而陈等人[9]仅针对前馈路径提出了一 种单一补偿器结构。尤等人[37]提出了使用带有恒定缓冲区的史密斯预估器,这种方法可能会不必要地增加调节时间,因为它在控制回路内插入延迟以将延迟保持在其最大可能值。相比之下,我们提出的延迟缓解方法仅需一个远程组件,即可自适应地补偿整个往返延迟,且不会影响原始控制器设计,也无需被控系统提供额外支持。

数字控制器中的大多数失效即停故障通过冗余[7]来处理。例如,横河FFCS[18]采用双重冗余,而艾默生Triconex Tricon[20]采用三重冗余。前者用于直接数字控制,后者则用于关键任务过程的安全与紧急停机控制,例如核电站。我们广泛的文献综述未发现任何现有研究提出将冗余控制器同时远程部署于工厂和主控制器之外,正如本文所提出的方案。

总之,我们尚未发现任何研究提出了一种涵盖整个工业自动化层级(包括其要求最高的直接数字控制层)的架构。此外,我们也没有发现任何研究像本文一样,分析在工业自动化中使用云计算带来的成本/时间节省。此外,我们尚未发现任何研究探讨了在相距较远的松散耦合机器上运行时,通过冗余软件控制器实现容错的问题。因此,在评估部分,我们将我们的方法与已知最佳的对应方案——本地、物理且紧密耦合的控制器——进行性能比较。

3 建议的架构概述

在我们所提方法中,我们将自动化系统的所有计算功能迁移到云中,以提供全自动化即服务。这使得用户能够更轻松、更快速且更低成本地部署、维护和升级其自动化系统。此外,我们的设计支持切换到不同的云自动化供应商,因为所有虚拟机都可以成组迁移至另一供应商。某些组件无法迁移到云中,例如传感器、执行器以及安全/紧急停机控制功能。图3展示了我们所提出的自动化架构。我们所提方法放宽了现有系统的层级结构。图3反映了各组件与图2中所示层级之间的关系。

为了将传感器和执行器连接到云,我们使用基于TCP运行的现场级协议,例如Modbus/TCP和Profibus/TCP,这些协议要么内置在设备中,要么通过独立的I/O模块提供。对于某些情况

示意图1

4 延迟缓解方案

云控制器与受控过程之间的往返延迟随时间变化。在大多数情况下,互联网的往返延迟范围从几十毫秒到几百毫秒。与此同时,大多数工业应用中使用的采样周期通常从几百毫秒到几秒不等。因此,大部分往返延迟会被吸收在采样周期内,不会对控制回路[36],产生影响,因为受控过程仍然会在每个采样周期接收到一个控制动作。然而,由于互联网的动态特性,延迟有时可能会随机变化并超出采样周期。为了吸收此类随机变化,我们需要采用自适应延迟缓解方法。

在本节中,我们提出一种处理变化的通信延迟的方法。我们从图4(a)所示的传统反馈控制回路开始。如图4(b)所示,将控制器移至远程服务器后,会在两个方向上增加延迟。我们将该回路建模为图4(c)所示的形式,其中C(z)和P(z)分别为控制器和被控过程的传递函数, z−k和z−l分别表示前馈和反馈延迟。

我们在设定点的入口处引入一个等于 z−l 的人工延迟模块,如图4(d)所示。正如我们在本小节末尾所讨论的,这种延迟对系统性能的影响可以忽略不计。我们简化了该回路如图4(e)所示。因此,我们已将云控制问题简化为具有死区时间[32],的过程控制问题,即过程输入施加后到其对输出产生影响之间存在时间延迟,例如物料在过程中通过传送带经过较长路径时的情况。

为了控制具有死区时间的过程,控制器通常与延迟补偿器结合使用。我们提出了自适应版史密斯预估器[30]。因此,我们的补偿器在设计时不需要精确了解延迟组件。我们首先假设没有延迟来设计控制器,然后测量延迟并调整史密斯预估器。这一点很重要,因为通过互联网的通信延迟是动态变化的,无法提前获知。

史密斯预估器的原始设计如下。假设过程由一个无延迟环节P(z)以及其后或其前的一个纯时间延迟z−(k+l)组成。如果我们首先考虑无延迟的过程并设计一个控制器C(z),则闭环传递函数变为T(z)= C(z)P(z)/(1+ C(z)P(z))。目标是为过程P(z)z−(k+l)寻找一个控制器 ¯C(z),使得闭环传递函数为 ¯T(z)=T(z)z−(k+l),这需要求解以下关于 ¯C(z)的方程:

C¯(z)P(z)z−(k+l) / 1+ C¯(z)P(z)z−(k+l) = z−(k+l)C(z)P(z) / 1+ C(z)P(z) . (1)

因此,新的控制器被给出为:

C¯(z)= C(z) / 1+(1−z−(k+l))C(z)P(z) . (2)

图5展示了我们提出的虚拟化控制器设计,该设计包含两个主要部分:(i)带延迟补偿器的控制器,以及(ii)通信延迟估计器。带延迟补偿器的控制器位于虚线框内,是如式(2)所描述的控制器的框图,其中包含前馈和反馈延迟z−(k+l),即往返延迟。该控制器使用 C(z),即为无延迟过程P(z)设计的原始控制器。它还需要一个过程传递函数的近似模型,记为ˆP(z)。在实际应用中,简单的一阶或二阶近似已足够[28]。第二部分显示在图5的黑箱中,用于估计过程与远程控制器之间的往返延迟。该往返延迟用于延迟模块z−(k+l)中。我们的延迟估计器采用指数加权移动平均来估计通信延迟的均值,表示为Di = αdi +(1 − α)Di−1,其中Di为估计的平均延迟,di为离散时刻i的测量延迟。类似地,我们的估计器采用指数加权移动方差来估计延迟方差,表示为V i = α(di −Di) 2 +(1−α)Vi− 1 ,其中V i 为离散时刻i的估计方差。延迟模块中的延迟值被调整为D c = b (Di +hVi 1/2 )/Ts c,其中Ts为采样周期,h是一个正参数,用于适应大于均值的延迟值。

示意图2

示意图3

因此,该估计器能够适应延迟的变化,而不会对短暂的延迟峰值过度反应。

现在,我们回到图4(d)中引入的延迟模块。引入这种延迟对系统的运行几乎没有影响,原因有二。首先,设定点在整个系统寿命期间(或极长时间内)保持恒定。在控制理论中,这种常数函数的延迟版本仍然是相同的常数函数。其次,即使在少数需要更改设定点的情况下,通常也是由人工操作员执行。增加几十甚至几百毫秒的延迟,相对于操作员的响应时间(几秒钟,用于调整旋钮或软件滑块并更新值)而言是微不足道的。

总之,所提方法的创新之处在于,在控制回路外部增加一个单一的人工延迟模块,将复杂的基于云的控制问题转化为对具有死区时间的过程进行控制的问题,并利用史密斯预估器加以解决。采用我们提出的自适应版史密斯预估器,能够在不改变原始控制器设计或被控过程的情况下,将控制器迁移至远程云服务商。

5 建议的容错

5.1 概述

在本节中,我们设计了一种分布式容错算法,以保证在发生故障时的正常运行,并对其性能进行了理论分析。我们还从理论上证明,对于大多数实际应用场景,使用我们的算法进行云反馈控制对被控过程的运行几乎没有什么影响。

在大多数实际系统中,控制器故障通过双重冗余(如[11], )或最多三重冗余(如[20])来处理,适用于关键任务过程。发生故障时,冗余控制器以有状态方式接管。在当前自动化系统中,冗余控制器位置接近且紧密同步,因此可以轻松地周期性共享控制回路状态(通常每几十毫秒一次)。为冗余云控制器提供类似的可靠性具有相当大的挑战性,因为控制器通常会在不同的机器上运行,最好位于不同的数据中心甚至不同的云

示意图4

5.2 详细操作

图7展示了运行在每个控制器上的RCC的伪代码。我们用括号内的行号来指代算法中的各行。除了初始化步骤外,RCC在每个采样周期内执行三个步骤:轮询、计算和条件动作。初始化步骤(第2-7行)在第一个周期执行,其中RCC为主控器Ci初始化ID i(第4行)和参与阈值Di(第5行),以确保任意时刻只有一个控制器处于激活状态。ID的设置规则为:主控为1,次级为2,依此类推。此外,对于任意控制器对(Ci , Cj),当i>j时,其参与阈值必须满足D i > D j ≥ Ts,其中Ts为采样周期。随后,在每个采样周期内执行主要步骤。轮询步骤(第8-13行)从I/O接口获取以下变量(第9行):(i) procVar:当前的传感器测量。(ii) lastActn:状态变量a 的表示,即执行器执行的上一次动作。(iii) lastActnAge:一个时间计数器数组,其中lastActnAge(i)表示状态变量ui,即自Ci上次被激活以来的经过时间。

如果轮询步骤超时,例如由于链路故障,控制器在将其首次周期标志重置为真后(第11行),跳过当前的采样周期。这对于保证G3至关重要,将在第5.3节中说明。

接着,计算步骤(第14-23行)决定控制器模式。对于给定的控制器Ci,如果存在另一个ID更小(j < i)且处于存活状态的控制器Cj,则Ci将决定以待机模式运行。另一方面,对于所有j <i的控制器Cj,如果上次动作uj的时间早于Di,则Ci将决定进入运行模式,因为它假设所有控制器Cj均已失效。因此,RCC通过 for循环扫描ID较小的控制器的lastActnAge来评估标志位iAmEngaged(第16-21行)。然后,RCC执行控制算法controller()(第22行),该算法通常仅需要传感器测量值procVar。对于某些控制算法,保证G3要求传递更多参数,如第5.3节中所述。

最后,条件执行步骤(第24-28行)在iAmEngaged标志为真(第25行)时,将计算出的动作发送到过程(第26行),并进一步发送零以重置动作时长计数器。否则,如果 iAmEngaged标志为FALSE,则该步骤无操作。

不失一般性,我们现在聚焦于三重冗余情况,以说明在RCC下三个控制器之间的交互。主控制器的 iAmEngaged标志始终为TRUE,因为它具有最小ID。当备用控制器轮询lastActnAge(1)时,它会持续检查主控制器是否存活。如果主控制器发生故障,备用控制器将在lastActnAge(1)超过其参与阈值时检测到该故障。在这种情况下,备用控制器的iAmEngaged在整个for循环中将保持为真。因此,备用控制器将进入运行模式,并重置其计数器lastActnAge(2)在I/O接口中的条目,以表明其已采取动作。尽管第三级控制器也会检测到主控制器的故障,但其参与阈值高于备用控制器。在lastActnAge(1)的值超过第三级控制器的参与阈值之前,备用控制器已经采取了动作。因此,当第三级控制器在下一个采样周期轮询状态时, lastActnAge(2)将已递增至 δ,使得0 ≤ δ ≤Ts小于第三级控制器的阈值,从而使第三级控制器的 iAmEngaged标志变为FALSE。第三级控制器仅在主控制器和备用控制器均不可用时才会被激活。这满足了保证G1。

如果主控制器从故障中恢复,它将重新获得对过程的控制权,因为它始终在运行模式下运行,这会迫使备用控制器进入待机模式。当重置主控制器的 lastActnAge(1)后,备用控制器将检测到最近的主控动作,且该动作的时间早于备用控制器的动作时间参与阈值。因此,备用控制器的iAmEngaged标志将变为FALSE,导致其进入待机模式。当低ID控制器从故障中恢复时,同样的讨论适用于任意两个控制器,从而实现保证G2。

5.3 平滑控制器切换

在控制器之间切换可能会导致过程输出出现“扰动”,从而违反保证G3。这种情况发生在原始控制器动作的最终值不等于新控制器动作的初始值时。主要原因在于冗余控制器不一定同时启动。由于大多数控制器都包含积分组件,其输出会因积分区间的起始时间不同而不同。为了实现云控制器之间的平滑切换,我们建议在云控制器中采用控制理论中的无扰切换概念[5, 32]。无扰切换最初设计用于支持从“手动”到“自动”控制的切换,且大多数商用PID控制器都支持该功能,而这类控制器占工业中所用控制器总数的90%以上[6, 12]。对于PID控制器,可通过调整积分器的初始值来实现无扰切换[32]。针对更先进的“自动”控制器,已有其他无扰切换方法被提出,例如[5]。

平滑切换功能在图7中介绍的controller()函数内实现。假设有两个标准PID控制器:一个主控Ci处于运行模式,另一个备用控制器Cj处于待机模式。在每个控制器计算出比例分量P和微分分量D之后,每个控制器的修改版controller()函数会评估以下逻辑条件: (not iAmEngaged) or firstCycle。如果该条件为TRUE,则将积分器初始值调整如下:integInitVal = lastActn ‐ P ‐ D;,这意味着积分器初始值将通过减去比例分量和微分分量P、D进行修正。这意味着,除了第一个采样周期外,运行模式下的主控Ci将正常运行 PID控制算法而不进行上述修改,因为此时逻辑条件为FALSE(注意,对于运行中的控制器,(not iAmEngaged)为FALSE)。另一方面,对于处于待机模式的控制器Cj,整个条件为TRUE,因此它会通过减去P和D,强制将PID积分器的值覆盖为上一次控制动作的值(该值由主控Ci计算得出)。简而言之,平滑切换功能会校正Cj积分器的任何偏差,使其与Ci的积分器相匹配。因此,当Ci 发生故障而Cj接管时,Cj将以与Ci 最后一次动作相等的输出开始控制。

在初始采样周期(即 firstCycle 为 TRUE 时),所有控制器都需要校正其积分器的初始值。这使得在恢复的 Ca 与当前启用的控制器 Cb 之间进行平滑切换成为可能,如果 a< b。这就是 RCC 设置 firstCycle 的原因在图7中超时情况下设置为真。考虑一种情况,即正在工作的控制器Ca发生链路故障,导致轮询步骤超时,随后切换至备用控制器Cb。如果链路恢复,则在与Cb 完成平滑切换后,Ca将重新接管,因为在恢复时,Ca的firstCycle标志将为真。

5.4 分析

我们考虑控制器软件、托管虚拟机、托管服务器、网络交换机和互联网链路的fail-stop故障模型[7]。接下来我们将形式化地证明我们的保障机制。证明过程见附录B。

定理1。 所提出的RCC算法可保证被控过程的正常运行,只要存在至少一个可通过至少一条链路访问的运行中控制器。

定理2。 如果原始控制算法在无故障情况下保证零超调和零稳态误差,那么在存在一个可操作的可达控制器的前提下,RCC算法在发生故障时仍能保证相同的超调和稳态误差性能。

定理3。 在一次故障下,调节时间ts的最坏情况下的增加受互联网往返延迟RT Tj和备用控制器Cj的参与阈值 Dj的上界限制,并由 ∆ts= d(RT Tj+D j)/Tse −2给出,其中Ts为采样周期。

定理4. RCC算法保证在控制器恢复时过程响应不发生变化。

6 成本/时间分析与评估

我们提出了简单的参数化模型,可用于估算不同自动化系统在从云提供时的成本和时间节省。我们还提供了一个真实的案例研究,以展示可实现的节省范围。由于篇幅限制,我们仅呈现分析和结果的摘要;更多详细信息可在在线提供的[15],中找到。

6.1 分析模型

在[15],中,我们展示了采用基于云的模型所带来的总成本节省可以估算为:

S Cost = s U C U +Ns R C R / C U +NC R , (3)

其中,sU 、sR分别表示采用基于云的自动化模型在前期和运行成本上的节省,C U 、CR 分别表示当前自动化系统的前期和运行成本,N 表示系统寿命。进而,我们得出[15]:

s U = s H C H + s L C L + s C C C / C h + C L + C C , s R = s M − C V / C M , (4)

其中 s H 、s L 、s C 和 s M 分别表示在硬件、人工、调试/启动和维护方面的节省由于采用基于云的模型而产生的成本。人工成本对应于对工程师/技术人员的货币补偿。CM和CV分别表示年度维护成本和年度虚拟机租赁成本。

在基于云的自动化下,前期成本可以显著降低。首先,大部分硬件现在被基于云的虚拟机所取代,这部分计入运行成本,而非前期成本。其次,由于硬件测试大幅减少,工程人工也随之减少。第三,由于硬件配置和布线大大减少,调试人工也相应减少。

同样,由于虚拟化消除了大量昂贵的硬件,运行成本(主要是维护)将降低。另一项成本降低来源是将大部分现场人工转为办公室人工。办公室工程师的时薪约为现场工程师的三分之一[26]。然而,基于云的方法会产生额外的运行成本:虚拟机租赁成本。这种额外成本通过维护节省得以抵消,我们将在案例研究(第6.2 节)中展示这一点。

接下来,我们考虑采用基于云的自动化系统所带来的时间节省。我们将启动时间(TTSU)定义为所有系统组件已订购并可获得的时间点与自动化系统首次启动的时间点之间的持续时间。项目经历四个主要阶段。在实践中,各项目阶段之间几乎没有或不存在重叠。因此,启动时间(TTSU)由以下部分组成: i TE:自动化系统工程时间,即设置和配置自动化硬件并实现自动化软件的时间。ii TF:工厂验收测试,即对自动化系统功能进行测试,以验证其是否符合设计规范。iii TC:系统从工程地点运输至现场。iv TC:现场验收测试和调试,即对自动化系统进行测试,确保其在真实工况下安装后能够正常运行并与工厂正确交互。

因此,TTSU 节省可以近似为[15]:

STTSU= T − Tˆ T = sE TE+ TF+ T S+ sC T C / T E+ T F+ T S+ T C , (5)

其中,sX 是在时间分量 TX 中实现的时间节省。因此,总节省量随着工程和调试时间的节省 sE 和 sC 线性增加。

6.2 案例研究

我们聚焦于一个源自真实工业自动化领域的案例研究。特别是,我们关注现场层和控制室层,因为我们认为这些是最具挑战性的、以服务形式提供的组件。考虑一个用于大型油气厂的自动化系统。该系统由表1的上半部分进行表征,这是设计自动化系统的标准表征方法。该案例经过精心选择,用以展示一个大型工厂及其自动化系统,同时其规模又远未达到极端示例的程度。

表1 案例研究中使用的真实系统。

Oil/gas Plant Automation System Hardware Automation System Software
模拟量输入/输出信号数量 45,000
15,000 控制输入
15,000 控制输出
开关量输入/输出信号数量 50,000
10,000 仅指示
20,000 控制输入
20,000 控制输出
总输入/输出信号数量 95,000 95,000
简单模拟控制回路数量 10,000 10,000
复杂模拟控制回路数量 2,500 2,500
开关控制回路数量 10,000 10,000
控制/HMI/SCADA功能块数量 145,000 145,000
采样周期 范围从0.5到2秒 范围从0.5到2秒
HMI图形显示 4,000 4,000
HMI刷新率 2秒 2秒
现场级网络类型 FOUNDATION Fieldbus FOUNDATION Fieldbus
控制网络类型 1Gbps冗余星型网络 1Gbps冗余星型网络
网络交换机数量 10 10
控制器数量 100对 100对
I/O模块数量 800 800
工程工作站/服务器数量 10(用于配置)
应用工作站/服务器数量 23
HMI工作站 30

由于一些工厂具有多个此类规模的设备。当前自动化系统需要表1下半部分列出的软件和硬件组件。

接下来,我们讨论采用基于云的自动化系统对所需硬件和软件组件的影响。云自动化系统的软件设计遵循当今系统的模式。因此,我们假设功能块数量与上述估算值相同,并额外增加用于延迟补偿和分布式容错的功能块。我们保守估计功能块数量增加50%,达到 367,500个功能块。下文中我们将说明,如果使用具有同等处理能力的虚拟机,则需要300台虚拟机。人机界面/数据采集与监控系统的规模在显示画面数量、历史数据点数量及其他应用程序方面保持不变。

裸机控制器将被虚拟机取代。假设一个中等利用率的专用虚拟机可以替代一个物理控制器,那么虚拟机的数量将比物理控制器多50%,因为用于延迟补偿和分布式容错的软件功能块数量增加了50%。如果所有传感器和执行器都支持无线TCP/以太网,则可以弃用I/O模块。然而,为了简化我们的比较,我们假设使用传统的传感器和执行器,但采用支持无线TCP/以太网且具备足够本征安全特性的I/O模块,将其布置在现场或靠近现场的位置。由于新增的无线和本征安全特性,我们假设每个模块的成本增加50%[26]。控制柜将完全被弃用,因为控制器已被虚拟机取代,I/O模块分散在工厂各处,并且由于通过IP地址、端口号和通道号进行寻址,不再需要信号配线。基于虚拟机的控制器可以从基于云的数据库加载回路变量的相关寻址数据。

对于工程和人机界面/数据采集与监控系统,所有服务器和工作站均被高利用率专用虚拟机以及瘦客户端所取代。通常,工作站/服务器会有多个用户通过不同的账户登录。虽然一些瘦客户端可以采用相同的模式,但其他则是个人设备,例如手机。因此,我们假设瘦客户端的数量多于工作站/服务器的数量。

作为云服务的工业自动化

6 成本/时间分析与评估

6.3 成本/时间节约评估

我们的分析结果的两个示例如图8和图9所示。图8显示了根据公式(3)计算的在提出的云系统下的总成本节省与系统寿命的关系。该图包含8条曲线,每条曲线对应不同的工程人力节省值sL。值得注意的是,在系统寿命为10年且工程人工节省为10%的情况下,总成本节省至少达到43%。随着系统寿命的增加,由于运行成本的支出高于前期成本,因此运行成本的节省占主导地位。因此,如果前期成本节省高于运行成本节省,则整体节省将减少,如sL= 0.8的情况所示。相反情况也成立,如sL= 0.1的情况所示。

接下来,我们在所提出的系统中评估不同工程时间节省(sE)和调试人工节省(sC)取值下的TTSU。在[15],中我们表明,在考虑的油气厂示例中,使用当前自动化系统的TTSU为17个月。相比之下,图9绘制了基于云的自动化系统在工程时间节省(sE)取值范围为0.1至0.8时的TTSU值。在每种情况下,调试时间节省保守地设定为sC= sE/2。从图中可以看出,当sE= 0.1时,TTSU可降至13个月以下;当sE= 0.8时,TTSU可降至2.5个月以下,根据公式(5),分别实现25%和85%的时间节省。我们估计在实际应用中,sS的取值范围将在0.3至0.6之间,根据该图,这将实现大约40%至70%的总时间节省。这意味着自动化系统的开发和设置速度可以加快3倍以上。更多细节见附录A。

7 实验评估

在本节中,我们严格评估了所提方法的性能。我们展示了基于云的控制器如何有效控制一个距离超过 8,000英里的工业工厂。我们还表明,当发生故障时,我们的方法可以在冗余控制器之间动态切换,以实现受控工业工厂的平稳可靠运行,并将我们的算法与本地控制器进行比较,因为后者是已知的最佳对应方案。

7.1 实验设置

我们设计并实现了一个太阳能电站的物理模型(图 10(a)),该电站如图1所示。我们将该物理模型放置在加拿大温哥华的实验室中。针对每个厂站过程,我们在能够找到的距我们的工厂最远(以延迟衡量)的亚马逊云位置部署了2个云控制器:新加坡和巴西圣保罗(图10(c))。此外,为了对我们的方法进行压力测试,我们在LabVIEW中实现了一个工厂的仿真版本,在其中注入了极高的通信延迟和干扰。LabVIEW是自动化行业和实验室测试中用于控制和仿真的标准软件[22]。我们采用PID控制方法对我们的方法进行了评估,因为该方法在实际应用中至今仍是最常用的[6]。我们按照以下技术栈部署了我们的云控制器:
- 软件包:LabVIEW PID 和模糊逻辑,NI Modbus 软件包。
- 控制软件:LabVIEW 2011 SP1(32位)。
- 操作系统:Windows Server数据中心版。
- 云:亚马逊网络服务EC2,区域:亚太地区(新加坡)和南美洲(圣保罗)。

除了太阳能电站的物理模型外,图10(b)还展示了我们使用的四个商用I/O模块之一[2, 3]。I/O模块将模拟信号转换为封装在Modbus/TCP数据包中的采样数据,反之亦然,这是传感器/执行器与云控制器通信所必需的。

我们将展示来自代表性控制回路的性能结果,这些回路在第1.2节中已介绍;我们推导了这些回路的传递函数,并使用齐格勒-尼科尔斯方法[38], 设计了其PID云控制器,然后通过试错法进行了微调。采样周期通常设置为过程主导时间常数的10%[14]。大多数连续工业过程的采样周期范围为0.5到2.0秒[26]。我们计算了评估中所考虑控制回路的主导时间常数,并保守地将采样周期设为这些时间常数的10%,最大采样周期为2秒。

7.2 容错性能

为了评估所提出的分布式容错算法,我们使用了物理模型(图10(a))和部署在亚马逊云上的冗余控制器(图10(c))。我们模拟了主控制器的故障,观察备用控制器是否能无缝接管。实验结果显示,当主控制器发生故障时,备用控制器能够立即接管,且物理电站的运行未受到任何可察觉的影响。这验证了我们的算法能够使系统对故障完全无感知。

7.3 延迟补偿性能

为了评估延迟补偿器的性能,我们使用了仿真环境(LabVIEW模型),并在控制回路中注入了大范围的随机延迟。我们定义了四个性能指标来量化控制器的性能:(i) 超调(OS):响应的最大峰值与阶跃输入最终值的百分比差;(ii) 上升时间(tr):响应从最终值的10%上升到90%所需的时间;(iii) 稳态误差:响应的最终值与阶跃输入最终值的差;以及(iv) 调节时间(ts):响应保持在最终值5%范围内所需的时间。

我们考虑流量过程(FT3, FC3),其实验参数如表3所示。同样,所有被控对象过程均通过阶跃函数激活。为了进一步对系统进行压力测试,我们在较长的互联网延迟基础上人为地插入较大的随机延迟。我们使用的延迟分布类似于[10],中的分布,其近似值为(均值μ、标准差 σ和最大值max)分别为(100, 70, 500)ms,但我们通过缩放因子放大x轴以显著增加延迟。我们采用10、20、30和40的缩放因子,并相应调整概率分布,使得曲线下面积仍等于1。该缩放方式得到了表3中所示的过度延迟值。因此,插入的延迟最高可达采样周期的两个数量级。此外,高度可变的延迟会导致数据包乱序到达,甚至在极端延迟情况下发生丢失。TCP将确保丢失的数据包被重传,并对乱序的数据包进行排序。这种情况会导致TCP一次性向 Modbus协议交付多个连续的控制动作。当Modbus接收到这些控制动作时,会一次性将它们写入I/O接口的执行器寄存器中。这相当于仅执行最后一个动作而忽略“批次”中的其余动作。此类情况对我们的延迟补偿器提出了更大的挑战。

对于每种延迟分布,我们分别进行有延迟补偿器和无延迟补偿器的实验。我们将延迟补偿器中的延迟模块设置为 b(μ+3σ)/Ts c,其中Ts为采样周期。因此,针对所考虑的4种延迟分布,延迟模块分别设置为z−10、z−20、z−30和z−40。我们将已补偿和未补偿的情况与零延迟情况作为基准进行性能比较。为了突出补偿效果,我们对每个实验重复了多次,并在已补偿情况下选取最差的性能,在未补偿情况下选取最佳的性能。

我们注意到,在大延迟情况下,调节时间包含两个部分。第一部分是由延迟本身引起的,第二部分是由延迟引起的时间响应中的实际性能失真造成的。为了衡量真实的性能失真,我们定义了一个称为纯调节时间的指标,即tps= ts−Dc,其中Dc是补偿器设定用于补偿的延迟值。

本实验的结果如图12所示,包括延迟分布以及无延迟情况。由(μ, σ, max)=(3, 2.1, 15)和(4, 2.8, 20)描述的两种延迟分布得到了非常相似的结果。因此,为了避免冗余,我们仅展示后一种分布的结果,而省略前一种。该图显示,随着引入更大的延迟,“未补偿”的云控制回路出现超调(图12(a)和图12(b)),最终变得不稳定(图12(c))。而我们的方法则保持了平滑的响应,没有明显超调。关于结果的进一步讨论见附录C。

总之,我们在极端条件下测试了所提出的系统:在极大且可变的延迟(高达20秒,即采样周期的66倍)下发生突变的设定点。在这种极端条件下,我们所提出的基于云的自动化系统使被控过程避免了超调或偏离最终值。

表3 延迟补偿实验参数

参数 参数
采样周期 (Ts) 300 毫秒 流量设定点 单位阶跃: u(t) 加仑/分钟
流量过程时间常数 3 s b(μ+ 3σ)/Tsc 往返延迟(μ, σ,最大值) 史密斯预估器延迟值
(1, 0.7, 5), (2, 1.4, 10), (3, 2.1, 15), (4, 2.8, 20)
史密斯预估器延迟公式 z−10,z−20,z−30和z−40
延迟发生器 DS2[10] 控制算法,整定方法 PI,Ziegler-Nichols[38]

7.4 干扰下的性能

除了上述结果外,我们还进行了多个其他实验,以展示所提出的基于云的自动化系统在真实工厂可能出现的干扰下的鲁棒性;详细信息见[16]。我们考虑了两个针对完全不同过程的控制回路(图10):
(i) 由(AT1,AC1)标记的太阳能集热器定位过程; 以及(ii) 由(TT1,TC1)标记的温度控制过程,其中熔盐储热或泵送热量用于调节导热油温度。我们使用 LabVIEW向这两个过程注入随机和确定性干扰。实验结果证实,所提出的云控制器(部署在数千英里之外)的性能与本地控制器的性能无差异。

8 结论

云计算已证明对许多实际应用有益,包括工业自动化。我们提出了一种将工业自动化作为云服务提供的架构,该架构简化了自动化系统设计并节省了时间和成本。我们的研究重点在于满足反馈控制的及时性和可靠性要求,这是工业自动化中最具挑战性的组成部分。我们提出并从理论上分析了新型的延迟缓解和分布式容错算法。

我们使用一个真实工厂的物理模型评估了所提方法,并将其控制器部署在亚马逊云上。实验结果表明,即使控制器与工厂相距数千英里,该方法仍能有效使受控工厂对控制器/链路故障无感知。此外,我们进行了模拟实验,旨在注入随机和确定性延迟及干扰。结果表明,我们的基于云的控制器表现与本地控制器完全相同,达到了已知最佳同类控制器的水平。通过解决工业自动化中最具有挑战性的层级,我们已隐含地证明了其他层级同样可被解决。因此,我们可以得出结论:工业自动化可以作为云服务提供。

除了证明基于云的工业自动化是可行的之外,本文的另一个贡献是为采用云控制器开辟了新的前景,包括:用于管理许多计算和通信系统的软实时控制器,例如为虚拟化数据中心中的分布式缓存资源管理以及视频流媒体设计的控制器,现在可以作为云服务提供。
- 云控制器可以作为关键任务系统中物理控制器的备份。这比复制所有物理控制器更具经济性。
- 云控制器可用于在物理控制器因故障而升级或更换时临时管理系统。这符合云服务的按需特性。
- 控制器可以部署在私有云上,为同一公司的多个设施提供服务,将自动化功能集中在一个数据中心。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值