5G虚拟化PLC技术研究与实践
摘要:随着PLC软件标准化和5G网络的发展,PLC从专用控制设备向软件功能服务转变,工业控制从现场向泛在、从软硬一体向软件定义方向演进。首先,通过分析工业控制系统演进趋势,提出以5G虚拟化PLC为技术底座的新型5G工控系统。其次,分别从架构、关键技术等方面阐述了5G虚拟化PLC的技术特点,并介绍了以5G工业网关为载体开展的5G虚拟化PLC技术实践。最后,展望虚拟化PLC的发展趋势,分析5G虚拟化PLC技术发展面临的挑战。
0 引言
工业控制是工业生产核心环节。可编程逻辑控制器(Programmable Logic Controller,PLC)是工业自动化控制的关键设备,广泛应用于工业、交通、市政等国民经济各个方面。PLC在顺序控制器的基础上引入了微电子、计算机、自动控制和通信技术而形成的工业控制装置,目的是用来取代继电器、执行逻辑、计时计数等顺序控制功能,建立柔性的编程控制系统[1]。传统PLC工控软件与硬件紧密耦合,国外产品占据主要市场份额,存在成本高、可扩展性不足等问题。
1 工业控制系统演进趋势
随着控制科学与计算、信息、通信等学科交叉融合,控制理论从经典反馈控制、现代控制向数据驱动的智能控制发展,控制系统从单点控制、网络化控制向基于分布式的云控制演进。通过信息与通信技术(Information and Communications Technology,ICT)与运营技术(Operational Technology,OT)融合创新,传统工业控制系统逐渐向新型工业控制系统演进,具备互联性、可扩展和数据驱动决策等新特点,具体表现为以下两大趋势[1]。
(1)封闭孤立的专用控制架构走向开放解耦的通用控制架构
随着5G、边缘计算等技术的出现与发展,传统ISA-95的五层工业控制架构开始向“端-边-云”三层架构转变。其中控制层PLC演进成为产业各界关注的热点。从技术上看,工控任务从嵌入式专用设备开始向具备实时数据处理能力的云边通用设备迁移。从业务上看,逻辑控制等软实时任务逐渐迁移至边缘或云端集中控制,运动控制等硬实时任务仍留在现场侧设备执行。
(2)单一控制任务处理走向分布式多任务协同处理
传统 PLC 采取顺序处理的方式处理任务,但控制规模扩张带来任务量增加、任务种类广泛、各任务的优先级差异扩大、任务之间的协同要求变高,尤其是大数据和人工智能技术的引入,传统控制任务和数据驱动的IT任务高效协同必然要求传统控制系统从单节点处理向多节点协同处理转变。
2 5G云化PLC的技术发展路径
伴随ICT发展,尤其是以5G为代表的网络技术发展,5G云化PLC成为解决传统PLC问题的重要手段。以PLC控制任务部署位置为划分依据,当前5G云化PLC存在三大技术发展路径(见图1)。
图1 5G云化PLC的技术发展路径
(1)现场级云化PLC:控制任务部署在工业网关上,适用于现场级中高速控制场景,支持1~5 ms及以上工控周期,具备较高的可靠性,部署成本较低。
(2)边缘级云化PLC:控制任务部署在室内基带处理单元(Building Baseband Unit,BBU)、用户面功能(User Plane Function,UPF)或多接入边缘计算(Multi-Acess Edge Computing,MEC)上,适用于车间或工厂级中低速集中化控制场景,支持20 ms及以上工控周期,部署成本较低。
(3)广域级云化PLC:控制任务部署在中心云服务器上,适用于工厂级低速协同控制场景。利用光纤和确定性网络技术增强,端到端时延可降低至5 ms,但部署成本较高。
目前的5G云化PLC技术路线存在架构不统一、不支持边端协同、PLC应用无法编排等问题,尤其是5G网络服务工业控制面临时延、抖动、可靠性等挑战。针对上述问题,本文提出5G虚拟化PLC技术架构,通过“端-边-云”协同,实现3个“统一”:统一运行环境、统一部署调度和统一开发运维门户。
3 5G虚拟化PLC的技术架构
3.1 虚拟化PLC的典型特征
虚拟化技术是一种资源管理技术,通过使用软件技术在计算机硬件上创建抽象层,将单个计算机的硬件资源分成多个虚拟计算机,提升资源利用效率和安全性。虚拟化技术在云计算中被广泛使用,随着虚拟化技术的不断发展与成熟,虚拟化技术也在更多的领域、不同的硬件架构上得以应用[2]。
虚拟化PLC(Virtualization PLC,vPLC)通过创建虚拟化运行环境,实现PLC控制任务与硬件设备分离,进而可将PLC任务部署在各类不同网元设备上。vPLC具备3个典型特征。
(1)PLC软硬解耦:传统PLC采用嵌入式硬件和实时操作系统,软硬件耦合紧密。vPLC通过引入PLC运行环境,由PLC运行环境提供PLC任务的加载、执行和调度,从而实现PLC任务与实时操作系统的解耦。
(2)PLC虚拟运行:在通用硬件上通过虚拟化技术,实现异构操作系统部署运行。PLC运行环境部署在虚拟操作系统上,实现PLC任务与底层硬件的解耦。
(3)PLC编排调度:vPLC本质是PLC软件服务,可在“端-边-云”系统中对其编排部署,也可在运行期间进行动态调度,提供明显区别于传统PLC的灵活性和可扩展性。
与传统PLC相比,vPLC提高了系统灵活性和可扩展性,降低了设备和运维成本,极大地促进了生产线的更新和重新设计[3]。
3.2 虚拟化PLC为5G工业控制系统提供统一的技术底座
5G工业控制系统以vPLC为核心,旨在提供一种控制即服务(Control as a Service,CaaS)的开放体系架构,PLC控制功能可泛在部署、灵活复用,在异构网络下实现设备的即插即“控”。5G工业控制系统基于“端-边-云”协同的理念进行架构设计,包括运行层、服务层和开发层(见图2)。
图2 5G工业控制系统架构
(1)运行层:基于实时虚拟化技术,在通用硬件上为vPLC提供统一的实时运行环境。虚拟化支持实时操作系统与非实时操作系统混合部署,支持vPLC的动态扩展。
(2)服务层:负责将vPLC部署到不同物理节点,同时对其生命周期进行管理,实现PLC工控服务统一部署和调度。
(3)开发层:提供PLC应用开发环境、编译、调试工具,为5G工业控制系统提供统一的开发运维门户。
5G工业控制系统具备多种技术优点。首先,它为3类不同的云化PLC技术提供统一架构。一方面,支持控制中心从现场向边缘、中心云迁移,摆脱现场环境对设备的制约,实现PLC控制集中化部署。另一方面,端侧vPLC可保障对现场设备的低时延控制,支持包括运动控制在内的各类高实时性应用。其次,在5G各类网元部署vPLC,为工业控制提供了“连接+算力+PLC能力”的一体化能力,打造新型的扁平化工业控制体系,打破传统工业控制垄断生态。再次,基于通用软硬件架构可以降低工业控制成本,推动“软件定义工业”走向成熟。
4 5G虚拟化PLC关键技术
4.1 实时虚拟化
PLC任务作为操作系统进程在操作系统上按照工控周期循环运行,必须在每个工控周期确保PLC进程可以接收外部输入以及获得CPU处理时间。为了提供可靠的PLC控制服务,操作系统的实时性是关键因素。实时虚拟化技术是指在通用硬件上通过软硬件虚拟化,实现实时计算任务和非实时计算任务混合部署,支持将多个嵌入式设备上的计算任务合并到同一个通用设备中运行。实时虚拟化技术在保障实时性的同时,还可发挥通用操作系统良好的硬件适配和丰富的应用能力,具备降低设备成本、尺寸、功耗,实现异构设备生态兼容等优势。
目前业界已有多种虚拟化技术,主要分为硬件分区、完全虚拟化、准虚拟化、操作系统虚拟化等。其中,适合做实时虚拟化改造的主要包括以下3种。
(1)硬件分区:将底层硬件资源划分成为相互独立的分区,每个分区都具有各自独立的操作系统。硬件分区实时性好,接近裸机性能,但无法实现资源共享,扩展性不足,资源利用率较低。尤其是外设I/O需要事先分区,无法复用,提高了技术成本。
(2)实时Linux容器:通过Preemption Patch、Xenomai等方式将Linux从分时系统改造为实时系统,再通过容器轻量级虚拟化提供资源隔离,为PLC构建一个实时、虚拟化的运行环境。该方案可充分利用Linux成熟的软硬件生态,降低PLC软件移植成本。尽管容器运行开销较低,但改造后Linux内核实时性仍低于实时操作系统(Real Time Operating System,RTOS),在伺服运动控制等场景存在抖动毛刺问题。
(3)微内核虚拟化:通过微内核作为Type-1的虚拟化软件(Hypervisor)实现RTOS与通用操作系统(General Purpose Operating System,GPOS)混合部署。微内核相对宏内核功能简化、开销小、安全性好,可在提供硬件虚拟化同时提供高实时性。目前,该技术在工业、汽车车机、机器人等领域呈现积极发展态势,但存在技术生态不成熟、硬件适配难度大等问题。
5G工业控制系统可依据不同网元、不同场景选择不同实时虚拟化实现方式。对于边缘和云侧vPLC,优先选择实时Linux容器技术。一方面Linux实时改造开销小、部署便捷。另一方面容器编排调度、冗余备份技术成熟,风险低。考虑到端侧vPLC实时性要求较高以及端边协同需要,端侧vPLC优先选择实时Linux容器或微内核虚拟化方案。
4.2 5G确定性网络
5G工业控制系统对网络连接提出两大主要要求。一是极低延迟的空口能力。在工业运动控制、控制器间通信、高速逻辑控制等场景下,控制周期短(1~5 ms),可靠性要求高(》99.999 9%),数据纵向跨层、横向跨系统对无线空口性能提出了高要求。二是在异构网络环境下数据的确定性传输。网络诱导时延的不确定是影响控制系统稳定性的关键因素。现有网络线性跳跃系统建模可以补偿不稳定的随机延迟,但仍难以满足实时控制性能需求[4]。
确定性网络是一种能够为用户提供确定性服务质量的网络,具备灵活切换确定性服务和非确定性服务、自主控制提供确定性服务质量等级的能力。典型的确定性网络技术如表1所示。综合来看,确定性网络技术是实现5G工控系统网络的主要路径。5G确定性网络(5G Deterministic Networking,5GDN)采用高精度时钟同步、流量整形、资源预留等技术在5G网络切片基础上实现确定性带宽、确定性时延和99.999 9%的连接可靠性,打造可预期、可规划、可验证,有确定性能力的无线网络,提供“差异化+确定性”的业务体验[5]。5G确定性网络结合现场网络、边缘计算等技术可实现端到端确定性控制[6]。
表1 典型确定性网络技术
4.3 “端-边-云”协同编排
通过实时虚拟化,传统PLC硬件设备变成与硬件解耦的PLC软件服务。在5G云边端架构中,需要对PLC软件服务进行灵活部署,因此需要提供vPLC统一编排调度平台。
vPLC编排调度支持将vPLC以容器或虚拟机的方式部署到5G工业网关、5G工业基站、5G工业UPF以及MEC等网元上。编排方式包括计算芯片与 IO 芯片的互连(Controller to IO,C2IO)和计算芯片之间的互连(Controller to Controller,C2C)两种类型。C2IO指PLC到IO的通信,包含主PLC到IO和从 PLC到IO 两种情况。C2C指PLC到PLC的通信,主要是主PLC对从PLC的控制。典型场景下,云端部署生产控制系统、工业软件、企业信息化管理系统等。边缘侧主要部署主PLC,负责与云端系统对接,以C2C类型生成并向部署在端侧的从PLC下发控制指令。端侧从PLC主要负责C2IO通信,接收边缘主PLC控制指令,控制现场侧IO设备。
与Kubernetes、Kubevirt等编排系统不同,vPLC具有高实时性、高可靠性要求,普通容器或虚拟机的编排难以满足苛刻的工控周期要求。对vPLC的编排调度需要牺牲部分伸缩性,以换取更高的实时性和可靠性。其中,vPLC冗余热备是编排调度的核心组成部分。5G vPLC编排调度模型如图3所示。
图3 5G vPLC编排调度模型
5 5G虚拟化PLC实践
5.1 试验场景与方案
为推动5G与工业深度融合,中国移动联合产业合作伙伴开展5G vPLC的技术实践,目前已在十余家工业企业验证应用。以某典型客户为例,中国移动为该客户在生产车间部署了5G网络,为自动导向车(Automated Guided Vehicle,AGV)物料搬运提供网络服务。业务需要根据不同类型的物料,由业务平台规划AGV不同移动路径,指引AGV在立库和不同工段间移动。
针对该场景需求,5G工控系统搭建了“主vPLC-从vPLC”端边协同架构(见图4)。在边缘侧,主vPLC部署在UPF上,实现PLC的集中化部署。主vPLC负责接收制造执行系统(Manufacturing Execution System,MES)下发的任务指令,将任务封装成控制指令,发送给AGV携带的从vPLC,同时接收从vPLC执行过程中的反馈信息。在现场侧,从vPLC部署在5G工控网关上,实现对PLC和5G 数据传输设备(Data Terminal Unit,DTU)的“二合一”替换。一方面,从vPLC负责接收到主vPLC发送的控制指令,通过传感器控制AGV的驱动系统,实现精确的移动和定位。另一方面,当AGV到达目的地,从vPLC将任务执行结果反馈给主vPLC,上报任务完成情况。
图4 应用场景示意图
5.2 系统研发
采用实时容器技术分别在5G UPF和工业网关上部署vPLC,将其改造成5G工业UPF和5G工控网关,主要配置如表2所示。
表2 UPF和网关软硬件配置
5G工业UPF、5G工控网关与编排平台组成如图5所示的系统架构,其中主要的研发工作如下。
图5 系统技术架构图
(1)Linux内核改造
首先,通过集成Preempt-RT补丁将UPF、网关原有内核改造成实时内核,改造后的内核版本分别为Linux 4.18.16-rt和Linux 4.4.167-rt。在高负载情况下,改造前后进程处理最大时延可从8 ms降至500 μs。其次,配置CPU资源隔离将实时任务常驻特定CPU核心,降低任务切换开销,将进程处理最大时延抖动进一步降到300 μs以下。再次,设计中断路由,将外设中断响应路由到其他CPU核心上处理,降低对实时任务运行的干扰。通过上述Linux内核改造,进程处理最大时延抖动可降到100 μs以下(见图6、图7)。
图6 Linux内核改造前进程处理时延
图7 Linux内核改造后进程处理时延
(2)PLC-runtime容器化
为了支持PLC动态扩展,需要为PLC-runtime构建容器虚拟运行环境。首先,基于Alpine构建PLC容器镜像,主要包括PLC-runtime和32/64位动态链接库集成。目前,系统已经适配两款国产PLC-runtime。其次,创建vPLC实例对应的容器卷,用于PLC容器运行期间产生的数据持久化。再次,PLC容器运行期间需要访问主机外设资源。对于RS232/485、CAN等外设接口,通过驱动设备文件映射的方式访问。对于IP网络接口,通过端口映射的方式访问,主要映射的端口包括PLC程序下装接口以及总线外部服务端口,比如Modbus TCP从站对外服务端口等。
(3)vPLC编排
为了支持UPF和网关统一编排,降低网关资源开销,采用B/S架构开发轻量级编排系统。用户通过浏览器进行前端操作,后端分为管理模块和编排模块实现PLC容器编排部署。管理模块部署在服务器上,主要提供Web访问、容器镜像下载、配置和监测PLC容器等功能。编排模块分别部署在UPF和网关上,主要提供容器镜像拉取、容器环境配置、运行管理等功能。管理模块和编排模块通过HTTP相互通信。以容器运行监测为例,编排模块通过Docker Client定时与本机Docker服务通信,获取容器运行状态信息,然后上报给管理模块,当管理模块发现状态异常时进行异常处理。vPLC编排系统界面如图8所示。
图8 虚拟化PLC编排系统界面
5.3 试验效果
完成5G工业UPF和5G工控网关现场部署后,配置主vPLC与从vPLC、从vPLC与IO采用Modbus TCP通信,将从vPLC工控周期配置为5 ms,主vPLC工控周期为20 ms,主vPLC每个工控周期包含一次与从vPLC的通信。经过长时间运行测试(14 D),AGV调度运行良好,未发生停机或路线偏移故障。测得主vPLC平均执行时间为457 μs,最大执行时间为599 μs,最大抖动为532 μs(见图9)。在工业控制中,一般要求时延抖动控制在工控周期10%~15%以内。据此测算5G工控系统采用主从vPLC端边协同架构,可以支持5 ms及以上的工控周期,满足中高速工业控制性能需要。由于目前5G口空延迟仍在5 ms以上,相比vPLC边缘侧单一部署方案,端边协同方案实现了集中化部署和支持中高速控制两大优势的结合。
图9 虚拟化PLC性能测量
传统PLC方案成本包括主PLC、从PLC、5G DTU等设备成本,5G工业控制系统方案包含5G工业UPF软件授权和5G工控网关的成本,5G工业控制系统方案相比于传统PLC方案的成本投入,设备采购价格显著降低50%以上。另外,5G工业控制系统支持统一编排,PLC应用下装、更新、运维均可以集中化远程进行,扩展灵活,运维时间缩短80%以上。
综上所述,5G工控系统在5G网元上通过软件升级即可提供PLC工业控制服务,无需硬件改造,不干扰UPF或网关的已有业务,支持中高速工业控制,具有应用场景丰富、成本降低、易维护、可扩展等优势。
6 结束语
随着第四次工业革命到来,作为工业控制核心的PLC已难以满足工业互联发展需要。推动ICT与OT融合创新,加速技术与各类生产要素的融通,构建新型5G工业控制系统前景广阔。一方面,5G vPLC为5G云化PLC提供了统一的技术架构和技术路径,另一方面构建5G vPLC技术生态将激励PLC厂商从硬件产品向软件服务转型,为国产PLC技术提供了新的发展空间,有望打破现有PLC“七国八制、国外垄断”的市场格局。当前,5G工业控制系统仍处在发展初期,需要联合产业各方力量在微内核虚拟化、确定性网络、冗余热备等关键方面做技术攻关,不断提升完善5G工业控制系统。同时,需加强与高校合作,培养工业自动化与信息化复合技术人才,推动工业控制高质量发展。
全部0条评论
快来发表一下你的评论吧 !