闵晓霜,蒯 亮,房志奇,董 岩,靳书云,杨 跃
(中国电子信息产业集团有限公司第六研究所,北京 100083)
“十四五”智能制造发展规划确定了我国制造业的发展路径和中长期发展目标,随着智能制造发展驶入快车道,我国正式跨入工业4.0 时代[1-2]。作为工业控制系统的核心基础设备,可编程逻辑控制器(PLC)能够在其内部存储并执行各种指令[3],通过数字式或模拟式的输入与输出,对工业现场的各类设备或生产线进行控制,实现自动化控制乃至智能控制。
近年来,国内外爆发了大量针对工控系统进行网络攻击的事件,给我国的工控安全敲响了警钟。同时,信息化、工业化的深度融合与“互联网+”战略的全面推进,促使工控网络日益开放,PLC 控制系统面临的安全形势也日益严峻[4]。因此,自主研发PLC 产品和相应控制软件势在必行,尤其是在航空航天、水利水电、国防军工等高端应用领域,对国产高性能PLC 产品有着迫切的需求。但由于国产大型PLC 尚处于起步阶段,产品之间性能的差异以及是否能够满足应用需求尚缺少统一的标准与评价方法。本系统旨在通过搭建国产高性能PLC的指标测试对比平台,横向对比国外主流PLC 产品,对国产PLC 关键性能指标、应用能力进行分析与实证,建立一套完整且可扩展的评价体系,推动国产PLC 走向规范化、标准化、规模化,更为用户选用国产PLC 提供参考依据。
本文的国产高性能PLC 测试平台,采用自动化测试技术来替代传统的手工测试,通过编写自动化测试软件来测试PLC 的功能、性能等指标。这样不仅能够避免人工测试引入错误,提高测试的有效性和可重复性,而且能够更接近PLC 在工业现场的工作情况。
(1)建立了一套自动化测试流程,包括:测试配置、启动测试、下装测试用例、执行测试用例、采集分析测试数据、测试结果比较。通过简单的选择与设置,启动测试后无需其他操作,测试指令的执行采用测试脚本,根据指令选择相应的案例进行下装并启动运行,在测试平台就可以直观地观察测试结果及可视化地分析。
(2)采用了数据驱动测试框架。将输入数据独立于测试流程单独存储,测试执行过程中,通过读取数据文件并发送给PLC 实现测试数据输入,从而能够实现同样的测试流程、测试案例匹配不同的输入数据,形成多个测试用例,同时避免了PLC 程序的多次编译。
(3)预设各型号PLC 测试案例库。由于各型号PLC采用各自对应的逻辑编程软件进行控制逻辑组态,因此本系统针对不同PLC 分别预设测试案例库,采用各自的逻辑组态软件进行预编程并编译,当接收到综合测试平台的测试指令后,根据指令下装相应的测试程序并启动,同时运行相应的PLC 监控程序。
如上所述,测试数据及测试案例由用户进行预编程和管理,与测试流程相分离,降低了测试内容与测试过程的耦合性,提升了测试案例的可维护性与可重复性,并提升了整个测试平台的通用性。
硬件在回路(HiL)构建了包含实时处理器、I/O 接口以及虚拟对象的测试闭环,仿真系统中物理上并不存在的部分[5-6],可以提高测试效率、方便IO 扩展、降低建设成本。本系统采用硬件在回路技术,建立实时控制器+虚拟仿真的工业现场控制,进一步测试国产PLC 和国外产品满足工业现场应用的能力,可通过虚拟仿真来扩大系统的应用范围和测试范围。
(1)等效仿真模型。系统采用等效仿真技术,通过硬件板卡+仿真软件的方式等效模拟受控设备,与PLC进行IO 通信。基于LabVIEW 的仿真软件通过PCI 总线与PCI 板卡直接进行通信,主要作为设备仿真的图形界面,进行状态显示和控制,编写动作逻辑进行PLC 信号的接收和将信号反馈给PLC。硬件板卡选用研华的I/O板 卡,包 括PCI-1758UDI(DI)、PCI-1758UDO(DO)、PCI-1747U(AI)、PCI-1724U(DO)4 个型号,PLC 的DO输出数字量信号给DI 板卡,PLC 的DI 接收来自DO 板卡的数字量信号,PLC 的AO 输出模拟量信号给AI 板卡,PLC 的AI 接收来自AO 板卡的模拟量信号,值得注意的是,IO 模块与板卡之间需经过信号调理,将信号转换为双方均可识别,此处采用隔离栅进行信号隔离及转换。
(2)虚拟工业现场。工业现场层主要包含一些生产设备执行机构,PLC 通过信号采集与输出来控制执行机构动作,实现生产任务。本系统以油库管理为应用背景,采用NI LabVIEW 仿真软件搭建虚拟的油库管理仿真系统等,模拟真实设备控制功能和控制过程,综合测试平台从PLC 采集关键工艺参数,以此评价各PLC 的控制能力。
系统的主要思路是通过与主流国外产品进行横向对比,建立一套高性能PLC 的评价标准,直观地展现出国产PLC 的功能优劣及性能差异,为用户了解、选择国产PLC 提供依据;同时,通过搭建等效仿真的虚拟被控对象模型,以低成本、高效率的方式复现工业现场控制系统。
测试平台的设计采用分层架构,在典型的工业控制系统三层结构之上,增加了平台管理层,并在监测层增加了测试执行控制功能,通过测试总体控制软件管理各套PLC 控制系统的测试执行与反馈,各层之间通过共享测试案例、通信协议、信号传输等方式进行信息交互。系统总体架构如图1 所示。平台管理层包括综合总体控制软件、指标分析软件,负责测试平台的总体管理和测试结果分析展示;测试监视层包括三套PLC 编程软件、PLC 监视软件和测试执行软件,负责管理测试案例、根据测试指令进行测试案例的下装,并监视PLC 控制系统执行的工艺流程,每套对应各自的PLC;控制采集层包含了三套PLC,分别执行控制逻辑,控制现场设备执行动作,同时采集设备的状态信息;现场设备层包含三套虚拟仿真模型系统,分别对应不同的PLC,负责执行动作并将状态反馈给PLC。
图1 系统总体架构
系统主要包括三部分:综合测试平台、PLC 控制系统和等效仿真系统。
(1)综合测试平台是系统的核心部分,作为整个测试系统的前端,提供PLC 自动化测试的人机交互接口。用户能够根据需要选择参与评测的PLC;能够设置测试对象及内容,根据设置将测试用例下装到待测PLC 控制器中;能够实时观察测试结果,从PLC 采集测试结果数据进行分析比较、展示,并针对测试内容自动生成测试报告。
(2)PLC 控制系统是系统的测试对象,同时负责执行控制逻辑,本系统选用了超御N 系列、南大傲拓NA400 系列两款高性能国产PLC,以及主流的高性能国外产品——西门子S7-400PLC 进行指标测试及对比,各PLC 系统包含硬件模块以及上位机逻辑组态、监控组态软件。超御PLC 系统包含硬件模块及配套组态软件SCProSys、监控软件SC-ProView,南大傲拓PLC 系统包含NA400 型CPU、NA300 型I/O 及配套 组态软 件NA-Pro、监控软件NA-ProView,西门子PLC 系统包含S7400 型CPU 及S7300 型I/O 及配套组态软件STEP7、监控软件WinCC。
(3)等效仿真系统是PLC 控制对象的模型系统,能够软件模拟真实被控设备,接收PLC 控制信号进行动作并将状态反馈给PLC,包括PCI 板卡以及基于LabVIEW搭建的虚拟仿真工业环境;同时还建立了零件模型库,用户可以采用图形编程方式,基于零件模型库对有关零件进行自由组合,构建新的虚拟控制对象,也可以根据测试需要扩展工业场景。
如上,综合测试平台进行测试配置并对测试数据进行采集、分析和展示,PLC 控制系统执行测试用例控制逻辑,等效仿真系统模拟执行机构动作并反馈,三者共同形成了一个测试闭环,实现高效、可重复的自动化测试。
PLC 指标分析软件通过需求捕捉、需求分析、设计、开发和测试等关键过程实现。软件设计完成功能设计、算法设计、结构设计、模块设计等内容,软件开发环境包括跨平台开发框架Qt、设计建模工具Rational RoseBPwinERBuilder 等。软件功能由系统功能及应用功能组成。系统功能为软件提供的关于软件系统使用及维护等功能,包含用户登录管理、权限分配管理、日志管理、报表管理、界面管理等。应用功能为PLC 指标分析内容所需各实际功能项,包含登录界面、平台简介、PLC 状态监视、技术指标测试、指标分析在线显示、报表输出及打印等。软件功能如图2 所示。
图2 PLC 指标分析软件功能组成
本平台提供了一种国产高性能PLC 的自动化测试方法及系统,能够高效地测试PLC 的功能、性能及可靠性。主要测试流程如图3 所示。
图3 自动化测试流程
(1)登录综合测试平台,选择测试目标PLC,可选择部分或全部PLC 进行测试;然后选择测试方案,分为基本指标测试和应用指标测试两种,基本指标主要针对PLC 自身的功能、性能指标,应用指标测试则是基于不同工业应用场景来评价PLC 控制能力的指标。
(2)启动测试,综合测试平台根据用户的设置生成包含测试方案信息的指令;通过以太网将指令发送给各待测PLC 监控主机,测试控制终端根据指令运行脚本,根据测试方案从案例库中提取预设的测试案例,登录PLC 控制器,下装测试案例到PLC 控制器并启动。
(3)PLC 控制器执行测试程序,与对应的等效仿真系统通过PCI 板卡进行IO 通信,控制等效仿真模型执行动作,再通过PCI 板卡将模型状态反馈给PLC,PLC 判断计算指标。
(4)综合测试平台从待测PLC 采集指标数据,然后平台对各PLC 的指标进行横向对比,能够以表格、柱状图、趋势图等方式分析显示,可计算结果的平均值,用户能够实时查看对比情况,且用户可自行设置图表样式等。
(5)测试执行完成后,综合测试平台根据测试数据自动生成测试评价报告,并支持报告打印,测试过程结束。
根据高性能PLC 的实际应用需求,同时结合对主流大型PLC 的深入调研,本测试平台对PLC 设备的工作速度、中断响应速度、满载运行速度、持续运行工作速度等CPU 核心性能指标,输出响应时间、外加干扰输出响应时间、信号采集误差率、信号采集灵敏度等关键IO 性能指标进行量化测试比较。具体测试指标及测试原理如表1 所示。
表1 PLC 动态性能指标
指标分析界面如图4 所示。以CPU 工作速度为例,通过执行a=a+1 指令,并将执行时间放大5 000 倍(计算5 000 次),能够比较三种PLC 执行指令的时间,用时越短工作速度越快,用时越长则工作速度越慢,具体分析见表2。
表2 CPU 工作速度指标分析
图4 指标分析界面
在工控领域,油库管理系统的控制工艺具有一定的代表性,技能验证离散控制又能验证流程控制,本系统建立了一套油库管理的应用场景,验证并测试PLC 的控制功能。通过对油罐的动态管理实现油库内作业自动化,包括对油罐状态监视与管理、油料加注、供油、转油等功能。采用虚拟的油罐、流量计、液位计、阀门、泵等设备,根据油罐的罐号、油面高度、关键液位、实际容量等状态进行控制,液位控制逻辑为:(1)达到高液位时能自动停泵或转罐;(2)当油罐达到高高液位时,系统必须强制指令发出停止进油、关阀、停泵并进行报警;(3)使用油罐达到低液位时,能自动关闭使用油罐的出油阀门,并自动转换其他油罐使用。油库管理系统的仿真模型画面如图5 所示。
图5 油库管理系统
以上是油罐动态管理系统的工作原理,PLC 控制系统是此套系统重要组成单元,PLC 通过逻辑编程,下装后实现整套动态管理过程。
本系统建立了一套多型号PLC 横向对比、虚拟等效可扩展、丰富多维指标体系等相结合的国产高性能PLC自动化测试平台,也建立了一套国产控制系统的试验系统及评价方法。工业4.0 时代的来临在给国产PLC 带来机遇的同时也提出了更高的标准,国产高端PLC 将向着更加智能化、个性化的方向发展。本系统将继续优化,建立更加全面、精细、智能化的指标体系和试验环境,助力工业互联网安全可控发展。