公司新闻

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

0 引言

继电保护及自动装置是电力系统的重要组成部分。对保证电力系统的安全经济运行,防止事故发生和扩大起到关键性的决定作用。由于电力系统的特殊性,电气故障的发生是不可避免的。一旦发生局部电网和设备事故而得不到有效控制,就会造成对电网稳定的破坏和大面积停电事故。现代化大电网对继电保护的依赖性更强,对其动作正确率的要求更高,也造成了对继电保护装置的测试要求越来越高。

各大继电保护的厂家对保护装置的测试也非常重视,基本上采用的都是黑盒测试的方法,通过测试人员和工程人员采用商用测试仪进行加量进行闭环的保护功能测试,这种测试方式虽然能检查出一部分系统的漏洞,但是远远达不到对于可靠性要求极高的继电保护装置的测试要求。并且数字化的测试依赖于外部的数字化测试仪[1]。这种测试方法的不足体系在以下几点:

1)无法进行软件平台的各模块代码覆盖率测试。

2)无法进行系统的自动回归测试。

3)无法进行自动测试用例管理,测试质量由测试人员的专业素质决定,而不是由各测试和开发人员的测试积累组成。

4)无法规范地进行测试报告记录,不能详细记录研发人员关心的测试量信息。

5)商用测试仪不能与保护装置进行交互。

鉴于传统测试的上述问题,设计了一种满足研发人员、人员以及工程人员使用的统一测试体系,该测试体系包括上位机、测试仪和被测装置,覆盖了研发阶段和单板测试阶段以及整机测试各阶段。

*近两年,也有一些装置厂家[2-4]也通过自主研发开发一套适合自身产品的自动测试系统,但是目前这些测试也集中在保护功能的闭合测试上,没有考虑装置中平台部分的功能隐蔽性,一般功能测试很难系统地对其进行逻辑测试。本文将重点介绍自动测试系统中的白盒测试实现方法。

1 系统结构

保护装置的软硬件体系结构图如图 1 所示。

测试主机的功能分成两个部分,离线功能包括完成测试用例的编写、测试用例的管理、测试用例程序编译等离线功能。在线功能包括测试用例下载,测试参数下载,测试命令发送和测试报告生成等。平台系统软件包含下面模块:任务调度、系统监视、对时、异常处理、调试及下载模块。平台管理通信模块包括:MANAGER 管理、事件录波、IEC103 模块、IEC61850 模块;LCD 模块;PRINT模块。平台装置的板卡通常由三大部分组成:管理CPU 板、计算处理 CPU/DSP 板和 I/O 板。

测试主机通过以太网采用内部通信的协议与调试代理插件相连,调试代理驻留在 PPC 插件上,内部通信协议具有下载文件、调试变量、修改变量等功能。整个测试过程的上位机与装置的交互都是以该协议为基础。

自动测试系统和平台设计同时进行,完成对平台的软件模块和通信管理模块的自动测试,并将测试结果直观地反映到测试终端。

2 白盒测试架构

白盒测试时需要保护装置运行一个测试支撑系统,白盒测试包括测试装置中所有智能插件上的程序,尤其是平台系统软件程序,这部分程序在整组的功能测试实验(黑盒测试)中不是测试重点,所以需要通过周密的白盒测试来覆盖测试路径。测试支撑系统运行在 Manager 插件上。

目标板上的测试支撑模块包括测试用例运行管理、PC 通信管理、测试运行信息采集及管理、系统信息处理、信息上送等模块。测试用例运行管理是运行在目标板上与 PC 机同步执行同一测试用例的管理程序;PC 通信管理是与 PC 机通信,接收 PC下发的参数信息,下载的程序信息、启停测试用例命令和测试数据上送等功能;测试运行信息采集及管理是指采集某一个测试用例执行后的一些变量数据信息,组织成特定的数据报文;系统信息处理是目标板上的其他应用模块,当这一测试用例运行时其他应用模块的数据信息采集(例如 SOE 事件测试用例会收集 103 模块的报文信息);信息上送是通过组织报文发送到 PC 机,由 PC 机进行结果比对。

运行在 Manager 插件上的测试用例的测试流程如图 2 所示。

**步:PC 测试主机下载 ppc 测试用例可执行程序 out 到目标板上。

**步:PC 测试主机发送启动测试命令到测试代理。

第三步:测试代理装载测试用例程序。

第四步:PC 测试主机启动主机上运行的相应测试 dll。

第五步:目标板上测试用例测试过程中,与 PC机上对应的比对 dll 进行参数以及测试结果交换。

第六步:PC 机对结果进行比对,形成测试报告。

运行在其他智能 IO 上的测试用例框架结构如图3 所示。

测试用例运行在从板上时,测试用例目标文件首先下载到 Manager 系统中,重新上电后加载到从、板中运行。MANAGER 负责与从板系统的信息交互。

平台模块在设计时,设计了测试代理程序的接口,确保测试代理程序可以通过该接口进行功能测试和性能评估。该代理程序通过平台的测试接口,实现对平台代码的测试,并通过网络通信将测试结果上送给测试终端。同时通过网络接收测试终端的测试用例,并根据给定的测试用例进行相关测试。运行在装置中的每个模块在设计初期即考虑了测试方案,通过自动测试系统可确保测试的代码覆率达到 90%以上。有效的压力测试可以发现并解决平台的隐藏问题,为平台的可靠性及稳定性提供了保证。

3 测试框架实现

测试系统上位机的主要功能有:测试用例管理,测试用例的执行流程、测试结果比对和测试报告生成四个模块。

