PLC虚拟化或软件定义的PLC,其技术思想都是将传统专用的硬件功能解耦。因为在工业互联网或工业4.0时代,工厂车间中具有更高级别应用程序的机器的数据集成主要是使用传统协议完成的,而传统协议缺乏对新设备灵活集成的支持。两者之间总是存在着矛盾,如何解决这种矛盾?只能在这两者之间引入一个中间层,通过虚拟化PLC控制器或软件定义PLC将控制逻辑与机器分离,可以获得更灵活的重新配置。
PLC虚拟化或软件定义PLC通过允许用户更换或添加组件而不影响系统的其他部分,实现轻松的可扩展性和系统模块化。PLC虚拟化或软件定义PLC设计为开放平台,允许用户选择首选组件和解决方案,这意味着用户可以灵活地选择不同的供应商(无供应商锁定)。在工业3.0系统中,在同一个体系结构中使用多个供应商的组件并不那么容易,或者根本不可能。PLC虚拟化或软件定义PLC中通常没有硬件依赖性,所以很容易迁移和重用软件。PLC虚拟化或软件定义PLC使用虚拟化或软件定义技术,使用更多的软件而不是硬件,因为所需的硬件数量较少,所以降低了成本,缩小了占用空间。目标是提供现成的和可供销售的COTS(COTS =商业现成的)软件/硬件产品以实现整体解决方案的灵活选择和可扩展性。虚拟化技术和软件定义的体系结构是以软件为中心的模式,在系统集中管理、网络处理和安全性方面具有优势。远程监控降低了运营成本,而维护工程师或操作员并不总是需要现场检查机器的状态。集中管理简化了远程监控,因为只需访问一个软件平台即可管理您的资产。通过云计算和使用智能传感器(包括通信能力和板载诊断的传感器),机器数据被推送到云端,数据可以通过用户界面(HMI)访问。机器数据可以用于预测性维护,这意味着机器数据可以用来预估机器即将发生故障的时间。
PLC虚拟化在这里并非是指软件PLC(SoftPLC)或安装虚拟机里面的软件PLC,而是指将PLC执行环境与I/O模块解耦,并将PLC执行环境标准化、模块化、虚拟化的实现。而软件定义则是将PLC的逻辑抽象出来,利用软件定义网络的实现思路,通过一个应用程序商店的方式实现针对PLC执行动作的程序开发和管理,让应用程序定义硬件PLC的功能。也就是将PLC的逻辑控制、程序存储和IO模块分离,利用应用程序实现逻辑控制部分。
工业互联网或工业4.0在实现PLC虚拟化或软件定义的PLC时,均使用到了以下技术:
l 基于管理程序或容器的虚拟化
l 软件定义网络(SDN)
l 网络功能虚拟化(NFV)等
PLC虚拟化典型的架构实现在学术界和工业界比较典型的架构和描述是:
图2PLC虚拟化架构