首页 >>> 公司新闻 >

公司新闻

继电保护装置自动测试系统设计

0 引言

继电保护装置是电力系统*重要的二次设备之一,对电力系统的安全稳定运行起着重要的作用。随着计算机技术、微电子技术、通信技术的发展,新型继电保护装置特别是数字式保护装置已经得到广泛的推广和应用。这些集网络化、智能化、保护控制于一体的嵌入式装置功能复杂,其开发、测试都比较困难,很多测试项目无法在手工操作的情况下完成,给继电保护装置的测试技术提出了巨大的挑战。

目前微机型继电保护测试仪已广泛应用于继电保护装置测试,提高了继电保护装置的测试水平,但是继电保护装置的测试主要以手工为主,即使开展了自动化测试,也仅仅用于生产环节的硬件检查,测试功能比较简单固定[1-2]。本文针对继电保护装置测试的现状,重点对测试技术进行了深入的研究与探讨,并在此基础上提出了通用化、实用化的保护装置闭环自动测试方案,可用于产品研发过程和生产过程的自动测试。

1 自动测试系统概述

微机继电保护装置逻辑复杂、功能强大,集继电保护、自动化控制和状态监测于一体。继电保护装置的测试是一个整体的过程,不仅仅局限于可靠性、选择性、灵敏性和速动性等基本要求测试,继电保护装置的网络化、智能化、数据通信等是一个有机的整体,都是进行测试不可分割的部分。

在研发阶段对嵌入式微机继电保护装置进行测试是非常复杂、耗时的工作。人工测试效率低下,测试工作重复性高,易导致人员疲劳而获取错误结果。微机继电保护技术发展到今天,靠传统的测试方法已经远远不能满足要求,继电保护测试应该实行自动化。

在测试过程中引入自动化工具进行自动化测试是一种非常实用高效的方法[2]。自动化测试具有一致性和可重复性的特点,很容易发现被测软件的任何改变;自动化测试中通过事先编制测试计划,可以减少人为因素干扰,排除测试的随机性和盲目性,提高测试效率和测试可靠性;自动化测试可以充分利用硬件资源,完成手工测试由于时间或运行环境限制而无法进行的测试,保证了测试的完整性,从而缩短产品的开发周期。

要实现继电保护装置的自动化测试,还必须做到以下几点:

1) 实行闭环自动测试,系统主控计算机解释执行测试脚本,把测试脚本中的故障参数通过微机继电保护测试仪加给保护装置,收集保护装置的动作反馈信息,测试脚本根据收集到的数据完成测试结果的判断,形成闭环测试。

2) 测试过程透明化,系统能显示测试过程中每个测试用例的执行过程和执行结果。这些显示信息由测试脚本控制,当测试不通过时,可以方便定位测试失败时的具体原因。

3) 自动测试用例应具有良好的扩展性和可重用性。

4) 系统在测试完成后能够自动生成标准格式的测试报告,根据要求生成相关格式电子文档,便于存档。

2 系统设计

2.1 总体设计

系统采用分布式平台,按照面向对象的设计方法,将智能自动测试系统分为主机控制模块、从机执行模块、测试用例数据库模块三个部分,自动测试系统总体框图如图 1 所示。

主机模块主要实现控制功能,建立测试运行环境,执行测试过程和生成测试报告等。测试运行时,可以根据要求,选择部分或全部测试用例,执行过程中透明输出测试信息。测试未通过的程序的用例,确定原因后,可统一进行回归测试。

从机模块负责与被测保护装置进行交互,模拟测试环境,实现某项具体测试任务。从机模块通过对应的接口提供功能函数形成API函数库,供测试脚本执行时调用。同时收集被测保护装置的动作信息,转发给主机模块。

测试用例是装置测试的准则,按照被测产品的功能进行分类,通过**的测试来验证产品的质量。测试用例数据库系统主要任务是将测试方案数据化方式保存,提供给自动测试系统有关测试数据和相关测试实例。

2.2 自动测试系统组成

系统主要由测试控制计算机,以太网交换机,微机继电保护测试仪, GPS 对时终端,被测保护装置等组成,自动测试系统硬件结构如图 2 所示。

