企业名片
高压电网继电保护整定计算软件核心算法的研究
时间:2014-04-02 09:55来源: 作者:鄂电电力 点击:
***
次
摘 要:具有可视化和自动化特性的继电保护整定计算软件大大提高了整定计算的效率。在分支系数计算模块中应用补偿法,修改阻抗矩阵时,使浮点运算减少了2/3;在整定计算模块,采用面向对象的开发方法,充分利用了C++语言的封装、类、继承、多态等特性,使软件具有可靠性、可修改性、可复用性等。 1 引言 继电保护装置是电力系统最重要的二次设备之一,它对电力系统的安全稳定运行起着极为重要的作用。因此,继电保护整定计算是电力工程设计和电力生产运行中一项必不可少的工作[1]。人工计算继电保护整定值,虽然可信度较高,但计算工作十分繁杂。利用计算机技术提高整定工作效率成了进入20世纪90年代以来人们的迫切需要。 采用面向对象的语言VC++6.0开发的基于安徽电网的整定计算软件在图形建模、整定计算、故障分析和数据管理上,具有通用型,灵活性,可靠性等特点。计算速度快,易于维护和修改,具有可再生性是它的主要优点。该软件的使用能够大幅度地减轻继电保护整定计算人员的工作量,且保证了继电保护装置满足灵敏性、选择性、可靠性和安全性的要求。本文主要介绍此软件为满足这些要求所采用的一些核心算法。 2 继电保护软件总框图 继电保护软件主要由界面模块、图元模块、整定计算模块、分支系数计算模块、故障计算模块等部分组成。其整体结构如图1所示。 3 软件的设计思想 整定计算软件在进行故障计算、分支系数计算时,需要处理大量的矩阵运算。传统的算法,是采用并一条负值的支路来模拟断线,由于它是针对全网进行计算,因此牵一发而动全身,即每次都要修改整个矩阵元素。在一个大系统中,每次只需处理一根或两根断线时,此算法就显得十分笨拙了。在实际中,继电保护整定的习惯往往是只针对单条或两条线路进行整定。这就存在一个问题:为了修改一条支路,就得对整个阻抗矩阵进行修改,这样作费时和费力。那么,有没有一种算法,只需局部进行修改就可以了哪?有一种简单的算法—补偿法,它能有针对的对一两条支路进行修改而避免了全网计算。当开断单条线路时,效果尤其明显。虽然补偿法在开断两条以上的线路时,已经变得很复杂,但根据继电保护的习惯,补偿法不需要修改这么多的支路。所以,此应为最佳选择。另外,在整定计算中,采用了面向对象的开发方法而摈弃了传统的开发方法。传统的开发方法也叫面向过程的开发方法,它着眼于系统要实现的功能。从系统的输入和输出出发,分析系统要做哪些事情,进而考虑如何做这些事情,用自顶向下逐步进行功能分解的方式,建立系统的功能结构和相应的程序模块结构。但是,程序因各种各样的原因需要经常修改,这种修改常常涉及到许多模块,有时因功能改变导致全部模块都要变更,这样修改工作量极大,很容易产生新的错误,使得程序退化。面向对象的方法弥补了传统算法的不足。它有一个极大的优点就是类的应用。类的定义充分体现了抽象数据类型的思想,基于类的体系结构可以把程序的修改局部化。特别是一旦系统功能需要改变,主要修改类中间的某些服务,类所代表的对象基本不变,整个系统保持稳定,确保系统不致因修改而退化。因此,用面向对象的开发方法建立起来的软件易于修改,与传统的方法相比,程序具有更好的可靠性,可修改性,可维护性,可复用性,可适用性和可理解性。 4 软件的核心算法 本软件在分支系数计算模块和故障计算模块中,都用到了补偿法。下面以分支系数计算为例,来介绍此算法的应用。 4.1 分支系数计算模块的算法及数据处理 4.1.1 补偿法原理简述 所谓“补偿法”,是指当网络中出现支路开断的情况时,可以认为该支路未被开断,而在其两端节点处引入某一待求的电流增量或称之为“补偿电流”,以此来模拟支路开断的影响。实际上也可以认为相当于在应断开支路两端并联一条阻抗值为其相反数的虚拟支路。 4.1.2 补偿法的算法说明 对于节点数为400,支路数为800的庞大系统,采用一般的算法,计算速度很慢,而采用补偿法,在全网断开支路少于3条时,运用该算法去修改阻抗矩阵(即Z阵)快捷,方便。故在运行方式不变,仅考虑轮切1~2条线路,双侧电源线路相继动作的前提下,实属最佳选择[6]。 下面以轮断线路时为例,说明用补偿法修改阻抗矩阵。 设待修改的阻抗矩阵元素是Zij,修改后变为 在程序中,为求某个分支系数或零序电流需轮断线路时,采用式(4)可减少一些浮点数除法运算。 4.1.3 分支系数的科学计算法及补偿法的实现 在已知短路点总电流的情况下,只要知道待求支路ij的所谓“分流系数”kij,即可求出待求支路和故障支路电流。在求分支系数时,由于短路点已知,只需求相邻两支路的故障电流之比,所以只要求两线路的“分流系数”kij之比即可。以正序网为例(零序网类似) 4.2 整定计算模块的算法及数据处理 4.2.1 面向对象的开发方法在整定计算模块应用说明 面向对象的开发方法贯穿于工程始终,在整定计算中它的运用简化了编程,提高了效率。软件用了类的封装,继承,多态等特性,模块中的各子功能被封装在各个类中,以成员函数的形式出现[4]。在整定计算模块中,一个整定公式就是一个类的成员函数,例如在线路距离保护Ⅰ段中[5],有五条整定原则:1)按线路全长的85%来整定;2)不伸出下一级变压器其它各侧;3)和相邻上一级距离Ⅱ段保护配合;4)和相邻上一级110 kV主变过流Ⅰ段保护配合;5)全线速切。因此Ⅰ段的成员函数主要有a、b、c、d、e和一个定值比较函数,当用户需按和来整定,就可在界面上选择Ⅰ段的原则,则程序调用和的函数和一个定值比较函数;调用其他整定原则以此类推。这样,Ⅰ段就有(C15+C25+C35+C45+C55)=31种组合,而实际的程序只有6个。系统组合了几种常用的公式,若有地区有特殊情况,公式的组合有改变,只需在文本文档中添加进此组合,存盘,在人机界面上就可反映出来。若需用其他公式,则由开发者再编写一个此类的成员函数,别的不需更改,体现了类的封装性和继承性的优点。在别的类中,当有改变时,只要它的接口不变,整定公式类就不会受影响。 4.2.2 整定计算中的数据处理 关于整定计算中的数据处理,主要运用了面向对象的语言中的链表。传统做法即利用数组或顺序方式来组织数据结构,其优点是存储利用率高,存取速度快。但是,数组的元素个数不能自由扩充,否则就会导致系统停工。另外,在表中插入或删除元素时,为保持其它元素的相对次序不变,平均需移动一半元素,效率很低。而链表适用于插入或删除频繁,存储空间需求不定的情况,而且,链表不但可以表示线性聚集,还可表示非线性聚集,如树、图、网络等。由于各电网投或切一定的机组时,各元件的数目时常变化,电网的将来发展中也需要增加或停运一定的机组,以及各元件属性之间的相互联系已成网络状联系,因此使用链表为最佳选择。此整定软件的数据处理,主要有以下说明:设备参数数据库中的系统参数包括母线表、发电机表、线路表、双卷变表、三卷变表、互感线路组表等数据的信息,它们与各种网络元件一一对应。这些信息全部写成链表的形式,以全局变量的形式在程序中被使用,这就保证了数据源的唯一性,数据的可靠性,而且做到了动态分配内存,节约了系统资源,且使用方便。 5 结论 综上所述,补偿法的计算量主要集中在开断线路时修正阻抗矩阵,本程序通过以下两条来提高计算速度。 (1)仅修正计算时需要用到的阻抗矩阵元素。按原始计算公式来计算需进行大量的浮点数运算,但实际上,开断一条线路时,需修正的元素就是进行短路计算所用到的元素;开断两条线路,或是在开断一条线路的基础上考虑相继动作时,由于必须要在第一次开断后的网络基础上进行,需修正的阻抗矩阵元素要通过原始计算公式来推知。所以,仅修正计算时需要用到的阻抗矩阵元素就可减少工作量。 为从i、j看进去的输入阻抗。由于开断某一条线路时,同一行阻抗矩阵元素的补偿电流相同,则可以减少2/3左右的浮点数除法。 本文为阶段性研究成果,尚未考虑有互感线路的情况,这将在以后的研究中考虑。 |