Virtual PLC in Industrial Edge Platform

标题(Title)

Virtual PLC in Industrial Edge Platform: Performance Evaluation of Supervision and Control Communication
本文探讨了虚拟PLC在工业边缘平台的性能,这个性能关注的主要是监督和控制通信。
IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 73, 2024

摘要(Abstract)

边缘计算可以减少延时,PLC设备和边缘计算结合可以更好的实现自动控制。为了追求更高的可扩展性和可维护性,容器化的虚拟PLC成为一种方案。但vPLC的短板就在于其通信延时可能增加。本文就在研究vPLC在机器对机器(M2M)场景中与其他机器、控制器、监督系统和数据采集系统交换数据时的性能。结果指出,vPLC可以同样达到3ms的延时,但是由于其IP栈的实现,可能会出现50ms的随机延时。

背景(Background)

虚拟PLC(vPLC)的优势:
最新的方法提出了虚拟PLC(vPLC),即PLC固件的容器化版本。vPLC可以在任何支持容器的平台上运行,确保易于维护、轻量虚拟化,并完全独立于硬件和操作系统。此外,基于容器的自动化方法允许微服务架构,提供可扩展性、可观测性、可追溯性和可核查性等新特性。工业设备可以(独立于硬件)运行所需的服务,维护和更新由中心化管理,确保系统的安全性和完整性。

工业上无法接受抖动和高延迟。因此对vPLC的性能评估至关重要。

本项目的目标是提供一种方法、实验程序和一套指标,用于评估PLC和vPLC的通信和数据交换性能。由于PLC位于自动化栈的中心,它们有两种数据交换方式:一是与其他机器、监督控制和数据采集(SCADA)系统连接,二是与传感器和执行器连接以执行控制动作。虽然传统PLC在这两个方面已有充分研究,但对容器化vPLC的研究相对缺乏。

重点评估PLC之间或PLC与SCADA之间的机器对机器(M2M)数据交换性能。主要贡献包括:

  1. 定义一种方法,从数据流角度比较PLC和vPLC的性能。
  2. 定义一个实验设置及其相关实验程序。
  3. 定义用于比较性能的指标。
  4. 将所提出的方法应用于实际工业用例,展示其对系统建模、得出结论及改进实时行为的实用性。

传统架构和虚拟化之后的架构

传统SCADA集收集、监控、分析数据为一体。运用虚拟化技术,不仅仅PLC可以虚拟化,sensors和SCADA也可以。

影响虚拟化性能的三因素

  1. virtualization technique
  2. operating system
  3. hypervisor

主要的虚拟化技术有:

  • 完全虚拟化:提供高水平的隔离,允许在单台物理机器上同时运行多个操作系统。
  • 容器化(轻量虚拟化):容器提供了一种轻量级虚拟化形式,共享主机操作系统内核。

主要内容(Main Content)

研究目标

  1. 方法论设计:设计一种评估现有架构性能的方法,特别关注在监督级别(M2M、C2C和SCADA)上的通信性能。
  2. 实验设置:定义实验设置和程序,用于实际工业用例的测试。
  3. 性能指标:定义性能指标,用于比较PLC和vPLC的数据交换性能。
  4. 实际应用:通过实际用例展示所提出方法的有效性,特别是比较vPLC和真实PLC在机器对机器数据交换中的性能

方法概述
测试设置:

  1. 识别通信伙伴:在测试架构中,首先识别两个通信伙伴,分别称为客户端PLC(Client PLC,C)和边缘PLC(Edge PLC,E),它们通过M2M(机器对机器)协议连接。
  2. 网络访问:识别用于数据交换的物理网络,并使用网络访问点(T)捕获和分析所有相关数据包,以评估网络延迟和通信栈延迟。
  3. 事务类型:确定要评估的事务类型,例如“请求与响应”事务类型,这在许多监督协议中非常常见。
  4. 时间戳:对每个事务相关的事件在C、E和T上进行时间戳记录,并引入适当的请求随机化,以确保事务之间没有时间关联。

    性能指标
    定义了若干性能指标,用于评估“请求与响应”类型事务中的延迟。这些指标包括:
    LCC:请求-响应往返时间。
    LTT:从请求发送到响应接收的通信栈延迟。
    LEC:从请求生成到接收到请求的延迟。
    LCE:从响应生成到读取响应的延迟。
    LTC:请求从C传输到总线的延迟。
    LET:请求从网络传输到E的延迟,包括E的通信栈。
    LTE:响应从E传输到网络的延迟。
    LCT:响应从网络传输到C的延迟,包括C的通信栈。
    对于“发布与确认”类型事务,指标相同,而对于“发布无确认”类型事务,只需使用相关方向上的子集指标。

同步
为了确保分布式测量系统中的时间戳一致性,本文采用网络时间协议(NTP)进行设备同步,通过交换数据包确定客户端与服务器之间的时钟偏移和网络延迟,并校正客户端时钟。

实验设置与用例
在实验设置中,使用以太网作为网络,利用以太网Tap设备(Profitap C1AP-100)复制所有以太网流量并将其转发到嵌入式系统(Siemens IOT2050)进行时间戳记录和数据存储。
用例中使用的设备包括:

  1. PLC S7-1512C-1 PN:作为真实PLC的代表,具有快速CPU和实时协议支持。
  2. CPU1582V(vPLC):在Simatic IPC227E工业PC和桌面PC上运行,作为虚拟PLC的代表。
    实验矩阵中包含各种设备组合,以全面评估不同环境下的性能。

    协议和数据验证
    用例中使用S7comm协议进行M2M通信,评估请求和响应事务中的延迟。通过分析网络数据包,识别和过滤掉偶发的地址解析协议(ARP)活动,以确保评估的准确性。

发现:

  • 当两个通信伙伴都是真实PLC时,事务非常快,延迟变动极小。
  • 当一个通信伙伴为vPLC时,延迟变动较大,主要是由于vPLC的IP栈实现采用100ms的轮询周期。

实验结果

  • 实验结果显示,vPLC的响应时间分布存在两个100ms周期,一个用于C,一个用于E。
  • 平均往返时间(LCC)在真实PLC之间约为3.3ms,而vPLC之间则接近100ms。

评价和感想(Evaluation and Reflections)

  • Docker技术似乎很火,可以了解一下。并自己实现一个vPLC

未来研究方向(Future Research Directions)

  1. 实时通信评估:
    • 未来的研究将重点评估vPLC在与传感器和执行器的实时通信中的性能。这将涉及更精细的时间测量设备,如直接1-PPS同步信号和GPS接收器。
  2. 硬件和成本考虑:
    • 考虑到实时测量可能需要额外的硬件和成本,未来的研究将探索更经济高效的解决方案。
  3. 虚拟组件的发展:
    • 随着虚拟组件(如vPLC)的发展,基于本文描述的测量和测试程序,虚拟组件的性能可以快速改进。设计、测试和重新设计的循环可以显著提升虚拟组件的可靠性和性能。

参考文献(References)

https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=10449455
Gaffurini, M., Bellagente, P., Depari, A., Flammini, A., Sisinni, E., & Ferrari, P. (2024). Virtual PLC in industrial edge platform: performance evaluation of supervision and control communication. IEEE Transactions on Instrumentation and Measurement.

-------------本文结束感谢您的阅读-------------