本文来自微信公众号:知识自动化 (ID:zhishipai),原文标题:《彭瑜 | 虚拟 PLC 迈向实用化 软件定义自动化的新号角》,作者:彭瑜
虚拟 PLC 系统到底是什么样?一直听上去有些玄乎的想法,现在有了更加落地的行动。
今年德国汉诺威博览会亚马逊的 AWS 合作伙伴展区中,一个名为 Software Design Automation 的初创公司,展出了一个虚拟化 PLC 系统的解决方案。虚拟化 PLC 的系统不仅可以通过 CPU 的数字孪生,来取代传统 PLC 的硬件软件强制捆绑,还有可在云端运行对 PLC 群完成部署和管理的软件,以及管理 PLC 群运行的人机界面。
由于基于硬件的功能正在系统地被软件所取代,软件定义技术、软件定义装备的说法,在 IT 界很常见。但是这个概念,能否应用到工业机械装备的实时控制中呢? 尽管这个想法听上去尚不切实际,但答案却是肯定的。前提是,必须搭建合适的框架,进行编程、部署和监视虚拟化自动化资产的性能。
设在慕尼黑以 SDA 命名的初创公司正在步 IT 领域的软件定义技术的后尘,引领 OT 领域开创一种软件定义自动化(Software Defined Automation, SDA)的解决方案。它将传统的 PLC 硬件虚拟化,并在此基础上对其进行管理。如同管理软件资产那样。他们为自动化工程师开发的 PLC 操作套件,通过控制器的数字孪生虚拟商用 PLC。例如,它可以与博世力士乐和美国麻省开发的低代码供应商 Tulip,形成紧密合作。或者是,它可以采用在 GitHub 托管的西门子或者倍福的开源 PLC,实现了工控即服务 ICaaS(Industrial-Control-as-a-Service)。
这条通过虚拟化进而实现服务化的技术路径,使工厂自动化从业者受益于独立于硬件的远程连接,简化的协同 PLC 工程,以及在标准的通用 IT 硬件(如服务器)上运行的具有实时确定性行为的虚拟 PLC。截至目前为止,按 SDA 公司给出的数据,这种虚拟实时控制器实现了确定性控制周期时间 < 10ms 的实际效果。这可能是当下最接近实用的虚拟 PLC 商业化的解决方案。这种 vPLC 解决方案允许在虚拟边缘服务器上执行确定性实时控制,并结合云基的全面 vPLC 管理接口。
与云自动化工程解决方案一起,它使客户能够提高灵活性、生产力和安全性,同时获得独立于特定于供应商的工业自动化硬件。SDA 的解决方案支持客户从传统的 PLC 迁移到完全虚拟化的 PLC 控制,这些控制运行在靠近车间的传统 IT 服务器上的 VMware Edge 边缘计算栈上。自动化工程师可以通过云基的控制面板持续监控 vPLC,就像使用传统 PLC 一样。SDA 的云基应用程序允许用户从位于工厂的服务器调测、管理和监视 vPLC 的实例。
SDA 工业控制即服务打破了控制技术堆栈中的专有竖井,并使实时控制层之上的微服务体系结构能够通过 API 进行原生交互,就像任何其他现代企业信息系统一样 —— 将工厂变成软件系统。围绕云基的现有 PLC 管理软件(SDA TechOps),由 Git 赋予授权启动的 PLC 代码版本和协同软件(SDA DevOps),以及在边缘服务器上对 PLC 予以虚拟化的软件 (SDA Virtual PLC) 共同来实施虚拟化的 PLC 系统。
使用 SDA TechOps 的自动化工程师现在能够管理诸如西门子、博世力士乐和倍福等供应商的 PLC,就像云基的软件系统那样,已部署的代码完全透明,代码更改具有完全的可跟踪性,并能够在几分钟内自动进行代码刷新。SDA DevOps 为 PLC 引入了基于 Git 的版本控制,便于向现代开发人员的协同方式过渡。每个项目更新都被安全备份,对单个对象的更改都予以版本化,并通过一个简单的 web 界面在结构化文本语言和梯形图语言的应用程序中以明显的加深方式加以显示。以上这些措施有利于自动化工程团队更高效地一起工作,加快开发速度,并将风险被降到最低。一旦有新功能需要部署,按下一个按钮之后,在几分钟内便部署到整个 PLC 系统。
SDA 的虚拟 PLC 通过虚拟化将实时控制与专有硬件解耦。SDA 公司与著名的虚拟机软件开发商 VMware 合作,在任何 x86 服务器上运行虚拟 PLC,确保每台虚拟 PLC 可实现 < 10ms 的扫描周期时间。自动化工程师可连续地通过云基控制面板监控 vPLC 的运行,就像传统 PLC 一样。自动化工程师还能够在几分钟内调试投运新的 Codesys 控制器,并为每个虚拟控制器按月支付费用。
“这是行业的游戏规则的巨变”,SDA 公司的创始人 Josef Waltl 认为,这样的工作方式使自动化成为制造业务转型的起点。无论是推动自动化复杂性进一步发展的庞大工程师团队,还是企业内部的自动化专家,都可以远程管理所有的 PLC,再也不用像消防员那样,成天去监控 PLC。与博世力士乐和 Tulip 等设备供应商紧密结合,作为领先的一线运营,为客户带来端到端解决方案。譬如任何来自 Tulip 的 Edge IO 都可以转换为 PLC,只要通过简单的 API 调用与实时控制器集成一线操作平台,而无需增加硬件成本。
这一举措,将使得工业自动化与 IT 软件开发的其他行业处于同等水平。自动化的步伐,终于可以迈得更快一点了。
虚拟化有一个简洁的定义:外特性和行为与特定硬件一致的软件,其实就是将特定硬件进行虚拟化。在过去 60 年的 IT 发展中,没有其他的进展比虚拟化提供了更多可量化的好处,例如降低成本,增加灵活性,展现更多的可伸缩性,提高可靠性,性能提升等。虚拟化在 IT 领域的影响是巨大的。
那么,为什么虚拟化趋势没有迅速延伸到 OT 领域呢? 事实上,OT 行业大约花了 10 年的时间来观察虚拟化是否可用于工业自动化。人们逐渐发现 OT 大环境下的虚拟化应用,正在有越来越多的趋势,而越来越多的供应商完全支持在虚拟化环境中运行 SCADA 和 DCS 平台。最近,人们还发现许多 DCS 供应商在需要提高其现有系列控制器所能实现的性能,或需要为战略客户降低控制器成本的情况下,部署了虚拟控制器 CPU。这些虚拟 DCS 控制器运行在诸如 Windows 或 Linux 服务器的商用 IT 硬件上。通常,这些虚拟化 DCS 控制器产品不会出现在产品目录中,甚至没有款名或库存编号。
作为工业自动化的另一重要支柱的 PLC 行业,将如何应对虚拟化的进程呢?实际上,如果 PLC 要进行完整的虚拟化,那就必须对特定供应商的 CPU、背板、机架、IO 模块和相关网络,统统都要进行虚拟化。它需要在通用工业 PC 上,虚拟化运行 PLC CPU 的功能,或者在通用 IT 服务器硬件上集中运行的 PLC 控制器集群。而采用光纤背板,则可对确定性现场总线和 / 或实时以太网系统进行切换;同样,虚拟化 IO 模块可考虑采用基于 ARM 的独立 I / O 端子排。还要支持商品化的冗余 I / O 模块 / 控制器等这些加在一起,形成一种虚拟 PLC 的软件容器。
那么,这个虚拟 PLC 软件容器对 OT 行业带来什么好处?
PLC 是一类非常成熟的工业控制器,1969 年推出的 Modicon PLC 从一开始几乎奠定了它的结构和外形,而现代的 PLC 在这些方面没有多少变化.这一原创设计,经受了时间的考验。至于它的功能和属性,即使 1968 年通用汽车 GM 提出的招标文件,至今仍不过时。它的功能要求仍然是现代 PLC 的重要组成部分。
60 多年的发展,使得 PLC 成为工业控制的常青树。
如果我们试图通过虚拟化 PLC 来提高 PLC 的性能,弥补其某些方面的不足,首当其冲的是考虑瞄准合理的应用场景。大量使用小型 PLC 的 OEM 机械就没有必要对其 PLC 虚拟化,这样做的结果显然得不偿失,除非当这些机械装备集中在一个车间,已经形成一个 PLC 集群。一台 PLC 的可靠性足够高,抗干扰能力足够强,在严酷工业环境下可以正常地运行十几年,而且维修量极小。如果虚拟化的 PLC 在功能上可以取代,但不能达到其可靠性、电磁兼容性和环境适应性,那就意义不大。特别是用于若干生产高产量、高价值的产品的场合(如卷烟机械、高速灌装机械),一旦停机带来很大的损失,PLC 的虚拟化就得不偿失了。同样,生产节拍很高的场合和高速运动控制的场合,虚拟化的 PLC 也没有用武之地,这是因为从 2012 年开始到现在十多年了,所有探索虚拟 PLC 的实验和软件产品,其确定性的实时控制周期从没有越过 10ms 这道坎。
是不是这是虚拟 PLC 难以逾越的鸿沟?这是不是正是虚拟 PLC 运行的本质,还尚待求证。
将 PLC 虚拟化的价值又如何体现呢?在工业环境中,PLC 已经赢得了经济、可靠、健壮、模块化和容易支持等美誉。那么,虚拟化能帮助 PLC 变得更快、更便宜、更健壮吗? 如果企业分别统计他们公司的 OT 资产和 IT 资产时,常常会发现 OT 设备资产不但在数量上远远超过 IT 资产,而且在价值上也超过 IT 资产。譬如位居全球前三大能源公司之一的统计,这家有超过 5 万名的员工的跨国公司,他们的 OT 设备资产数量超过了他们的全球 IT 资产的两倍。
原因不点自明,OT 资产的品种繁多,标准化通用化的程度差,而 IT 资产设备早已高度标准化、通用化。从这个意义上讲,一旦 PLC 能够实现虚拟化,人们能够在在同一的 PLC 硬件上对 Siemens、Schneider 和 Rockwell 等不同品牌的 PLC 系统进行操作。这样,一个 PLC 集群能够以软件的形式运行在一台通用的 IT 服务器上,或是运行在工业 PC 中上,就像在 VMWare 或 VirtualBox 中运行多个不同的 Windows 和 Linux 操作系统环境那样。完全的 PLC 虚拟化将允许运行施耐德电气的 Unity XL 编程环境,然后迁移到罗克韦尔自动化 Studio 5000 环境,或西门子的 STEP 7 的环境,而无需更改现场的任何硬件资产。这一前景一定足够吸引更多的企业管理者,关键是必须足够的实用、可靠。
虚拟化何以降低 OT 成本?首先,它将创建一个“PC 兼容”的 PLC 版本,并为更多的供应商打开大门。后来的商用设备,依然能够可以运行在原来由 PLC 主要供应商提供的工程工具。其次,客户将不再被锁定在单一供应商的所有硬件。多年来,现场总线和其他开放标准已经在一定程度上帮助解决了供应商锁定的问题。然而,在最初部署之后的几十年里,许多客户的大部分硬件和软件仍然受 PLC / DCS 供应商的支配。绑定的痕迹,非常明显。最后,它也将颠覆电气分销商模式。中间商的地位,变得岌岌可危,不必再经过授权经销商购买 PLC / DCS 软件和设备。因为更通用的、商品化的硬件,消除了对这些中间商的需求,中间商为这些产品服务所取得的利润也自然一笔抹掉。
虚拟化显然以灵活性、适应性见长。完全虚拟化的 PLC 能在很大程度上提高 OT 灵活性,特别是在市场越来越多倾向于小批量多品种的形势下。而生产线配置的快速性和灵活性是智能制造一种关键特性,虚拟化 PLC 完全可以满足这一关键点。它采用通用的 IT 设备进入生产线的控制环节,无疑是让低成本的硬件装备更先进的自动化系统,促进 OT 环境中的创新,加速更换品种时所需要的对 PLC 集群的协同和调试时间。
与此同时,创建正在运行的流程的虚拟版本,并根据实时数据对更新的流程进行测试,以查看更改对系统的影响,也是生产切换时所迫切需要的功能。PLC 虚拟化甚至能够在自动化硬件产品供应商之间无缝切换。例如,某个制造商采用罗克韦尔的一个产品运行,在他们决定改变生产方向后,可能转移到施耐德电气的系统为下一个产品运行作准备。这时虚拟化 PLC 可能不必或极少更改硬件,只需进行应用软件的更改和部署。在 OT 环境中 L2 以上的各层级的虚拟化,已经使得部署补丁、创建备份和支持端点保护等任务变得更加容易,那么这样的行动,现在已经瞄准了 L2 的层级,也就是即控制层的设施虚拟化。
如今,大多数 PLC CPU 的处理能力远不及商品 IT 的 CPU。即使退一步采用工业 PC 作为 PLC 的 CPU,那也可以获得可观的成本节省。当然,工业 PC 并没有像 PLC CPU 的情况一样设计成具有 10 到 15 年的寿命,但这种风险可以通过集群和额外的冗余级别来抵消。从信息安全的角度看,虚拟化的 PLC 所能获得的技术支持远超过传统的 PLC。譬如虚拟容器也可以允许软件防火墙来控制出入 PLC 的流量;虚拟容器环境将运行在 Linux 或 Windows 环境上,这比传统部署在 PLC 上的实时操作系统(RTOS)在网络安全方面更为健壮。
当然,PLC 虚拟化要成为现实还面临着一些挑战。其中最关键的是如何解决 PLC 的确定性和 IT 云服务的不确定性;将 PLC 这类特定软硬件捆绑的产品通过虚拟化形成的外特性和行为一致的软件,如何解决 OT 行业中的功能安全的问题;以及 IT 虚拟化以性能为中心的本质所带来的一些基本的挑战。此外,PLC 的虚拟化还期待着包括 PLC 传统厂商在内的多个供应商参与到这一技术变革中,将这一潜在优势转换为现实的供应商有可能成为“OT 中的 VMWare”,将具有更大的市场影响力。
OT 领域中 DCS、SCADA 和 PLC 这三大最常用的基本系统,已经先后呈现出虚拟化的趋势,也引起了国内一些对技术敏感性较强的企业的关注。例如,华为的紫金实验室与宝信、上海交大的合作,尝试在确定性 IP 通信的支持下,开展的虚拟 PLC 系统的试验;中广核与上海交大、华为合作,针对核电站常规岛的虚拟化 DCS,采用虚拟化控制器的多个热备份,来替代一对一的硬件备份。参考国际和国内在 OT 领域虚拟化的探索,笔者有如下基本判断:
虚拟化在 OT 领域的发展大有可为,潜力很大,特别是实现低成本的软件热冗余,以及实现 PLC 集群对生产工艺变化的灵活性和适应性,都具有相当巨大的吸引力。就单个 PLC 系统或 DCS 系统而言,这还不足以引起管理层的关注。但对于一个庞大的企业,虚拟化 PLC / DCS 的变革所带来的成本优势和性能优势,业已获得了一些高瞻远瞩的高层管理者的兴趣和支持。这正是虚拟化在 OT 领域发展的广阔天地和潜在力量。
PLC 虚拟化要成为现实还面临着一些挑战,其中最关键的是如何解决 PLC 的时间确定性和 IT 云服务的不确定性的问题。因为 PLC 常常要面对的是高节拍、高速度的控制要求,不得不处理扫描时间在 1ms 数量级的应用程序。而相对来说,DCS 和 SCADA 的虚拟化在这方面的要求就没有那么高。在目前的技术的支撑下,虚拟化的 PLC 尚只能实现数量级约为 10ms 的应用程序,那么虚拟化 PLC 的应用场景就应该有所局限。例如创建适合工业互联网要求的数据采集系统运用边缘服务器和边缘 I / O 的虚拟化解决方案,就可以规避虚拟化 PLC 带来的时间确定性不足的问题。同时也没有必要去尝试采用虚拟化 PLC,去解决运动控制的问题。
目前较为合适的解决方案,看起来是在云服务器上实施虚拟化 PLC 的部署和监控,在边缘服务器上实施虚拟化 PLC 的运行控制。这一解决方案适合规模较大的 PLC 集群系统。
整体而言,传统 PLC 的一系列突出优势,诸如能在严酷工业环境下长期可靠运行,易用性好,模块化程度高,易于维护等。如何在新的情况下能够得到继承和发扬,是需要经历磨练和积累经验的,这都有赖于依靠在 OT 领域内富有实际经验,又能解决实际问题的工程技术人员。就这个意义上讲,虚拟化 PLC 要在工业控制中站稳脚跟,发扬光大,必须重视现有的传统 PLC 从业人员的作用。虚拟化 PLC 的技术改革,绝不是仅仅依靠纯粹软件开发人员所能胜任和推进的。
作者简介作 者彭 瑜:上海工业自动化仪表研究院,PLCopen 中国组织编 审林雪萍:北京联讯动力咨询公司总经理,天津大学精仪学院兼职教授