微机继电保护测试仪采用南瑞继保公司的Help2000装置。 Help2000是基于统一建模的微机继电保护测试仪[3],该装置的突出优点是:硬件配置自由灵活,I/O点数完全不受限制,并可根据不同的测试目的,快速组态,进行二次开发,能对各类继电保护装置实现真正的全闭环测试。进行自动测试时,对于常规站保护装置,电气量输入是电流电压模拟量,开入开出通过硬触点来实现,因此需在Help2000上配置小信号输出板卡和开入开出板卡;如果是数字化站保护装置,电气量输入的信号是经过处理的光数字信号,其输入输出由GOOSE报文传送[4-7],

因此需要在Help2000上配置数字化板卡。测试控制计算机通过网络与其他设备进行信息交互,Help2000向保护装置输出模拟量和开入量,可以实现保护装置硬压板的投退和其他开入信号功能,接收并处理保护装置的动作触点信息,测试控制计算机收集保护装置的SOE报文和Help2000转发来的动作信息,进行分析处理,形成测试报告。

GPS 对时负责各模块时钟的统一,从而可以测量保护装置出口继电器的触点动作时间。

2.3 自动测试系统软件功能模块

自动测试系统软件功能模块如图 3 所示。

主机模块采用 windows 操作系统,提供友好的人机界面。其主要任务是:用户命令接口,自动测试系统配置,导入和管理测试用例,监控测试过程,测试结果分析和处理以及测试报告生成。在运行时,根据要求选择自动测试方案,运行测试脚本,通过Help2000 接口管理模块,经由从机模块来实现微机继电保护测试仪的输出,完成保护功能测试。并收集测试结果,依据测试方案完成对测试结果的判断。同时监控测试过程的状态信息,并对整个测试的流程和通信进行统一管理。

从机模块主要包括 Help2000 控制模块和从机通信协议接口模块。主机模块不直接与被测装置发生交互,所有信息通过从机模块进行转发。从机模块在运行时,通过系统目标配置,解释测试脚本,驱动 Help2000 输出实时仿真信号,收集被测保护装置的报文信息并转发给主机模块;同时被测保护装置的触点动作信息由 Help2000 记录,并通过从机模块,以遥信的形式转发给主机模块,供主机模块实时分析比较。此外从机模块还负责执行主控程序下发的命令,如下载定值、遥控压板、对时命令、通用数据读取等。

测试用例是对特定的软件产品进行测试任务的描述,内容包括测试目标、测试输入、执行条件、预期结果等,以便测试其性能是否满足某个特定需求。

测试用例模块按照被测产品的功能进行分类,针对具体型号的保护装置,按照测试标准,离线生成。测试时,由主控程序解释执行,测试用例通过调用从机的接口函数,对保护装置进行测试,并收集保护装置的动作信息,与预先设定的动作情况进行比对,判断保护装置的动作逻辑是否正确。

保护装置的测试用例除了常用的功能模块,如差动保护测试模块、距离保护测试模块、零序测试保护模块等,对一些需要双端或多端配合的复杂逻辑,设计了专门测试用例进行仿真测试。

3 测试用例设计

测试脚本是具有正则语法的数据和指令的集合, 测试用例脚本化是实现自动化测试的关键。根据测试用例,利用脚本语言编写成脚本测试程序,通过脚本解释器一次性执行多个测试用例,很好地实现了测试的自动化。为了提高自动化测试水平,测试脚本要求具有高效性、可靠性和可维护性。

本测试系统采用 Python 语言作为测试脚本语言,Python 是一种解释型的、面向对象、动态语义、语法优美、跨平台的开源脚本语言[8]。Python 糅合了简单的语法和强大的功能,可以快速进行原型设计,是一种适合混合语言编程开发的胶水语言。本测试系统采用 C++和 Python 混合编程,主控程序和人机界面等采用 C++编程,测试用例采用Python 语言开发,在主控程序中嵌入 Python 脚本解析器,用于解析执行测试脚本。此外,为了实现对Help2000 的控制和读取保护装置的动作反馈信息,还利用 C++编写了扩展模块,在测试脚本中用“import”语句导入该模块,就可以使用模块提供的各种扩展函数。

