工业控制器的虚拟化技术——边缘计算走进工厂
时间:2023-08-24 08:52来源: 作者: 点击: 次商用技术在消费者和信息技术(IT)领域的应用速度几乎总是比工业技术更快。例如,多年来,在IT环境中已经非常普遍,最常见的是在基于服务器的应用中。相比之下,工业自动化运营技术(OT)应用在采用虚拟化方面则落后了数年。
如今,虚拟化已经成为几乎所有OT产品、实践和应用的主流,尽管它仍然常常用于机房环境中。现在,OT系统服务器托管多台虚拟机以实现可视化、历史记录、冗余和其他用途的做法非常普遍。
自动化工程师使用基于桌面的虚拟化来快速创建开发和测试系统。虚拟化为快速部署系统、优化资源使用和备份配置带来了益处。
虚拟化的概念和优点通常与PC和服务器相关联,但也可以用于其他地方。最近,虚拟化功能已经扩展到更多的专业化和强大的工业可编程逻辑控制器(PLC)和可编程自动化控制器(PAC),用于过程和机器自动化。
这为终端用户提供了更多选择,例如使分析更接近于数据源。它还带来了其他好处,包括提高生产力、效率和安全性。
虚拟化的概念
虚拟化的一个基本定义是提供在单个硬件平台上运行多个虚拟机软件操作系统的能力,从而将一台物理计算机作为多台虚拟计算机使用。每个虚拟机必须独立运行。
图1:该图描述了单个类型1管理程序如何管理一个器上的两个虚拟操作系统、一个用于实时控制的实时操作系统和一个用于边缘处理的客户操作系统。本文图片来源:Emerson
根据管理程序的位置不同,有两种类型的虚拟化,即类型1和类型2。管理程序是运行在主机上并管理客户虚拟机的硬件、固件和软件的组合。
类型2的虚拟化(可称之为“托管”)用于桌面和服务器PC,其管理程序运行在传统主机操作系统之上,而该传统主机操作系统已运行于硬件上。这就创建了虚拟的“沙箱”,多个操作系统可以同时运行于其中,但由于底层操作系统所致,它增加了延迟。
类型1的虚拟化(有时被称为“本机虚拟化”)利用直接在无底层操作系统的裸机硬件上运行的管理程序。该管理程序将硬件本身分区到每个操作系统。这种做法的结果是延迟和抖动非常小,这对于实时确定性或对时间敏感的应用程序非常理想。类型1提供的性能比类型2更佳,因为它可以直接访问硬件,而不会因主机操作系统而延迟。
到目前为止,虚拟化尚未在工厂车间实际应用或实现。现在,一种利用多处理器内核和虚拟化的新一类PLC和PAC的开发提供了将相同的虚拟化概念扩展到器的能力,从而为用户提供了一种新的集成方法。
器和虚拟化
典型自动化应用中的一种常用的工业控制器是PLC,它使用专用的处理器和特定的实时操作系统(RTOS)来提供高速的确定性控制。PLC功能虚拟化的难点在于保持高速确定性。
图2:具备虚拟化能力的工业控制器,如艾默生的具有技术的控制器,包括多个处理内核、大量数字通信端口,以及支持一套控制用实时操作系统和一套通用操作系统并行运行的其他特性。
如今,硬件的进步对于商用PC世界来说很普遍,比如多核处理器和大内存。通过使用多核技术和类型1虚拟化,工业控制器平台现在可以在同一处理器上运行多个操作系统,包括一个用于控制的实时操作系统,其对于确定性和速度几乎没有影响(图1)。第二操作系统——Linux客户操作系统可用于其他边缘处理。随着将来可用内核数量的增加,甚至可以部署更多的操作系统。
在具有(PACEdge)技术的控制器上运行多个操作系统的可能性是一个显着的变化(图2)。核心关注点是维护一个强大的实时操作系统用于控制功能,就像采用PLC时一样,从而不会影响到自动化功能。作为实时操作系统的补充而运行的第二操作系统提供额外的计算选项。这两个操作系统必须是独立的,但保持交互能力。
运行两套操作系统的概念可以用“内侧”和“外侧”环路的说法做进一步解释,级联过程控制回路(图3)的用户可能熟悉这些说法。在这种情况下,内侧环路是用于控制的实时操作系统虚拟机,而外侧环路是一套用于实现附加功能的标准操作系统虚拟机。举例而言,内侧环路可以监视过程流输入,执行比例-积分-微分(PID)计算,并掌控控制阀输出。外侧环路可以对内侧环路给出最优流量的建议,但不会影响内侧环路的运行。
图3:使用虚拟化,艾默生具有技术的控制器使用一个实时的“内侧”环路来进行直接控制,并通过一个能够执行高级优化的通用“外侧”环路来对上述控制给出建议。
另一种解释内侧和外侧环路概念的方法是运用与汽车导航相关的类比。内侧环路是通过驾驶员的直接注意力来驱动车辆到达目的地,而外侧环路可以是提供补充信息的汽车仪表板导航系统。
因此,内侧环路是关键任务,无论如何均必须一直进行操作,即使外侧环路遇到问题也不例外。另一方面,外侧环路对于主系统操作有价值,但不是必需的。下面几节将进一步探讨这个概念。
控件保持在内侧环路
PLC提供了自动化设备和过程所需的专门功能、输入/输出(I/O)连接性。这些设备已经获得了处理能力和联网功能,可以更好地与更高级别的系统进行交互,这些系统具有通常被称为PAC的更高级的版本。然而,PLC和PAC仍然专注于它们的控制角色。
PLC和PAC使用多种编程语言;其中梯形逻辑是最流行的。PLC性能的一个基本衡量指标是控制器扫描梯形逻辑的速度,通常以毫秒为单位。所有其他任务必须得到处理,以便保留确定性扫描时间。PC上的操作系统不适合毫秒控制,因为它必须处理图形和用户界面等诸多任务。
在维持同等功能的同时,使用基于控制器的虚拟机来取代PLC或PAC,需要使用实时操作系统。该实时操作系统提供了内侧环路PLC功能所需的特性,与此同时不会对性能造成任何损害。
扩展功能位于外侧环路
由于控制功能基本上保持不变,所以控制器虚拟化的真正优势是增加了一个以合作的方式谨慎集成的外侧环路Linux虚拟机。这个虚拟机可以做专用PC可以做的任何事情,但是成本更低,并且以更紧凑的形式封装,而无需将PC集成到控制器中。
工业用户没有必要立即利用额外的操作系统,因为他们可以使用虚拟控制器来实现PLC的基本功能。然而,许多用户发现,通用的Linux操作系统可以通过下列途径来增强他们的应用程序:
●运行机器学习元素
●执行分析
●与云通信
●使用消息队列遥测传输(MQTT)或其他发布-订阅模型来交换信息
●执行优化计算以通知控制器虚拟机
●驱动本地显示
●生成web页面
这些功能需要上游计算资源。用户可从Edge操作系统上实现这些功能的效率中受益,因为他们利用了本地可用的处理能力,并在尽可能接近源的地方作用于数据。该做法消除了计算层并简化了网络使用。驱动本地显示或直接从控制器生成web页面的能力即为此类例子。
如今,在标准PLC中可以实现其中的一些功能,但是将这些功能添加到传统PLC中必须小心进行,以防止过载。此外,当在传统PLC中添加高级功能时,意味着用户必须在主动控制的环境中进行更改,这样做增加了扰乱自动化的风险。
如若正确实施,外侧环路虚拟机可让用户在更靠近数据源的具有边缘计算技术的控制器上安全地执行处理,从而消除上游联网和处理需求。
控制器虚拟化的其它考虑事项
出于性能和安全方面的考虑,一直强调在虚拟工业控制器中保持实施操作系统和通用操作系统之间的隔离,但是虚拟机仍然必须有一种与外部世界交互的方法。有两种策略使之成为可能。
第一种策略是将控制器设计成具有独立的以太网端口,每个端口专用于一个特定的虚拟机操作系统,并且与其他端口隔离,这样即可消除端口访问非绑定虚拟机的可能性,从而提供安全性。通常情况下,会将实时操作系统端口用于I/O通信,而将操作系统端口用于与外部世界的连接。隔离的以太网端口可确保从外部世界对操作系统网络的网络攻击不会影响实时操作系统网络。同样的概念也适用于其它硬件接口,如USB端口。类型1虚拟化管理程序以该方式实现了在虚拟机之间划分硬件。
第二种策略是将虚拟PLC和PAC配置为允许虚拟机仅通过标准的预定义接口进行交互,例如在两个虚拟机之间运行安全协议的虚拟网络接口卡。在工业环境中,OPC UA正成为安全协议的平台首选。
使用这种方法,实时操作系统虚拟机可以向操作系统虚拟机提供字段信息,而操作系统虚拟机可以通知实时操作系统虚拟机。这是一个用户定义的数据交换,用户只公开两个虚拟机之间的基本数据,并执行必要的验证以确保健壮的实时操作系统虚拟机运行。
通过控制器虚拟化来适应未来的发展
虚拟PLC和PAC提供Edge整合,从而带来性能提升和成本节约。Edge配置的优化可以使机器更智能、更高效,同时可简化架构。用户可以创建Edge的影响分析,并在不影响实际控制过程的情况下更新或升级这些应用程序和其它应用程序。这种方法比修改正在运行的PLC的“总是开启”代码更为安全。
终端用户通常更喜欢控制器虚拟化方法,因为这种方法为他们提供了现在所需和使用的相同控制器类型的功能,与此同时还增加了一个可选的计算层。这种设计可适应未来的发展,因其可以根据需要增长,而无需昂贵的硬件更换。
一些用户将控制器虚拟化视为与智能手机类似。智能手机首先是一部手机,此外还提供了许多作为额外应用程序添加的其它实用功能。这种适应未来发展的设计可确保当前投资得到保护,而无需预测OT和IT未来进展的确切路径。