测控装置自动化测试系统设计

★中国电工技术学会出品★

致力于产业界与学术界融合创新的品牌会议

①浏览会议通知,请戳下面标题 ☟

☞会议通知︱2018第十二届中国电工装备创新与发展论坛暨第八届电工技术前沿问题学术论坛(第一轮)

②了解大会征文详情,请戳下面标题 ☟

☞两大技术论坛联合征文︱《电工技术学报》《电气技术》两刊携手打造学术盛宴

③参会注册,请长按识别下方二维码 ☟(先注册网站会员,然后提交报名信息)

南京南瑞继保电气有限公司的研究人员刘永钢、熊慕文、陈桂友,在2018年第1期《电气技术》杂志上撰文,分析了测控装置自动化测试的现状和需求,提出了一种通用的测控装置自动化测试系统。该系统采用分布式结构,具备易用性、可扩展性、重用性等特点。

本文详细介绍了自动化测试系统的总体设计、软硬件组成以及测试用例的使用方法。本系统采用解耦的测试配置文件,同时测试工程和脚本独立,测试人员可以方便地进行回归测试。结果表明,自动化测试系统极大地提升了测控装置的测试效率。

随着智能变电站在电力系统的大力推广和应用,基于IEC61850标准的测控装置承担着越来越重要的作用。测控装置作为电网运行实时数据的采集和命令执行单元,是智能变电站的重要组成部分。

随着国网公司《智能变电站测控装置技术规范》、《多功能测控装置技术规范》等新规范的实施,智能化、集成化、数字化的推广应用使得测控装置的功能日趋强大,其研发和测试变得更加复杂和重要,尤其是很多测试项目无法手工完成,给测控装置的测试工作带来了巨大的挑战[1]。

目前各种微机型继电保护测试仪已经广泛应用于测控装置的测试,提升了装置的测试水平。但微机型继电保护测试仪主要为手动测试,而且需要繁琐的测试配置和人工参与;测试功能比较简单,定制化的测试用例无法灵活调整,只能满足现场排查问题或者用于生产环节的调试。

对于集成计量、PMU(Phasor Measurement Unit)、集中式等应用的测控装置[2-4],无法满足测试的高效性、重用性、易用性等需求。

本文基于测控装置的测试现状和目前存在的问题,对自动化测试技术进行了深入研究和探讨,设计出一种通用化、实用化的自动化闭环测试系统;介绍了该测试系统的组成结构、测试用例的设计和执行,并将测试配置和测试脚本解耦,扩大了自动化测试系统的适用范围,可以更好地支撑装置的测试需求。结果表明,自动化测试系统显著提高了测试效率和适用范围。

自动化测试系统概述

变电站中测控装置的应用趋势是集测量、控制、计量、PMU等多功能于一体,相比传统变电站内的应用其功能更加强大、逻辑复杂化,同时满足IEC61850、数字化等应用特征。

测控装置的测试是一个完整的整体,不仅包括遥测量精度、遥控、IO信号等基本测试,还包括对上跟IEC61850后台的站控层通信、对下跟合并单元、智能终端等SV、GOOSE的过程层通信测试。测控装置的基本功能测试、装置性能测试、数据通信测试等是一个不可分割的有机整体,是测试过程的重要组成环节。

面对功能如此复杂的测控装置,研发阶段对装置的回归测试是一项非常耗时、繁杂的工作。测控装置遥控功能测试很多情况下是需要人工干预的开环测试,很容易出现测试用例不全面、重复性工作以及测试深度不到位或测试遗漏的情况。嵌入式装置发展到如今,靠传统的手动测试方法已远远不能满足测试要求,需要引入自动化测试手段[5]。

对嵌入式装置进行自动化测试是一种非常实用、高效的方法。自动化测试可以减少测试人员的工作量和出错概率,提升测试的完整性和正确性,很方便地对软硬件的改动做完整的回归测试。

同时测试用例可以按照研发人员预设的测试内容进行设计,排除了测试的盲目性和随机性,减少测试盲点、提高测试覆盖面[6]。自动化测试技术可以充分利用脚本的优势,将装置功能测试、性能测试以及数据通信测试等融合在一起,提升装置的测试质量并缩短开发周期。

