工业智能网关自动化测试平台设计
2020-08-13张娟娟
栾 燕,张娟娟,张 健,胡 博
(1.国家工业信息安全发展研究中心,北京 100040;2.中科软科技股份有限公司,北京 100000)
0 引言
随着工业互联网以燎原之势发展,企业上云的内容向纵深发展,从系统上云逐步过渡到设备上云。截至2017年我国工业设备联网率仅为10%,目前工业通讯协议标准不统一、互不兼容[1],此外还存在大量不开放协议的“哑设备”,导致设备数据采集难、传输难、应用难。工业网关作为设备上云的关口,具备数据采集、数据存储、协议转换、数据转发、边缘计算等功能,同时要保证运行的可靠性和高效性,是工业物联网的重要设备[2,3]。
工业网关设备的连接以及硬件选型,面临网关种类繁杂、应用场景不同、通信协议不兼容、连接方式多元化、管理与控制复杂、连通性及兼容性波动等问题。工业网关本身的接入能力和指标,尚未有统一的标准和完整的评价体系,本平台旨在通过搭建面向工业智能网关的测试平台,推动网关产品走向规范化、标准化。
1 测试平台设计
工业智能网关测试平台采用分层架构进行开发和设计,将综合测试软件、测试控制软件实现系统平台内部的分开部署,各模块间通过共享测试案例库、通信协议以及RestFull API接口进行信息交互,以实现系统功能。
图1 工业智能网关自动化测试平台架构
本测试平台主要面向PLC和传感器的网关产品,根据采集接口的不同,本文将被测网关分为协议网关和采集网关。其中协议网关是指提供串口/网口采集智能设备数据,支持通过总线通信协议的方式获取数据,能够把各种不同的采集协议转换成标准的网络协议发送到监控中心的装置或系统。采集网关是指提供IO接口采集哑设备数据,支持通过信号转换方式获取数据,把各种不同的IO数据进行统一封装,打包成标准的网络协议发送到监控中心的装置或系统。
工业智能网关测试平台设计框架如图1所示。该平台共包括三大组成部分:测试硬件环境、测试控制平台、综合测试平台。
测试硬件环境由主流PLC,IO管理器,PLC编程工作站,网关配置工作站,台架和配电等组成。其中:主流PLC作为测试平台的硬件环境,支撑网关数据测试,接收网关指令;IO管理器用于模拟设备数据源向被测网关和测试控制平台传递设备源数据;PLC编程工作站用于编写测试用例数据并下载到陪测PLC;网关配置工作站用于配置网关的基本参数、采集服务、转发服务、边缘计算服务等。
测试控制平台用于接收综合测试平台的测试用例,并通知IO管理器执行测试用例;同时接收IO管理器的原始数据,向网关综合测试平台发送原始数据。
网关综合测试平台是工业智能网关测试平台的核心组件,是整个测试平台的前台,用于配置测试项、陪测PLC型号、测试用例等。网关综合测试平台根据配置向测试控制平台发送测试用例,并接收测试控制平台发送来的原始数据;同时向被测网关发送请求,并接收工业网关转发的采集数据;对比原始数据和采集数据,判断测试结果。
2 关键技术
2.1 自动化测试技术
本文的工业智能网关测试平台采用了自动化测试技术,相比于手工测试测试方式,自动化测试通过编写一个通用的自动化软件来测试智能网关的功能、性能等指标。一方面提高测试的可重复性和有效性,另一方面可以更好模拟智能网关应用在现场时的工作场景。
1)采用数据驱动的测试框架。初始阶段对所有IO管理器和陪测的PLC进行测试用例数据的编程,IO管理器和每一个PLC都有各自的编程文件,将测试数据存储在编程文件中,大大提高了测试用例的维护性和重复性。
2)采用测试脚本的测试框架。定义了一套自动化测试的流程:测试准备→启动测试→执行测试用例→获取原始数据和采集数据→对比原始数据和采集数据→给出测试结果。具体的测试用例和测试流程分属不同的领域,这样就可以大大增强了测试的低耦合性和标准化性。
3)提供可配置的标准测试例库。案例库包括了所有PLC的测试用例,提供了通用测试案例,协议网关测试案例,采集网关测试案例。同时提供测试案例生成器,用于展示测试案例库,查询测试案例,生成测试案例。测试人员可以根据需要随时维护、变更和添加测试案例,从而从本质上实现了工业网关和测试案例的抽象分离。
2.2 源数据模拟技术
本测试平台创新性的采用PLC和IO管理器提供源数据,通过编程的方式将测试案例的写入陪测PLC和IO管理器中,根据测试需求产生源数据。其中,PLC为协议网关提供源数据,IO管理器为采集网关提供源数据。源数据由数据类型、数据长度、读写属性、操作模式、刷新周期、步长等组成。
IO管理器采用西门子S7-1200PLC,保证少于0.05%误差的高精度,14位真有效精度可能够提供高速信号源,支持至少2个通道的10KHz的脉冲输出,提供至少4通道高速计数器,最大频率支持200kH。所有AI,AO支持电压-10V~10V与0~20mA电流的输入输出。
2.3 多协议解析技术
工业智能网关测试平台支持工业网关上行的主流协议ModbusTCP、OPCUA、MQTT等,下行的主流协议ModbusRTU、PPI、MPI、DF1、SNP、ProfiNet、EtherCAT、CCLink等的协议解析。
对于上行通信协议:能够解析标准的ModbusTCP采集协议、基于MQTT通信机制的不同厂家不同网关型号的多个MQTT采集协议、基于OPCUA的客户端采集协议。对采集的数据帧进行协议接入、协议解析、协议组包等,并把解析出来的数据保存到采集数据实时库中。
对于下行通信协议,本平台需要提供具有该下行通信协议的陪测PLC。
3 测试指标及原理
根据工业网关的实际应用需求,结合对主流工业网关产品的深入调研,本测试平台对工业智能网关的数据采集、边缘计算、数据转发等功能指标,串口采集通信速率、点容量、AI/AO精度等性能,数据丢包率、数据错误率等可靠性指标进行测试。根据被测网关类型不同,可分为通用测试指标、专用测试指标,具体测试指标如表1所示。
表1 工业智能网关测试指标表
4 测试流程
本平台提供了一种工业智能网关的自动化测试方法及系统,能够高效测试网关的功能、性能及可靠性。综合测试平台根据测试工单号,逐一对测试案例集里的测试案例执行测试,和测试控制软件、测试硬件设备,被测网关一起形成测试闭环,综合测试平台进行数据比对,并给出测试结果。
5 测试实例
图2 工业智能网关测试流程图
为验证本工业智能网关自动化测试平台的有效性,采用西门子S7-200Smart作为陪测PLC,对某型号协议转换网关进行测试。其中西门子S7-200Smart具有ProfiNet以太网端口、PPI端口,被测网关支持ModbusTCP协议转发,利用测试平台对开关量数据采集、模拟量数据采集、脉冲量数据采集等功能性指标,最大/小通讯速率下的数据丢包率、最大/小通讯速率下的数据错误率等可靠性指标,串口最大/最小采集通信速率、电容量等性能指标进行测试。采集周期设置为5000毫秒,最大通讯速率设置为19200bps,最小通讯速率设置为1200bps,部分指标测试过程实例如图3~图5所示。
图3 被测协议网关脉冲量数据采集指标测试实例
图4 被测协议网关最大采集通信速率指标测试实例
图5 被测协议网关长期稳定性指标测试实例
6 结语
本文设计了一种工业智能网关一种自动化测试平台,创新性的采用自动化测试、源数据模拟、多协议解析等关键技术,同时设计了网关的测试指标,通过前台配置被测网关的参数和测试项目,选定测试项目对应的测试案例,对测试项目进行测试,记录测试项目测试结果,从而实现网关功能、性能、可靠性等相关指标的自动测试,最后通过实例验证了该测试平台的可行性和有效性。
该测试平台为工业智能网关的验证评价提供了一种可靠的方法,通过模拟工业现场接入环境,提前验证网关对现场的适配性,帮助工业企业选择合适的工业智能网关,同时通过规范工业网关指标,推动网关产品走向规范化,助力设备上云。