张娟娟,栾 燕,陶 炜,孟祥曦
(国家工业信息安全发展研究中心,北京 100040)
《中国制造2025》战略目标提出“加快轻重工业的生产设备的智能化改造”,促进制造业转型升级。在制造业转型过程中,中国制造正面临着以降本增效为目的的整个制造业升级变革,其核心是以智能化生产为中心,以自动化、数字化为手段来推动整个制造产业的发展[1-2]。当前,工业企业正以前所未有的速度步入工业4.0、全面数字化的新阶段,数据采集作为数字化转型的关口,无论是大型企业还是中小型企业,都面临着工业设备和系统数据统一采集的难题[3]。特别是工业企业在进行生产自动化升级过程中,为了降本增效,引入的设备来自不同的供应商,其接入方式、数据格式、通信协议等都存在不同程度的差异。
工业网关作为数据采集与转发的重要设备,大量应用于工业现场。尤其是近年来随着工业互联网的迅猛发展,通过靠近物或数据源头的网络边缘侧,为应用提供融合计算、存储和网络等资源的边缘计算技术也得到了广泛应用[4-5]。具备数据清洗、计算、分析能力的边缘计算网关的需求快速上升,为赋能产业数字化升级和智能化业务融合创新提供数据采集支撑[6]。随着现代科学技术的快速发展,具备高扩展性、高稳定性的智能化可编程逻辑控制器(Programmable Logic Controller,PLC)被广泛应用于各类工业控制领域,用来实现工业现场设备的开环控制、模拟量闭环、数字量控制及数据采集监控等功能。不管是在计算机直接控制系统还是集中分散式控制系统(Distributed Control System,DCS),或者现场总线控制系统(Fieldbus Control System,FCS)中,具备不同功能、不同类型的PLC得到了广泛应用[7]。然而,现阶段并没有在实验室环境中验证边缘计算工业网关异构设备接入、并行数据采集和多协议转发的方法,相关厂商通常根据自身产品应用场景做简单的功能性验证,用户企业在使用边缘计算网关产品时仍需要面临以上复杂的现场环境引起的产品不稳定性问题,而盲目的尝试则会使工业企业产生高昂的试错成本,如何验证边缘计算网关是否能够高效稳定地接入不同类型、不同协议的PLC,并实现数据的高效采集,成为亟需解决的难题[8]。
现阶段国内外对特定应用场景的工业网关制定了相关标准,如OMG组织为了能够实现DDS与OPC-UA数据转换的实现,制定了OPC-UA/DDS Gateway标准[9],数字集装箱航运协会(DCSA)根据其具体的业务需求,制定了网关连接接口标准(IoT Container Standards——IoT Standard for Gateway Connectivity Interfaces)[10]。较国外不同,国内在制定相关技术要求标准的同时,也制定了相关的测试规范,例如传感器网络网关、物联网网关制定了相关国家标准和行业标准,提出了网关的通用技术要求及功能、性能、安全方面的测试方法[11-14]。但针对边缘计算网关多设备接入、多协议兼容、多设备并行的测试方法还未制定相关标准,国内外仍是空白。
基于多PLC设计的协同的边缘计算网关测试平台,是前期在工业智能网关自动化测试平台[15]的基础上,基于边缘计算技术在工业网关中的快速发展应用,结合工业现场实际应用环境,针对边缘计算网关测试做的迭代研究与开发。本平台基于真实工业现场硬件环境,通过模拟工业产线智能化改造场景中多种异构设备接入、工业协议多样、多数据并行采集的场景,设计多PLC协同测试方法,在实验室条件下实现对边缘计算网关能力的快速验证。为边缘计算网关服务商提供产品验证新方法的同时,能够有效提高工业企业边缘计算网关产品选型效率,降低工业企业在数字化转型中面临的数据采集不稳定的风险。
基于多PLC协同的边缘计算网关测试平台是借鉴工业智能网关自动化测试平台的测试原理部分,对软硬件系统进行了重新设计和开发。硬件部分,对PLC硬件系统进行了集成,实现了PLC设备的集中控制管理。软件部分一方面对测试服务平台整体网络架构进行了升级,能够支持串口、网口PLC设备的同时接入和测试流程的分层化管理;另一方面依据文献[3]中对工业网关关键指标的定义,利用可视化技术对多PLC协同测试用例设计、开发进行了全面更新。基于多PLC协同的边缘计算网关测试平台较工业智能网关自动化测试平台在网络架构、系统功能、易用性方面都得到了升级完善。
基于多PLC协同的边缘计算网关测试平台,是通过搭建工业互联网标准试验验证环境,在PLC中模拟并产生工业现场设备数据源,从而模拟工业环境中典型的数据采集场景。串口通信和网口通信作为工业现场中最为常见的PLC与工业网关的通信方式,本测试平台通过灵活搭配网络交换机和串口切换器,可实现多种典型工业场景测试环境在单平台的集成,进而实现边缘计算网关在不同工业场景下的能力测试验证。基于多PLC协同的边缘计算网关测试平台的网络架构如图1所示。
图1 测试平台网络架构
测试平台网络架构包括3个部分:测试服务平台、PLC集成硬件平台和被测网关。其中,PLC作为被测网关的数据采集对象,可由多款串口PLC或者网口PLC组成,根据PLC的通信接口方式,采用串口切换器或网络交换机接入测试平台,实现与被测网关的物理连接,完成测试数据的传递。测试平台网络架构图中通过箭头标识了数据流向。
① 部署在本地服务器中的测试服务平台下发测试命令,包含测试用例、陪测设备(PLC)调度、执行周期等信息。
② 在PLC集成硬件平台中的I/O管理器接收到测试命令后,触发内置测试用例程序的PLC产生数据源。
③ 被测网关通过网络交换机或串口切换器采集PLC数据。
④ 测试服务平台接收被测网关转发的采集数据,并与平台内产生的理论数据做比对,最终输出测试报告。
基于多PLC协同的边缘计算网关测试平台采用分层架构进行设计与开发,分为数据源层、边缘层、平台层和应用层4个层级,其系统架构如图2所示。
图2 测试平台系统架构
数据源层由各类可以模拟工业现场设备数据的PLC组成,用于模拟多种典型工业场景下的工业设备现场数据,供被测网关采集;边缘层包括被测网关和本地服务器,被测网关是平台系统的测试对象,本地服务器部署了测试用例算法开发环境,用于产生相应的理论数据以及将数据分析结果上传至平台层;平台层由多个微服务构成,实现数据的接收、分析、存储以及测试流程、测试报告的管理;应用层则提供了多项服务的具体应用模块,通过这些模块的协作,进行测试相关操作,以及获取相应测试结果的测试报告。
为满足工业现场环境中多种异构设备接入、工业协议多样、多数据并行采集场景模拟的需要,基于多PLC协同的边缘计算网关测试平台需要能够支持多款PLC的接入及管理,满足模拟工业现场环境实际采集需求。基于多PLC协同的边缘计算网关测试平台硬件组成主要包括3个部分:本地服务器、PLC 集成硬件平台、被测网关。
本地服务器是测试平台的核心,部署了测试服务平台软件,用于测试命令的下发,PLC设备的管理,测试数据及过程信息的采集、分析、处理、计算与存储。PLC集成硬件平台由多种PLC和I/O管理器组成,PLC中内置测试用例程序,提供测试数据源;I/O管理器通过接收测试服务平台的指令实现对PLC的管理。被测网关作为被测试对象,接入测试服务平台后,经过一系列案例的测试,最终由平台输出该被测网关在功能和性能方面的测试结果。
由于本地服务器受限于存储空间及网络传输,目前只适用于局域网内实验室边缘计算网关的测试,而对于广域网内应用的边缘计算网关,将在下一阶段迭代研发的云端测试平台上进行相关能力的快速验证。
基于多PLC协同的边缘计算网关测试平台的测试流程如图3所示。测试流程详细描述见1.1章节。
图3 边缘计算网关测试流程图
基于多PLC协同的边缘计算网关测试平台需要实现边缘计算网关本地化测试服务。基于网络架构设计及系统架构设计,本测试平台需要实现源数据的开发、采集数据的处理分析和测试流程管理等主要功能。
源数据的开发主要使用一种市面上新兴的可视化组态软件——测试用例算法开发器(将在第2节进行详细描述),对不同的PLC进行测试用例的开发。较传统的PLC开发需要依赖特定的编程协议开发不同,测试用例开发器能够利用可视化组态方法极大地提高开发效率。采集数据的处理分析和流程管理依赖于测试服务平台软件来实现。测试服务平台软件使用Docker容器技术和数据引擎技术,基于系统数据库模型,实现多协议数据的开发、测试过程流转控制、测试数据分析及比对,以及测试报告输出等功能。
测试平台软件架构设计部分目前只能满足单个测试任务的执行,无法进行多款边缘计算网关的并行测试验证。多测试任务的并行执行将有效提高测试平台的使用效率,将在下一步迭代中进行。
组态软件通常指在自动控制系统监控层一级的软件平台和开发环境,能够为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具,广泛应用于工业控制领域[16]。本文使用IAPlogic(V1.0.4)可视化组态软件工具[17](测试用例算法开发器)进行测试源数据和理论数据的开发。
① 测试源数据开发。基于该工具,设计了一种快速进行PLC测试用例开发的方法,较普通的PLC编程需要适应多种编程协议,该方法极大地缩短了传统的PLC编程周期。其过程如下:在PLC中安装组态软件环境→进行测试用例开发及调试→将测试用例下载到PLC中→根据指令运行PLC中相应的测试用例。
② 测试理论数据开发。依据PLC中测试用例设计,使用该工具在测试服务平台组态不同的理论值数据、测试分析逻辑,实现测试分析过程数据比对的可视化。实时查看各个测试用例的理论值和采集值的变化规律、数据变化趋势图。通过可视化手段,辅助测试人员掌握测试过程。测试用例开发器可视化环境如图4所示。
图4 测试用例开发器可视化环境
本测试平台根据接入PLC的类型,支持多种工业网关下行通信协议,包括Modbus-RTU、ProfiNet、EtherCAT、PPI、ADS、DeviceNet、SRTP、PowerLink、MPI、DF1、SNP、CC-Link、MC、Hostlink、FINS、MEWTOCOL协议、MASTER-K、FATEK等协议的并行接入,同时支持协议扩展。
被测网关接收测试服务平台的命令,对接入的并行协议数据进行解析、组包等融合处理操作,转换为上行所需的Modbus TCP、MQTT、OPC UA、HTTP等协议类型,发送给测试服务平台,进行采集结果与理论值的比对。
本测试平台创新性地采用了多类型PLC硬件集成技术,实现PLC的并行控制与管理。通过I/O管理器接收测试服务平台下传的测试用例编号和测试用例参数,发送给测试PLC组,从而触发相关PLC产生相应测试用例的数据变化规律的数据源,供被测对象进行数据采集。同时,I/O管理器接收PLC组反馈的数据,包括PLC开关状态信号、PLC异常状态信号、PLC模拟量写值信号,并将这些信号发送给测试控制台,用于实现对PLC组状态的实时监视。
根据工业现场异构设备接入、工业协议兼容、数据采集处理等实际场景需求,本测试平台对边缘计算网关的并行采集、融合计算能力进行测试。根据并行协议是否相同,是否需要进行边缘计算,分为同种协议并行采集、异构协议并行采集、同种协议融合计算、异构协议融合计算,具体测试方案如表1所示。
表1 多PLC协同测试方案
为验证基于多PLC协同的边缘计算网关测试平台的可行性及有效性,本次模拟某企业纺织行业水刺无纺布生产线数据采集场景,依据多PLC协同测试原理,从同种协议并行测试、异构协议并行测试两方面进行验证。
该水刺无纺布生产线流程共涉及西门子、松下、研华、欧姆龙等十余款智能PLC。本次选择其中的西门子S7-400、S7-1200和S7-1500,松下FP-X0,研华APAX Soft,欧姆龙CJ1M_CPU21六款PLC作为实验室条件进行同种协议、异构协议并行测试验证的陪测设备,为边缘计算网关提供数据源,涉及到的数据点最多为1000点。
同种协议并行测试包括验证同种协议并行采集与同种协议融合计算两部分内容。本次以常见的Profinet工业协议进行功能测试和性能测试,采集端口为以太网口。PLC设备信息如表2所示。
表2 同种协议并行测试陪测PLC信息
4.1.1 功能测试
测试方法如下。
① 数据源准备。S7-1200、S7-1500、APAX Soft三款PLC中分别定义45个模拟量,初始值均为1。测试命令触发后,S7-1200、S7-1500、APAX Soft三款PLC中的45个模拟量分别以f(x)=x、f(x)=3x、f(x)=5x+3进行线性变化。
② 采集配置。对被测网关进行如下采集和计算配置:分别采集S7-1200、S7-1500、APAX Soft三款PLC中的1~15点、16~30点和31~45点。
③ 执行测试,比对网关实际采集值和理论值。
④ 测试过程及结果输出。如图5所示,红色曲线为采集值,绿色曲线为理论值,采集值与理论值一致,且基本无延迟,测试通过。
图5 同种协议功能测试采集结果
4.1.2 性能测试
测试方法如下。
① 数据源准备。S7-1200、S7-1500、APAX Soft三款PLC中定义1000个模拟量,初始值为0.1,测试命令触发后三款陪测 PLC中1000个模拟量均产生1个循环三角波,三角波每隔2 s加3.14,累加4次后数值归0,以此循环。
② 采集配置。对边缘计算网关进行如下采集配置:分别采集S7-1200、S7-1500、APAX Soft三款PLC中的1~300点、400~600点和700~1000点。
③ 执行测试,比对网关实际采集值和理论值。
④ 测试过程及结果输出。如图6所示,红色曲线为采集值,绿色曲线为理论值,采集值与理论值一致,由于采集点数量较大,存在一定延时,测试通过。
图6 同种协议性能测试采集结果
异构协议并行测试包括验证异构协议并行采集与异构协议融合计算两部分内容。本次选取水刺无纺布生产线中常见的Modbus-RTU、S7、FINS工业协议进行功能测试和性能测试,采集端口包含RS485串口和以太网口。选用的PLC设备信息如表2所示。
表2 异构协议并行测试陪测PLC信息
4.2.1 功能测试
测试方法如下。
(1)数据源准备。
① FP-X0、S7-400、CJ1M_CPU21三款 PLC中分别定义45个模拟量,初始值均为1。
② 测试命令触发后,FP-X0、S7-400、CJ1M_CPU21三款PLC中的45个模拟量分别以f(x)=x、g(y)=6y、M(z)=8z+4进行线性变化。
(2)采集配置。
对被测网关进行如下采集配置。
① 采集CJ1M_CPU21 PLC的第1~15个点位,执行如下计算。
Yi=M(zi)/4,1≤i≤15
(1)
② 分别采集FP-X0、S7-400两款PLC的第16~30个点位,执行如下计算。
Yi=F(xi)+G(yi),16≤i≤30
(2)
③ 分别采集FP-X0、S7-400、CJ1M_CPU21三款PLC的第31~45个点位,执行如下计算。
(3)
④ 采集网关对采集上来的数据进行取整操作。
(3)执行测试,比对网关实际采集值和理论值。
(4)测试过程及结果输出。如图7所示,红色曲线为采集值,绿色曲线为理论值,采集值与理论值一致,且基本无延迟,测试通过。
图7 异构协议功能测试采集结果
4.2.2 性能测试
为便于同种协议与异构协议性能测试的比对,异构协议的性能测试验证同4.1.2节,除了并行接入的PLC设备、接入协议不同外,测试方法均相同,经测试验证测试结果与同种协议性能测试相同,此处不再赘述。
通过同种协议、异构协议进行的功能测试和性能测试结果得出,基于多PLC协同的边缘计算网关测试平台能够有效地对边缘计算网关并行接入、协议融合等能力进行快速验证。同时,经实际验证采集点位的数量对边缘计算网关的采集性能影响较大,工业企业在边缘计算网关选型中应结合实际应用场景重点关注网关支持的并行接入协议数量及最大采集点数信息。
本文设计了一种基于多PLC协同的边缘计算网关测试平台,创新性地采用可视化测试用例开发、多协议融合、多PLC并行管控技术,同时设计了同种协议并行采集、异构协议并行采集、同种协议融合计算、异构协议融合计算的测试方法。通过测试服务平台下发测试命令,PLC组根据测试指令产生数据源,边缘计算网关依据规则进行数据采集与边缘计算,测试平台进行测试结果分析比对输出,从而实现了多PLC协同的边缘计算网关测试,最后通过功能和性能实例验证了该测试平台的可行性和有效性。
该测试平台通过模拟工业现场多种异构设备的接入环境,实现了对工业边缘计算网关的多设备接入能力、异构协议兼容及多设备采集数据边缘计算能力的测试,可以验证边缘计算网关对于工业典型场景的适配性,能够降低工业企业网关产品选型的试错成本,助力企业数字化转型。