继电保护是构成我国智能电网的重要组成部分,在保障电网安全稳定运行中发挥着极其重要作用[1-2]。如今伴随着数字化保护的推广,就地化保护紧锣密鼓地试验验证、挂网试运行[3],加上继电保护呈现多类型并存、多技术嵌套的格局,从而使其研发过程测试日渐复杂。
但继电保护基本测试要求并没有改变[1],对其全生命周期测试技术的研究依然是当前研究的热点问题之一。文献[4-5]采用分布式系统和模块化设计思想,利用 Python 脚本语言构建装置闭环测试系统,实现回归测试; 但利用 Python 脚本语言实现测试繁琐且难于掌握,不利于全员推广。文献[6]基于继电保护统一建模思想提出了生产测试阶段的自动化测试系统,有效提高了生产测试效率。文献[7-9]分别针对低压保护、就地化保护、特殊罩式配电网终端装置( feeder terminal unit,FTU) ,提出了生产自动检测方案,有效提高了生产测试效率。文献[10-11]分析了智能变电站二次系统测试方法,提出了系统级测试平台方案,为智能变电站运维和故障检修提供了新方法。文献[12-15]提出了智能变电站测试平台,为智能变电站现场系统测试提供了测试解决方案。文献[16-18]讨论了继电保护测试用例生成方法,通过模版或测试用例智能生成技术,为继电保护功能自动测试提供了新思路。以上研究可以看出,对继电保护研发过程测试的研究相对较少,其高效协同测试并未得到有效挖掘。
继电保护研发过程测试的需求主要取决于以下2 点: ①不同研发阶段对测试工具要求不同,如单元测试和系统测试,但快捷测试和装置级逻辑功能连续测试是其基本需求。②对于开发时间紧的新产品、新装置,协同开发装置级测试用例需要有相应工具支撑。但目前商用继电保护测试仪仅能实现单项功能测试,协同快速开发和高效复用测试用例具有一定难度,传统网络文件共享可以让测试用例发挥一定作用,但多级测试数据文件在数量巨大的情况下,很难做到有效管控,而近几年快速发展的云技术可以有效解决这一难题。基于商用云技术提供的云共享服务为测试用例文件分类管理、权限管理、海量数据文件高速检索及上传下载等功能提供了高效解决方案。
本文针对继电保护研发测试特点,通过底层测试数据解耦,使继电保护研发过程测试所需的装置数据和测试数据趋向独立,从而形成低耦合测试数据文件,即装置配置数据和装置测试数据; 再通过映射技术实现了模拟量、开关量和装置定值数据的高效复用; *后,基于云共享实现装置配置数据和测试数据的自由导入导出,并完成连续测试流程的自由控制。
1 系统设计
1. 1 系统总体设计
如图 1 所示,继电保护测试系统有上位机软件和测试终端构成。前者负责测试数据编辑、管理、监视与测试流程控制等; 后者负责解释命令数据并按要求进行模拟量和开关量的同步输出等。本文提出的测试系统有位于*下层的测试层、位于中间层的数据共享层及位于*上层的数据分析层组成。
在图 1 中,测试层有若干测试个体组成。每个测试个体有测试终端和被测继电保护组成,实现物理信号对接,并构建闭环测试环境。
利用商用云业务构建研发级继电保护测试平台,实现测试资源整合与高效共享,该共享不仅局限于传统测试业务网络分享,更重要的是基于云业务特点,通过一系列底层和顶层设计将测试数据解耦,实现业务相关数据的高效利用。数据共享层有基于研发测试“4 要素”设计的装置配置、装置测试数据、装置测试工程和装置测试报告相关云数据组成。系统通过云端数据快速构建装置测试用例,进行装置级逻辑功能的全自动回归测试和系统级测试。测试数据云共享真正实现了研发测试数据的高效创建与快速测试。
数据分析层是建立在数据共享层上的**应用。根据实时测试报告数据云,建立继电保护产品研发质量跟踪、控制和考核体系,实现研发过程产品质量的透明控制。限于篇幅,本文不做探讨。
1. 2 测试系统组成
继电保护测试系统上位机软件,由装置配置数据编辑模块和装置测试数据编辑模块组成的编辑子系统,云端工程管理模块和本地工程管理模块组成的工程管理子系统、测试流程控制子系统,IEC103 通信模块与 IEC 61850 通信模块及测试终端通信模块组成的通信子系统构成,如图 2 所示。测试终端采用基于统一建模的继电保护测试仪 HELP9000。该测试仪硬件配置灵活,输入输出点数不受限制,能对各类继电保护实现真正闭环测试[3]。
图 2 中的装置配置数据模块主要由图 3 所示的信息功能模块组成。为了快速构建测试用例,系统支持从智能站全站系统配置文件( substation configuration description,SCD) 和描述智能电子装置( intelligent electronic device,IED) 能力文件,一键转换为具有面向通用对象的变电站事件( generic object oriented substation event,GOOSE) 输入输出配置及采样测量值( sampled measured value,SMV)输入输出配置的通用 GOOSE 数据文件。针对合并单元和录波装置的特殊应用,系统开发了 GOOSE文件输入和输出数据转化功能。基于通用 GOOSE数据 文 件,系 统 提 供 IEC 61850 中 SMV 9-2 和
GOOSE 开关 量 的 各 种 参 数 设 置; 同 时 提 供 IEC60044-8 数字量和小信号模拟量( 可测试流程控制模块可以实现对 IEC 61850-SV、IEC 60044-8 两种数字量和小信号模拟量的同时测试控制,该功能实现了对常规保护、数字化保护及数字采样常规出口继电保护的自由灵活测试。
图 3 中装置测试数据编辑模块实现了对试验故障类型数据文件的读取、显示、编辑及保存功能。本模块开发了手动试验、递变试验、光伏试验等试验测试类型。递变试验开发了基于递增、阶梯、脉冲和谐波的模拟量输出控制模式; 手动试验开发了自动步长和脉冲递变的模拟量输出控制模式。基于开关量触发和时间触发的递变试验适应于继电保护研发过程中的系统集成测试和回归测试; 而手动试验可以作为研发过程中的快捷测试手段,用于研发过程逻辑功能的日常调试。
2 系统软件核心设计
研发过程测试“4 要素”: ①建立装置配置文件。读取装置数据模型,进行模拟量通道设置。②设计测试数据文件。基于装置配置文件设置模拟量通道输出参数、开关量输出参数及监视数据等。③执行测试过程。进行快捷测试或对装置进行全功能系统级测试。④搜集测试报告。系统根据每个测试用例的测试情况,产生测试报告,并实时上传云端。“4 要素”中核心设计是实现配置文件和测试数据文件的解耦,2 个数据文件密切联系,但各自修改又互不影响; 而对于系统集成测试,测试数据文件少则几十个,多则上千个,往往测试数据的改变,会带来一系列数据修改,改动工作量十分庞大。本文将通过以下技术解决研发测试所存在的快速创建、协同开发、批量修改等诸多问题。
2. 1 云端与本地工程管理技术
云端与本地工程管理技术主要解决研发过程测试中测试用例的创建与操作。图 4 中云端与本地工程管理中设计了装置配置数据、装置测试工程、装置测试数据和装置测试报告共 4 类数据类型,实现本地与云端的相互传输。
在本地工程管理上,利用 Python 的简单、易扩展、边解释边执行且能完成复杂测试任务等特点[19-21],通过 PythonQt 脚本引擎,实现 QT 与 Python 脚本之间通信,将界面执行数据返回给 Python,Python 再将计算结果返回给 QT。通过 QT 和Python 混合编程技术实现测试用例的灵活创建,即通过界面创建测试用例,或通过执行 Python 脚本进行测试用例的批量创建。
基于 HTTP 协议开发本地与云端接口访问功能,实现本地文件和云端文件的上传下载。云端工程管理实现了按照时间或文件名模糊检索的功能。位于云端的装置配置数据、测试用例数据或测试工程数据,均可一键下载到本地并执行测试。
2. 2 大间隔数据映射技术
变电站实际物理间隔具备模拟量、开关量、装置定值、动作报文等特征数据,而大间隔数据映射技术就是基于该特征数据形成的一种高效操作方案。模拟量可以用测试终端数据模型中的 SV9-2数字量、IEC 60044-8 数字量或常规小信号模拟量进行映射; 装置定值和事件顺序记录( sequence ofevent,SOE) 可以用装置 IEC 103 或 IEC 61850 数据模型定值和 SOE 进行映射; 装置开入、开出可以用测试终端模型数据映射,还可以用继电保护背板数据模型映射。大间隔数据集映射技术使测试数据文件和装置配置文件解耦,多种数据源选择使创建测试数据文件更加容易,同时间隔间的切换也轻而易举,且对于测试间隔较多的母线、元件等保护装置尤其便利。
2. 3 模拟量、开关量数据映射技术
模拟量间隔切换主要解决超过 1 个间隔的测试数据快速构建问题。基于大间隔数据映射的操作设计为模拟量间隔快捷切换提供了技术支撑,这也使得测试数据文件中的数据和装置配置数据信息解耦。在图 5 中,基于配置数据建立的过流测试任务集合**管理文件夹中建立公共数据文件 pubData. xml,该文件记录了创建该集合二级文件夹下测试用例所用到的间隔字符串指针。当创建测试任务管理文件时,所有测试数据文件都引用该字符指针。如实现各间隔快速切换,通过鼠标右键复制该工程,并 改 变 pubData. xml 文件中间隔指针的指向。
针对装置开入、开出、定值、SOE 这 4 类数据,本文采用测试数据内部短地址进行统一管理,并提供这 4 类数据重映射功能。默认公共短地址均以CaseGroup 开头,中间根据信号类型设置默认字符。图 6 中,左侧是二级管理文件夹中若干测试用例数据及原始信号映射数据,右侧是 pubData. xml保存的内部短地址。当创建左侧测试数据文件时,系统自动为这些数据创建如 CaseGroup. BI. BI1 式的全局**内部短地址,并指向该实际数据,同时将这些数据保存在 pubData. xml 文件中; 测试数据文件仅保存信号内部短地址及测试属性数据。当执行测试用例时,通过搜索信号数据库获取实际输出信号。
从图 6 可以看出,CaseGroup. BI. BI1 内部短地址映射到 N 个测试用例文件中,如果改变 N 个测试文件中的装置开入,例如 BI1,仅需改变该短地址指向信号输出终端的开出实例数据即可。本系统采用图形化界面,通过快速拖拽 4 类原始数据,实现**测试用例管理文件夹下所有测试用例的快速重映射功能。
3 结束语
本文通过对继电保护研发过程测试进行长期跟踪,并对其特点及需求进行深入分析,在继电保护测试系统上位机软件侧,实现测试底层数据解耦,进而建立企业级共享数据云; 通过顶层和底层系统设计提出了继电保护测试核心解决方案,并开发了上位机测试系统软件。该系统解放了研发人员,使其更加专注产品研发,提高了研发过程测试效率;同时该方案在继电保护全生命周期测试的其他环节,均具有一定借鉴意义。