适用于测控装置的自动化测试系统除上述内容之外,还应该具备以下特点:

1)对上具备IEC61850通信能力,支持模型解析、定值读取和修改、控制命令下发、报告上送等功能;对下支持GOOSE、SV报文收发和解析功能。

2)具备闭环测试能力,整个测试过程无需人工干预。

3)测试过程透明化,可实时展示当前测试用例的外部输入、内部输出以及测试结果等信息。

4)测试结果友好展示,可按照预先设计的标准格式生成对应的测试报告,便于分析和存档。

5)测试用例的重用性和可扩展性。

6)测试配置简单、易用,测试工程和脚本解耦。

自动化测试系统设计

2.1  总体设计

自动化测试系统采用分布式结构,按照面向对象的设计思路,主要包括上位主机控制模块、测试执行模块、测试用例。系统总体设计框图如图1所示。

图1 自动化测试系统设计框图

上位主机控制模块主要完成测试工程的管理、人机界面的展示、测试脚本的编写与管理以及测试结果的生成等。测试人员新建测试工程,并选择相应的测试用例,实时显示测试过程和通信报文,分析测试结果并生成最终的测试报告。

测试执行模块则主要负责跟被测装置以及上位主机控制模块进行交互、模拟被测装置的实际测试环境、执行脚本命令、接收被测装置的输出反馈并上送给上位主机控制模块。

测试用例是装置测试的准则,一般包括基本功能、装置性能以及数据通信等测试内容。测试用例的主要任务是将预先设计的测试方案脚本化,结合不同的输入组合进行黑盒测试,分析测试数据并生成测试结果。

2.2  系统组成

自动化测试系统的硬件设备主要包括上位控制主机、以太网交换机、自动化测试仪、被测设备、GPS对时装置等,如图2所示。

图2 自动化测试系统硬件结构

上位控制计算机跟被测装置之间通过IEC61850协议进行通信,跟自动化测试仪之间采用私有规约通信。

被测设备跟自动化测试仪之间采用定制化的专用测试把坐连接,满足常规开入、常规开出的测试场合;也支持光纤连接,满足GOOSE、SV数字化的测试场合。被测设备主要面向单装置,如测控装置、保测一体装置、多功能测控装置或者集中式测控等单装置。

自动化测试仪采用南瑞继保公司自主研发的HELP-9000装置。该测试仪基于南瑞继保UAPC统一平台开发,适用于新一代数字化以及带有小信号调试接口的常规采样的测控装置测试,支持IEC61850-9-2、GOOSE、IEC60044-8协议标准。

该测试仪支持标准SCD文件的导入,自动解析GOOSE和SV收发的控制块信息,并提供多路开关量输入和开关量输出功能,支持差分和光纤IRIG-B码对时。此外对于精度要求很高的场合,如集成PMU、计量的测控装置,也支持外接OMICRON、博电等高精度测试仪进行自动化测试。

自动化测试仪中的测试执行模块通过动态链接库(DLL)文件提供功能函数,形成应用函数接口(API)供上位控制计算机执行脚本时调用,并收集被测装置的反馈信息转发给上位控制主机。

GPS时钟同步系统负责自动化测试系统中被测装置、自动测试仪的时间同步,保证所有的信号都基于相同的时间坐标。

2.3  软件功能模块

上位主机控制模块基于Windows系统,提供友好的人机操作界面。上位主机功能模块如图3所示,主要完成以下功能:测试工程管理、测试用例初始化、测试脚本执行、测试过程监控、通信信息调试、测试报告生成等。

图3 自动化测试系统软件功能模块

测试执行模块主要包括自动化测试仪的控制模块和通信协议接口模块。测试执行模块作为脚本执行设备,负责控制自动化测试仪并模拟测试环境,与被测设备进行交互并解析测试脚本、执行脚本命令。同时负责接收被测设备的输出反馈并上送给上位主机模块,此外还负责执行上位主机模块下发的命令,如下载定值、遥控操作、对时命令以及模型读取等。

测控装置自动化测试系统实现

3.1  测试结构

