《基于模式的电力系统通用可扩展故障分析软件系统.pdf》由会员分享,可在线阅读,更多相关《基于模式的电力系统通用可扩展故障分析软件系统.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于模式的电力系统通用可扩展故障分析软件系统桂 勋,刘志刚,钱清泉(西南交通大学电气自动化研究所,四川省成都市610031)摘要:针对现有故障分析软件的缺点和不足,提出了基于模式的电力系统通用故障分析软件设计思想,采用C+模板库(STLPort,Boost)技术和模式设计思想实现了录波显示控制引擎和可扩展的电力故障集成分析环境,阐述了录波显示控制引擎和可扩展的电力故障集成分析环境的体系结构,以及设计过程中使用的关键设计模式。关键词:故障分析软件;故障录波;设计模式;体系结构;STLPort;Boost中图分类号:TM711;TM764收稿日期:2006211210;修回日期:200720322
2、6。霍英东高等院校青年教师基金资助项目(101060);四川省杰出青年基金资助项目(07JQ0075)。0 引言在电力系统运行过程中,使用录波器装置可以正确地记录电网事故、电网异常和继电保护的动作行为所产生的数据,对这些录波数据进行分析是保障电力系统安全运行的重要手段122。故障分析软件系统实现方式有多种3210。有一部分系统实现了公式编辑器,但是相当简陋,而且只提供有限的数学函数和电力系统分析算法,没有一款分析软件能提供分析算法和分析界面的扩展功能,这就限制了用户把某些新的分析算法应用于现场故障分析中,无法满足故障分析用户对自身分析需求的功能定制,并且厂家即使要升级算法也必须在修改源代码的基
3、础上向用户完全重新发布软件,增加了软件的维护和升级成本,给用户使用带来了不便。针对目前国内电力专业软件在波形显示和控制上的缺点,本文结合面向对象的设计方法和设计模式的思想,采用先进的C+模板库:STLPort11,Boost12,构建了一个先进的录波显示控制引擎。以此引擎为输出,实现了一个可扩展的电力故障集成分析环境,在该环境内不仅集成了大量的通用电力分析算法,而且还支持语法的高亮度彩色显示、调试输出、代码伸缩、撤销等高级集成开发环境(IDE)才具备的功能。1 基于模式的电力故障分析软件设计思想Gamma于1995年总结并提出了软件设计模式方法学9。此方法学解决了软件设计方法中的重用问题,现已
4、成为面向对象设计方法学的重要分支。本文针对电力系统故障录波分析软件的特点,成功运用了各种设计模式,为以后此类软件的研发总结并分析了需要使用的设计模式,从而大幅度降低了系统的设计成本和维护升级成本。2 基于模式的录波显示控制引擎设计由图1可见,引擎由后台共享录波数据、基于属性控制的波形显示、动态跟随显示3个模块组成。这3个模块分别代表了系统的3个不同层次:数据解析层、数据显示控制层、用户控制层。图1 引擎结构Fig.1Engine structure1)数据解析层:通过生成器(Builder)模式9屏蔽不同格式录波文件的解析过程,并且将录波数据组织在系统后台,数据解析层通过代理(Proxy)模9
5、9第31卷 第15期2007年8月10日 Vol.31No.15Aug.10,2007式9对外提供通道数据对象的代理对象。2)数据显示控制层:此层可通过代理对象获取通道数据对象,结合通道属性对象即可绘制出当前需要显示的波形。结合通道属性对象,使用命令(Command)模式9和备忘录(Memento)模式9实现了波形显示的撤销功能。3)用户控制层:用户控制图形的过程中,可通过坐标变换快速地定位、获取通道数据对象并进行计算,为了使不同对象的控制接口得到统一,在设计上引入责任链(chain of responsibility)模式9,实现了高度统一的控制接口。在引擎设计采用的诸多设计模式中,最为关键
6、的是数据解析层中代理模式和数据显示控制层中的命令模式。这2种模式的成功运用,实现了目前录波分析软件中普遍没有实现的图形撤销功能。3 显示控制引擎设计中关键设计模式实现3.1 代理模式的实现在基于录波的各种图形分析软件中,各个厂家为了简化程序设计,普遍采用了把通道对应的录波数据直接保存到通道图形对象中的方式,而这种包含大量绘制数据的通道图形对象给图形记忆算法的实现设置了一个不可逾越的难题:内存使用量。对于一个可能包含几万个甚至几十万个采样点数据的通道图形对象来说,假如要连续记录其100次图形状态,其内存使用量可能是数百MB。为了把算法的内存消耗量降到最小,在设计上必须将通道图形对象和录波数据进行
7、分离,把它们之间的关系由原来的包含关系转变为相识关系。一旦转变为相识关系以后,再将控制通道图形显示的各个变量提出来组成一个通道属性对象,针对一个固定大小的属性对象进行图形状态记忆,就使得算法可避开内存使用上的瓶颈。为此,引擎在设计上采用了代理模式,采用此模式以后,每个通道图形对象内只包含一个处于后台录波数据对象的代理对象,其原理如图2所示。从图2可见,通道数据对象的代理通过仿真通道数据对象的部分接口实现。另外,代理对象会在构造函数和析构函数中调用通道数据对象的Attach和Detach函数,让其引用计数自动加1或减1,当其引用计数等于0时,通道数据对象就会从内存中自动删除,这种机制实现了自动化
8、的通道数据对象内存管理。3.2 命令模式的实现一个良好的图形化分析环境必须实现Undo功能,例如AU TOCAD和PSPICE等。但要实现这个图2 通道数据代理对象实现原理Fig.2Principle of channel data proxy功能,必须让系统记住图形变化的前一状态,此算法实现难度较大,需要在内存消耗和算法复杂度之间找到一个平衡点。为实现此算法,在引擎设计中引入了命令模式,此设计模式可大幅度简化撤销重做功能的设计难度。其设计模式原理如图3所示。图3 引擎采用的命令模式原理Fig.3Principle of command design pattern从图3可见,为了减小内存使用
9、量,系统在命令模式的继承树上做了较多分支,这样在图形操作时,系统只记忆当前属性包中变化的量;另一方面,命令模式的引入可让图形显示代码与图形记忆代码完全分离,代码的可复用性得到了增强,并且使对象间代码的耦合度降低。0012007,31(15)4 可扩展的电力故障集成分析环境如图4所示,集成分析环境由界面框架、多功能编辑器、脚本过滤模块、解析引擎、插件接口5部分组成。界面框架负责加载其他4个子系统;多功能编辑器提供一个具有先进属性的脚本编辑环境;在编辑器内编写完毕的脚本,首先经过脚本过滤模块的过滤,除去全部的注释,并且对脚本进行标准格式化处理;此后提交给解析引擎,解析引擎首先进行语法分析,这是动态
10、编译过程,然后进行函数参数校验,这是类型编译过程,这2步后解析引擎就会逐个对各个表达式进行解释执行,由于每个函数都是采用静态语言C+已编写好的函数对象,所以解释执行的效率非常高;最后,当用户需要自己定制新的分析算法和界面时,可通过插件接口进行系统扩展。图4 集成分析环境的结构Fig.4Structure of integrated analysis environment4.1 引擎采用的设计模式解析引擎内部代码设计复杂,为了降低系统结构的设计复杂度和代码间的耦合程度,引擎在设计过程中充分采用了各种先进的设计模式。以下为系统采用的重要设计模式:1)解析引擎内有各种不同的接口,为了让这些不同的接
11、口融合在一起,变成统一界面的接口函数,系统在设计中采用了Facade模式9,通过Facade模式可将不同的接口类完全隐藏起来,从而降低了接口间的代码耦合程度。2)解析引擎内全部分析函数和插件提供的新算法都以函数对象的形式存在,对于众多不同的对象其创建是一项麻烦的工作,为此,引擎在设计中采用了Prototype和Abstract Factory模式9,通过这2种模式使得这些不同对象的创建接口得到统一,大幅度简化了引擎设计。3)引擎的解释过程是一个状态不断变化的过程,通常情况下,这种程序设计需要大量“if”结构,而这种结构的大量存在必然导致算法实现复杂度增加,系统维护和升级的成本增加,为此,引擎在
12、设计中采用State模式9。采用State模式后大量的“if”结构会消失,系统设计变得非常清晰,而且当需要增加某个状态时,完全不需要修改原来的任何代码。4.2 插件技术的实现解析引擎采用COM技术实现一个粗鲁粒度的算法扩展接口和界面扩展接口,解析引擎插件至少必须实现算法接口才能被嵌入系统内。算法接口在引擎内的定义如下:获取算法个数:GetFuncsNum();获取算法描述文件:GetInfoFile();获取插件版本信息:GetPluginVersion();构建算法函数对象:NewFuncs(int nID,void3 3pFunc)。通过此接口可在插件内定义多个不同的算法函数对象,需要某个
13、算法函数对象时,可通过识别号(ID)进行创建。上述插件接口定义中具体的算法函数对象不是通过COM调用生成,COM接口只是实现了一个负责算法函数对象创建的类工厂(classfactory),通过这样的抽象可把系统对COM接口的依赖降低很多,避免了过于复杂的COM接口调用过程。对于界面接口而言,解析引擎只要求插件通过一个类工厂接口直接创建一个属性页对象,而不具体关心属性页对象内具体的实现过程。在创建的属性页对象内,要求引擎提供一个编辑视图的对象指针,用户插件可通过此指针来控制脚本编辑环境。4.3 集成分析环境的特性此分析环境中集成了目前国内同类软件中最齐全的电力算法库:通道的N次谐波幅值(相位)、
14、阻抗幅值(幅角)、2路交流信号相角差、2组三相交流信号正序分量的相角差、突变量、基波频率、基波负序(零序)不平衡度、任意通道组合求累加(平均)、正序(负序、零序)分量、三相(单相)有功(无功、视在功率、功率因数)、三相基波正序(负序,零序)功率等30多种算法。另外,此环境中的多功能编辑器设计参考了跨平台的编辑器开源工程Scintilla13,实现了.Net等高级集成开发环境才具备的特性,这些特性极大地提高了系统使用上的方便性和快捷性。5 结语本文提出了基于模式的通用可扩展故障分析软件系统设计的一种新思路,并给出了其具体实现。此系统已在全国多个录波器和保护信息系统厂家试101 新技术新产品 桂
15、勋,等 基于模式的电力系统通用可扩展故障分析软件系统用,并将在四川省电力调度中心的新主站系统中与国电南思的保护信息系统一起投入使用。参 考 文 献1姜建宁,章坚民.电网故障信息系统中的一次故障建模与识别.电力系统自动化,2006,30(16):51256.JIANGJianning,ZHANG Jianmin.Primary fault informationmodeling and identification for grid relay protection and faultinformation system.Automation of Electric Power Systems,
16、2006,30(16):51256.2白青刚,夏瑞华,周海斌,等.采用高性能集成芯片的故障录波装置设计.电力系统自动化,2005,29(22):94296.BAI Qinggang,XIA Ruihua,ZHOU Haibin,et al.Design offault wave recording device using high performance integratedmicrochip.Automation ofElectricPowerSystems,2005,29(22):94296.3宋墩文,蒋宜国,许勇.波形数据通用分析系统的设计.电网技术,2002,26(11):77279
17、.SONG Dunwen,JIANG Yiguo,XU Yong.Design of versatileanalysissoftwareforwaveformdata.PowerSystemTechnology,2002,26(11):77279.4张杰,涂东明,张克元.基于COMTRADE标准的故障录波的分析与再现.继电器,2000,28(11):20223.ZHANG Jie,TU Dongming,ZHANG Keyuan.Analysis andrepresentationoftherecordedfaultbasedonstandardCOMTRADE.Relay,2000,28(1
18、1):20223.5刘天斌,王永业,柳焕章,等.基于COMTRADE格式的故障分析管理系统.继电器,2001,29(11):47249.LIU Tianbin,WANG Yongye,LIU Huanzhang,et al.Thefaultdatamanagement&analysissystembasedonCOMTRADE.Relay,2001,29(11):47249.6刘志超,黄俊,承文新,等.电网继电保护及故障信息管理系统的实现.电力系统自动化,2003,27(1):72275.LIU Zhichao,HUANG Jun,CHENG Wenxin,et al.Theimplement
19、ationofmanagementinformationsystemforprotective relaying and fault recorder.Automation of ElectricPower Systems,2003,27(1):72275.7杜新伟,李媛,刘涤尘.电力故障录波数据综合处理系统.电力系统自动化,2006,30(12):75280.DU Xinwei,LIYuan,LIU Dichen.Integrated processingsystem for power fault recording data.Automation of ElectricPower Sys
20、tems,2006,30(12):75280.8桂勋,郭凯,谭永东,等.基于网络的全图形化故障录波分析软件系统.继电器,2004,32(24):44250.GUI Xun,GUO Kai,TANG Yongdong,et al.All2graphicsoftware system for fault record analysis based on network.Relay,2004,32(24):44250.9 GAMMA E,HELM R,JOHNSON R,等.设计模式:可复用面向对象软件的基础.李英军,马晓星,蔡敏,等译.北京:机械工业出版社,2002.GAMMA E,HELM R,
21、JOHNSON R,et al.Design patternselements of reusable object2oriented software.LI Yingjun,MAXiaoxing,CAI Min,et al,trans.Beijing:China MachinePress,2002.10陈佳胜,曾克娥,孙扬声,等.大型发变机组故障录波装置分析软件的研制.电网技术,2002,26(5):76280.CHEN Jiasheng,ZENG Kee,SUNYangsheng,etal.Development of analysis software of fault recorder
22、 for highpowergenerator2transfromerbank.PowerSystemTechnology,2002,26(5):76280.11 STEPANOV A,AUSTERNM,FOMITCHE B,etal.Background mainpage EB/OL.2006208202.http:/www.stlport.org.12 ABRAHAMS D,ADLER D,BREY E,et al.Introduction EB/OL.2006209220.http:/www.boost.org.13 ISHIMOTO A,HAMMOND M,COGUIEC F L,et
23、 al.SciTE EB/OL.2006211202.http:/www.scintilla.org.桂 勋(1978),男,博士研究生,从事电力系统自动化研究。E2mail:guinh3 刘志刚(1975),男,教授,从事现代信号处理技术及其在电力系统应用的研究。钱清泉(1936),男,教授,中国工程院院士,从事电力监控系统及其自动化研究。General Extensible Fault Analysis Softw are for Power System Based on PatternsGUI Xun,L IU Zhigang,QIA N Qingquan(Southwest Jiao
24、tong University,Chengdu 610031,China)Abstract:Based on analyzing the implementation methods of current fault analysis software for power system,several defectsand shortcomings existing in the software are pointed out.For solving those problems,the design idea of general extensiblefault analysis soft
25、ware is proposed,which is implemented with the C+template library(STLPort and Boost)for wavedisplay control engine.An expansive integrated analysis environment is realized.This paper expatiates on the softwarearchitecture of wave display control engine and expansive integrated analysis environment f
26、or power system,details the keydesign patterns during the process of system design.This work is supported by Fok Ying Tung Foundation for Young Teachers in Higher Education Institutions of MOE(No.101060)and Sichuan Provincial Foundation for Outstanding Young Investigator(No.07JQ0075).Key words:fault analysis software;fault recording;design pattern;system architecture;STLPort;Boost2012007,31(15)