电力系统智能装置自动化测试系统的设计.pdf
《电力系统智能装置自动化测试系统的设计.pdf》由会员分享,可在线阅读,更多相关《电力系统智能装置自动化测试系统的设计.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电力系统智能装置自动化测试系统的设计李忠安,沈全荣,王言国,李兴建(南京南瑞继保电气有限公司,江苏省南京市211102)摘要:微机保护、测控等智能装置是电力系统的重要组成部分。介绍了自动化测试及仿真测试环境的概念和基于此基础上的智能装置通用自动化测试系统。该系统采用分布式体系结构,模拟装置运行环境;采用脚本技术,可实现自动化的回归测试;采用开放式结构,方便系统扩展。实际应用表明,该系统可提高电力系统智能装置的测试质量及效率。关键词:智能装置;自动化测试;仿真测试环境;测试脚本;分布式系统中图分类号:TM764收稿日期:2008212208;修回日期:2009201218。0 引言随着变电站、厂
2、站自动化程度的提高,大量嵌入式智能装置(微机继电保护和自动化测量监控装置)在变电站、厂站中得到了广泛应用。这些智能装置的应用,实现了变电站无人值守或少人值守,但同时也对其性能提出了更高的要求。然而由于嵌入式系统自身的一些特点,如实时性及内存受限、I/O通道少、测试工具昂贵、与硬件紧密相连等,使得这些智能装置的开发、测试都很困难。目前电力系统智能装置测试主要以手工为主,即使开展了自动化测试,也仅仅用于生产环节的硬件检查,测试功能比较简单固定,且只能用于某特定装置或系统123。本文针对智能装置测试的现状,重点对测试技术进行了深入的研究与探讨,并在此基础上提出了通用化、实用化的智能装置测试方案。1
3、嵌入式系统仿真测试环境概述嵌入式系统是以计算机技术为基础,以应用为中心,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。继电保护及自动化等智能装置均属于典型的嵌入式系统。由于嵌入式系统的专用程度较高,为了保证系统的稳定性,避免因其可能出现的失效而导致的灾难性后果,要求对嵌入式系统包括嵌入式软件进行严格的测试。嵌入式软件测试是一项非常复杂、耗时的工作,因为嵌入式软件测试既要考虑软件本身,还要考虑软件与硬件平台及操作系统的集成,同时还有条件苛刻的时间约束和实时要求,以及其他与性能相关的要求。利用嵌入式软件仿真测试环境(ESSTE),组建实时仿真系统,对实
4、时嵌入式系统软件进行自动化、实时、非侵入式的系统测试是目前国内外测试实时嵌入式软件公认和行之有效的方法4。在测试过程中引入自动化工具进行自动化测试是一种非常实用高效的方法。自动化测试能使测试用例多次运行,具有可重复性;而且能完成手工测试由于时间或运行环境而无法进行的测试,保证了测试的完整性;此外,自动测试还能保证当测试软件的功能扩展时测试用例也随之扩展,具有可扩展性。它可以降低人为因素对测试过程的干扰,排除测试的随机性和盲目性,降低冗余,减少遗漏,可提高测试效率和保证测试的可靠性5。本文针对智能装置设计了一套自动化测试系统TestCenter,它利用分布式计算机系统组成智能装置的实时仿真环境,
5、利用主控计算机解释执行测试脚本,测试脚本控制分布式计算机执行具体仿真测试任务并收集数据,测试脚本根据收集到的数据完成测试结果的判断,从而实现自动化测试。2 系统设计2.1 总体架构设计目前仿真测试系统的体系结构大体上分为2类:单机平台和分布式平台。单机平台系统设计简单,功能单一。在实时仿真测试领域中,由于系统功能要求十分复杂,大多采用分布式的仿真系统。分布式结构将测试系统的任务、功能根据不同的实时性要求分配在不同主机上,提高了系统的处理能力并便于系统功能的扩展6。本测试系统TestCenter采用分布式平台架构及“一主多从”模式。宿主机模块主要实现控制部分:测试脚本的生成、管理、执行及测试报告
6、生成等。77第33卷 第8期2009年4月25日Vol.33No.8Apr.25,2009从机模块具体模拟测试环境,实现某项具体测试任务。从机模块通过对应的主机接口 动态链接库(DLL)文件提供功能函数形成应用程序接口(API)函数库,供主机测试脚本执行时调用。从机模块与其主机接口DLL库文件之间通过网络实现命令下发、数据回传。系统具有可扩展性。系统若要添加某种测试功能,只需编写从机模块及对应主机接口DLL库文件形成接口API函数,测试脚本调用其相关API函数实现对应功能模块测试。目前已实现的从机模块有:网络IEC 60870252103(以下简称103协议)客户端模 块、博 电PW30测 试
7、 仪 模 块、南 瑞 继 保HELP2000测试仪模块、网络103协议虚拟装置模块等,即将增加的模块有IEC 61850客户端模块、通用面向对象的变电站事件(GOOSE)模拟器模块。系统结构如图1所示。图1 测试系统总体架构Flg.1Test system architecture2.2 系统组成2.2.1 宿主机主控模块(TCHost)TCHost作为主控模块,其结构如图2所示。图2 主控模块功能模块Flg.2Function modules of hostTCHost主要任务是:用户命令接口,系统配置,测试用例及测试方案生成,测试脚本编写,测试过程监控,从机模块管理,测试结果分析和处理,测
8、试报告文档生成。TCHost为方便用户使用,采用Windows操 作 系 统,提 供 友 好 的 人 机 界 面。TCHost还负责测试脚本的管理和测试环境的配置部署。同时监控测试执行的状态信息、收集测试结果并对整个测试的流程和通信进行统一管理。2.2.2 从机执行模块(TCAgent)作为测试执行器,TCAgent负责与被测目标机进行交互。主控节点不与目标机直接交互信息,所有的信息都必须经过TCAgent转发。TCAgent的任务主要包括:目标系统配置;解释测试脚本,对数据进行仿真处理;生成激励信号,驱动被测软件运行;接收被测软件输出数据,上送至宿主机主控程序,供实时比较使用。例如本系统设计
9、的网络103协议模块,它负责收集被测装置的网络103协议的主动上送数据(遥测等),将其返还给主控程序;同时负责执行主控程序下发的网络命令,如定值下装、遥控操作、对时、通用数据读取等。2.3 测试流程本系统提供了一套完整的测试流程框架,包括测试开发流程和测试执行流程。测试开发流程主要工作为:编写测试用例、提交测试用例、录入测试用例库。测试执行人员的主要步骤包括:配置部署测试环境并测试模块初始化;定制测试任务,选择测试脚本;执行测试脚本;测试模块结束,恢复被测前状态,生成测试报告;将测试结果及报告通知相关人员。测试流程如图3所示。图3 测试流程Flg.3Testing Process3 关键技术实
10、现3.1 脚本语言测试脚本是实现测试自动化的重要部分,脚本的优劣直接影响到自动化测试软件的效率和开销。测试脚本化可以减少测试人员的工作量,提高软件测试的可维护性。同时,脚本语言可移植性好,可提高脚本代码的可重用性及测试的可重复性7。本测试系统采用Python作为测试脚本语言。Python是一种面向对象的解释性通用计算机程序872009,33(8)设计语言。Python糅合了简单的语法和强大的功能,特别适合用于快速原形设计和混合语言编程开发,以及各种语言模块之间的集成与粘合8。在测试系统中充分利用C+与Python的各自优势。使用脚本语言实现测试用例,充分发挥脚本语言简单而又强大的控制功能,使开
11、发测试脚本的效 率 大 大 提 高。用C+开 发 系 统 程 序TCHost、TCAgent及复杂灵活的人机界面,可实现复杂的逻辑运算,整个系统运行速度快、效率高。为此,本系统中TCHost主控程序内嵌了一个Python脚本解析器,用于解析执行测试脚本。在测试脚本执行时,Python程序通过其ctypes库调用从机模块接口DLL(C+语言开发)。这样充分利用了脚本语言和系统编程语言的优点,达到提高开发效率、增强程序的灵活性和交互性的目的,实现Python与C+的完美融合。3.2 通信方式嵌入式软件测试系统作为实时分布式系统,其通信性能必须满足一定要求。经过分析,自动化测试系统按层次可以分为2层
12、:控制层及测试层。控制层主要为TCHost与TCAgent之间的通信,包括系统的配置部署、接口模块与从机模块间的通信,以及对主控模块及从机模块的监控。测试层主要是仿真环境与被测系统之间的通信。根据测试系统对通信实时性要求的高低,分成以下3个等级:1)高等级。例如测试层通信,也就是装置与其仿真环境间的数据交互,实时性、可靠性要求高,必须严格按照现场的通信方式进行模拟,例如网络103协议客户端模块、串口103协议模块。本系统直接应用南京南瑞继保电气有限公司变电站厂站后台监控软件的通信协议接口,可最大可能地逼近现场运行环境。2)一般等级。例如主机脚本执行时与从机模块间的交互通信,实际为PC机之间的点
13、对点通信。其要求是可靠性高,实时性可低一些。为此,本系统采用Windows命名管道通行方式,可以屏蔽底层可能出现的网络端口冲突问题,且易于编程。3)低等级。例如系统监视、部署。这里要用到广播通信,且实时性和可靠性要求均不高,采用Windows邮槽通信方式,也可屏蔽底层可能出现的网络端口冲突问题。以上通信分类使测试平台的软件体系结构变得层次清晰,功能分工更加合理,满足了测试系统对数据传输可靠性的不同要求。3.3 开放式接口作为通用化的测试系统,为了尽可能扩大测试范围,适应不同类型的被测装置和装置不同的功能模块,TestCenter采用开放式体系结构与接口设计。TestCenter没有规定各TCA
14、gent的内部具体实现方法,仅仅定义了TCAgent接口必须具备的2个输出API函数,即初始化函数Init()、终止函数Exit(),用于此模块的初始化及模块终止后清除并恢复现场环境的工作。其他输出API函数没有特殊要求。例如对于IEC 61850模块,设计IEC 61850接口程序并完成初始化函数Init()、终止函数Exit(),其他功能(如定值下装、SOE读取、遥控等)按需要设计对应的输出API函数即可。系统甚至可设计2套可互换的从机模块,它们之间完全独立,只要接口一致,在测试用例中两者就可替代使用,例如本系统先期开发的南瑞继保HELP2000测试仪接口、博电PW30测试仪接口,它们在本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电力系统 智能 装置 自动化 测试 系统 设计
限制150内