虚拟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软件开发的其他行业处于同等水平。自动化的步伐,终于可以迈得更快一点了。
PLC虚拟化的深层思考
虚拟化有一个简洁的定义:外特性和行为与特定硬件一致的软件,其实就是将特定硬件进行虚拟化。在过去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的技术改革,绝不是仅仅依靠纯粹软件开发人员所能胜任和推进的。