测控装置的自动化测试系统主要包含两部分:TestCenter测试系统和测试工程。TestCenter测试系统是基于上述介绍的分布式结构而开发的上位主机控制系统,主要包括上位主机的人机界面管理、脚本的解析执行、通信信息的展示以及测试结果的生成等。在上位主机控制模块和测试执行模块之间采用动态链接库(DLL)的方式,包括IEC61850模块、IEC103模块、HELP9000模块、定值读取修改模块、GOOSE模块等。

测试工程管理则采用配置与脚本解耦的方式。测试人员无需关心脚本的具体逻辑,只需要配置一下解耦的配置文件就可以新建一个工程开始自动化测试。解耦的配置文件信息包括被测装置的IP地址、输入输出信号的通道号、GOOSE和SV的控制块与通道号、定值名称以及信号描述等内容。对于不同的被测装置,如果装置接口相同可以共用相同的配置文件,大大提高了测试效率和脚本的重用性。

3.2  测试用例介绍

本系统测试用例脚本采用Python语言。Python是一种解释型、面向对象、跨平台的开源脚本语言。使用Python语言开发自动测试脚本,充分发挥其语法简单、功能强大的特点,使开发自动测试脚本的效率大大提高。

本系统主机控制程序内嵌了一个Python脚本解析器,用于解析执行测试脚本。同时封装了很多跟测试仪以及上位主机控制模块交互信息的常用函数,很容易扩展新增功能的测试用例。

测控装置的测试用例主要分为如下几个大类,如图4所示。

图4 测控装置典型测试用例介绍

上述根据基本功能分类的测试用例中,装置性能测试和通信功能测试是一个有机的整体。如测量功能测试中包含站控层IEC61850上送模拟量测试、后台修改定值以及上送报告等用例;控制功能测试用例中结合着GOOSE遥控出口报文的发送解析、以及GOOSE开入接收、SV报文的解析等测试。

本文设计的自动化测试系统具有很强的扩展性。如随着业务范围的扩展,测控装置集成非关口计量功能之后需要新开发相应的计量测试用例。基于已有的遥测量功能测试用例,用HELP9000自动化测试仪施加U、I(10%,20%,50%,100%,120%覆盖全量程范围)。

通过将计算出的功率值对加量时间积分计算出理论的电量数据,跟装置实际输出计量数据作对比,就可以完成计量精度的测试;统计一段时间间隔内的功率值,得到理论需量,用IEC61850模块读取需量数据就可以得到需量精度的测试。

同时编写接口函数,将计量输出信号(硬接点或者光脉冲)通过专用测试把坐接入自动化测试仪进行检测统计,可以校核计量输出的脉冲信号,完成计量精度、需量统计、节点输出等的测试,实现计量功能的一体化完整测试。

图5自动化测试用例的重用和扩展

3.3  测试流程

测控装置自动化测试系统采用测试工程和TC系统解耦的思路,测试人员不需要关心测试系统的具体实现过程,只需要进行简单必要的配置就可以开启黑盒测试;同时如果装置功能升级如果引起输入、输出以及定值接口的变化,则仅需要开发人员修改标准的配置接口模板即可,使用起来非常简单方便。具体测试流程如下:

图6 自动化测试流程图

基于本文设计的自动化测试系统,相比传统的手动测试无论在测试覆盖范围、测试效率以及准确度等方面均有显著提升,以间隔测控为例对比如下。

表1 两种测试手段对比

结论

本文针对测控装置测试中面临的问题和现状,详细介绍了一种通用的、可扩展的自动化测试系统。该自动化测试系统具有如下特点:

1)极大地提高了测试效率,解决了以前手动测试覆盖面窄、测试深度不够、耗时多的问题,解放了研发和测试人员。

2)测试配置跟脚本解耦,采用解耦配置文件的方式,系统使用简单方便。

3)系统的重用性和可扩展性。基本涵盖了测控装置、保测一体装置、多功能测控等测控功能的测试,减少额外的二次开发。

此外对于计量、PMU以及网络压力等专项测试,还需要进一步研究开发测试用例,提升自动化测试用例的深度和广度。

(0)

相关推荐