3.1 测试用例管理

测试用例管理包括:1)对测试时所需要的源代码的管理,需要链接的库和 obj 文件的管理;2)生成 hex 文件;3)界面模板 tpl 文件;4)测试用例tpl 文件的管理。

保护装置的测试打桩程序以源程序的形式保存在上位机中,当用户选择某个测试用例时,需要编译对应的 c 文件和链接相应的库,生成 obj 文件,一组测试用例生成一个.out 或者一个 hex 执行文件下载到目标板中。考虑到目标系统的空间大小,一次全测试过程可以生成多个 hex 文件,在测试过程中分别下载。

下位机上执行的每一种类型的测试用例需要在上位机中配置一个解析该测试用例的比对程序,比对程序以 dll 的形式驻留在上位机中,当上位机启动下位机某一个测试用例的同时,需要装载相对应的比对 dll。该比对 dll 负责与下位机测试用例进行交互,得到测试结果返回给上位机测试报告模块,统一形成测试报告。

一个 hex 文件中包含了多个测试用例,测试用例的启动是通过上位机来启动的,上位机告诉下位机现在执行某个测试用例,这样保证了上位机测试比对程序与下位机测试用例的一致性。当用例配置完成后,根据所配置的测试用例和测试用例的执行顺序生成测试用例入口源程序,并链接测试函数和系统库函数,生成 hex 文件。

例如:在***.tpl 文件中,配置了测量量、CAN网、和事件 3 个测试点,测量并配置了刷新测试项和置值测试项,且 3 个测试点均在 DSP 板上运行。

生成的 init.c 源代码为Init(uint8 testcase){ switch(testcase)Case 1:

SetMeasureValue(**,**,**);//测量量置值用例Break;Case 2:

P=SetMeasureByTimer(**,**,**) //p 为定时器中断的函数指针Break;Case 3:

P= sendMessage (**,**,**) //CAN 网发送……………}

该测试用例入口函数由上位机生成,上位机通过内部调试协议修改下位机变量 testcase 来控制测试用例的启动,通过修改参数变量的值,来传递函数的参数。当生成源码后,需要在 makefile 中添加链接 init.o、以及各测试函数所在的.o 文件,生成一个 hex 文件。

界面模板的 tpl 管理是指为了实现参数配置,界面风格是通过用户根据测试项自定义的,本测试框架程序提供了一套可视化界面配置前端程序提供给用户配置自定义的参数界面,配置后生成 tpl 文件,由测试工具解析显示相应的界面。

3.2 测试流程管理

流程控制功能包括以下两个方面。

1)流程控制的配置

执行顺序表示测试项的顺序执行顺序。

异常控制表示该测试项如果不正确执行,是继续执行、退出执行或者跳转执行。

表示该测试项测试前是否具有初始化操作、测试完成后是否需要复位操作、断开连接并重建连接操作,是否具有重新下载程序等操作。这些流程控制的配置信息在配置完成后都是以模板配置的形式保存在 PC 上位机中。

2)流程的自动控制

配置完测试用例的执行顺序后,系统根据配置信息,进行自动执行。

3.3 测试结果的比对

测试结果的回送通过两种方式:通过通信端口报文回送到 PC 机进行回读判断,通过 PC 机读取变量的形式读测试结果。

测试结果比对由测试用例对应的 dll 完成,将测试结果的详细信息送到测试报告模块。

3.4 测试报告生成

在测试过程中,对于每个测试项会有一个简单的结论,在测试完成后,生成一个详细的测试报告。测试报告中的详细信息,需要在测试比较模块主动向测试报告的数据结构输入,生成测试用例时,按照一定的格式,生成测试报告。

4 CAN 网测试举例

上文大篇幅地阐述了白盒测试的实现方法,如何通过白盒测试体系架构来实现测试覆盖率,进行各种边缘测试、压力测试以及负荷测试等具体功能及性能测试则依赖于测试用例的编写以及实现上。

下面以 CAN 网测试为例,进行网络压力测试、CPU 负荷测试、疲劳测试及持久性测试。测试平台的基本架构如图 4 所示。

CAN1 驱动模块测试的单次测试过程为

1)PC 机通过调试变量下装参数/控制命令到PPC 板和 GOOSE 板;

2)PPC 板或 GOOSE 板读取到控制命令后,启动[CAN1 测试程序];

3)在[CAN1 测试程序]的执行过程中,PPC 板或 GOOSE 板向 CAN1 网发、收数据;

4)PPC 或 GOOSE 板将[CAN1 测试程序]的执行结果通过调试变量返回到 PC 机;

5)PC 机利用返回的调试变量值验证测试结果。

在测试用例中对 CAN 网收发程序的语句进行静态分析,对条件判断等逻辑分支进行测试覆盖,在一次测试用例中发送双方发送各种异常/正确报文,使测试能够覆盖 CAN 网模块的所有语句。

连续进行多次 CAN 网测试,从每秒 1 000 帧连续发送10 s 到每秒10 000帧连续发送10 s 进行递增,对每次测试过程中,通过装置中变量来记录测试的信

息,然后将这些测试过程信息上送到 PC 机,由 PC机得出 CAN 网的稳定性能时负荷值等重要参数。

5 结论

在ARP保护装置系统中设计了一整体测试系统,不仅包括白盒测试来测试系统程序或者应用程序,还包括整机测试和整屏系统。整机和整屏系统是闭环功能测试系统,但都融于本文介绍的这套测试体系框架之内。这套测试系统为装置的出厂测试、现场测试提供了很大的便利。











沪公网安备 31011402005121号