3.1 测试脚本的层次结构

脚本分为以下 4 个层次:测试类、测试用例、测试项、测试工程。

(1) 测试类。某种保护所有测试逻辑的**实现,与一个 py 文件(module)对应。此文件里包含一测试模板类 (class) 及其对应的多个测试函数(method),用来测试该保护的所有逻辑。例如距离保护的测试可以作为一个类,其中包含了距离保护的所有测试逻辑等。

(2) 测试用例。某种保护某个测试逻辑的具体实现,与 py 文件中测试模板类(class)的某个测试函数(method)对应。例如距离保护测试类中包含了动作边界测试、距离定值上下限测试、时间定值上下限测试、距离保护闭锁条件测试等各种测试用例。分别用 TestCase00、TestCase01、…来表示。

(3) 测试项。为实际执行的*小测试单元,为实例化的测试用例。例如距离保护Ⅰ、Ⅱ、Ⅲ段都有PT 断线闭锁测试,因此实例化后有 3 个测试项对应。

(4) 测试工程。对应装置的具体某次测试任务,由一脚本配置文件直接生成。配置文件中引用测试库中测试用例(模板测试类),并根据具体装置配置实例化,从而形成此次测试项集合。

生成测试工程时,配置脚本先加载所需要的测试模板类,再根据配置参数,实例化测试模板类,*后生成测试项列表。每一测试项名称由测试用例名称、模板类名称、测试实例名称组合而成,用于区分不同的测试项,以便于执行时挑选。

测试项列表是由测试用例、测试实例组合产生,例如有 2 个测试类,每个测试类中包含 2 个测试项目,**个测试用例对应的测试类实例化出 2 个实例,**个测试用例对应的测试类实例化出 1 个实例,因此可以产生 6 个测试项,如图 4 所示。

3.2 测试脚本接口配置

测试脚本中包含一个通用的配置文件,用来确定测试环境中硬件资源的分配,如保护装置及Help2000 的地址分配、所需定值名称的确定、软压板名称的确定、模拟量通道号的确定、开入开出通道号的确定和配置参数类的定义,该文件面向全部测试用例。

对于常规站保护装置,继电器的出口触点连接到 Help2000 的通用开入插件,触点动作时,Help2000 读取开入状态,将其作为遥信处理;如果是数字化站保护装置,Help2000 处理保护装置发出的 GOOSE 出口报文,测试用例通过调用扩展函数就可以从 Help2000 得到 GOOSE 出口的动作情况,从而进行出口比对。

对于需要多台保护装置相配合的逻辑测试,通过在 Help2000 上增加模拟量信号输出板卡和通用的开入开出板卡,通过 Help2000 同时给多台保护装置施加不同的故障量,读取其动作信息来进行比对。

3.3 测试用例实现

测试用例一般包含采样精度测试、开入开出测试、装置自检测试、保护功能逻辑测试等。采样精度测试用例中除了对电气量从小到大进行满量程范围的测试外,还专门编写了产生谐波的接口函数,驱动 Help2000 对保护装置施加谐波进行测量。


4 结语

本文对继电保护自动化测试进行了分析,并在此基础上开发了一套通用的继电保护自动化测试系统。该系统主要有如下的特点。

1) 提高了测试的精度,例如原来人工测试时,对于继电器的动作情况一般只是测量其通断,现在有了自动测试,不仅能**测试继电器的动作次数,而且测试了继电器的动作时间和返回时间,大大提高了测试精度,严格校核了保护的动作逻辑。

2) 能完成原来人工无法测试的任务,例如��端保护装置的逻辑测试,而且由于每次试验都对出口动作报文进行比对,对故障信息进行误差分析,因此有助于发现程序中出现的异常情况,提高保护装置的性能。

3) 大大节省了测试时间,提高了测试效率。目前,该自动化测试系统已经广泛应用于南瑞继保的 PCS 系列保护装置的研发测试过程中,极大地提高了研发过程的测试效率和测试质量,缩短了产品的研发周期,产生了良好的效益。












沪公网安备 31011402005121号