APP下载

面向对象技术在水电站群优化调度系统中的应用

2011-03-28张俊吴臻廖胜利程春田

电力建设 2011年6期
关键词:面向对象出力水电站

张俊,吴臻,廖胜利,程春田

(1.浙江电力调度通信中心,杭州市,310007;2.大连理工大学水电与水信息研究所,辽宁省大连市,116024)

0 引言

我国水电发展极其迅速,水电装机从 2000年的79 GW发展到 2004年 9月突破100 GW,年水电发电量也从2000年的2 431亿kW·h增加到2004年的3 280亿 kW·h。截止 2008年,水电装机容量达171.52 GW,并且在建和待建水电规模庞大,到 2020年水电装机将达到300GW。到2005年底,我国已建成1 GW以上的大型水电站 21座,主要分布在全国十二大水电基地,与一些已投产的中小水电站共同构成梯级关系复杂的大规模流域水电站群。这些水电站群具有规模庞大、结构复杂、水库调节性能多样、串并联并存及不断有新电站投产等特点,依靠传统的管理技术和经验,已经无法胜任复杂水电站群调度运行的需要。因此,如何利用现有的计算机技术,研发具有操作便捷、简单实用、灵活性好及扩展性强的水电站群优化调度系统是电网公司目前迫切需要解决的问题。

1 面向对象的水电站群优化调度系统

面向对象技术是一种全新的系统分析与设计方法[1-5],该技术着眼于软件开发对象,通过软件对象来模拟现实中的实际物理对象,对象把数据和过程结合在一起赋予数据以动作。该技术的类、封装性、继承性、动态连接、多态性、模块化和实例化等概念和特性,使得对象一旦被创建即可被重用;也可以此为基础,通过继承、修改或扩充来创建新的对象;抽象类和接口类提供对不同对象间共性和个性的有效分离[5]。以这些类为基础开发新的软件就变得非常容易,特别便于软件的维护、扩展、重用和集成。

水电站群优化调度就是综合利用现代控制原理、经济分析理论、人工智能技术和网络信息技术,根据预测的水库入流过程和综合利用要求,考虑水轮机组的运转特性以及电价的影响,合理安排流域梯级水电站群的生产调度过程[6]。根据计算步长,水电站优化调度分为:长期、中期和短期,长期优化调度一般以月或旬为计算步长,中期以日而短期以1 h或30min为计算步长。3种调度模式以电量或水位为连接纽带,相互滚动套接,除了计算步长和一些细节差异外,在数据准备、业务流程、计算流程和操作流程上有着许多相同的需求,都要求可以选择不同的电站组合参与计算、准确设置计算电站的各类约束、统计和发布计算结果以及生成各种所需报表等。正是由于此相似性,故可以采用面向对象技术,从通用模块类构造、界面抽象设计、数据流程抽象设计及算法扩展性设计方面入手,将系统各模块的共性特征实现有机组合,而将其个性特征通过继承抽象类或实现接口达到各种需求,这种设计可以使系统软件具有良好的可维护性、可扩展性和可重用性。

2 面向对象的水电站群优化调度系统设计

2.1 通用模块类设计

水电站群优化调度系统中,各种调度模式下都需要功能相对独立的模块,系统将这些模块单独实现,形成通用的模块类,如图 1所示。这些模块类或者提供特定的功能,如基本数据类提供各电站的基础属性数据及其操作方法,常用算法类提供基本数据统计方法等;或者提供具有类似功能的框架,如水调优化计算类提供功能相似的计算框架,但是其中的实现细节根据不同的调度模式和电站的差异有所区别,其只是一些具有相似流程和框架的抽象类。

图1 优化调度系统通用模块类Fig.1 Generalmodule classesof optimized scheduling system

通用模块类实现了数据与方法的封装,具有独立性,易于调试,同时在需要的时候可以随时组装。每个类均完成某一特定的功能,可以保存特定的属性数据,对外有统一的、标准的接口方法。如水位库容关系曲线类,既提供水库水位关系曲线,又可以提供给定水位查找库容或给定库容反查水位的方法。通过大量标准模块类构建,形成了系统程序资源库,这些资源库经过大量工程应用,其算法、应用功能的实用性和可靠性得到了反复检验,可确保系统高度可靠性,这对于调度系统和梯级电站的安全稳定运行非常重要。

2.2 基于合适粗细粒度对象的界面及流程设计

对象粒度是指系统软件实现过程中采用的单元类,该单元类如果选择得太小,没有全面反映到目标对象的共性,实现过程中就会出现大量重复定义,导致信息冗余;相反如果这个单元类选择得太大,既包含了目标对象的共性,也包含了某些对象的个性,而无法反映另一些对象的个性,实现过程将会出现解耦困难、定义混乱等现象。对于业务流程和数据流程特别复杂的大规模水电群的优化调度系统,如果能够选择合适的粗细粒度对象,抽象和规范有共同特征的业务流程,通过共性和个性化设计统一相同的功能并通过面向对象技术处理个性设计,不但能统一系统风格,简化应用系统操作及实现,还可以有效地提高系统的扩展性、安全性和可靠性。

水电站群优化调度系统中,长中短期优化调度子模块业务流程都包含了方案管理、电站选择、条件及约束设置、调节计算、成果管理及比较分析等几个部分,这些模块的业务流程或其子流程在操作和功能上基本相同,寻找合适粗细粒度的对象对系统进行抽象可以统一和简化系统设计,更好地满足用户操作习惯,尽量保证这些子模块的数据流程及界面流程一致性。

在调度优化过程中,各类调度约束都包括水电系统带宽设置、电站区间流量设置、最大最小出力限制设置、最高最低水位限制设置、各时段电价设置等,这些具有共性的属性可以单独抽象出来,生成抽象类作为约束设置模块中的粒度对象。不同步长的调度方式下,检修类型、来源及操作方式是不同的。对于中长期调度,检修来源于中长期检修申请(年初、月初或者旬初申请的检修纪录),且时间单位仅精确到天;对于短期调度,检修来源于短期申请(前1天或者当天申请的检修纪录),且时间单位精确到min。再如对于短期调度,水量计算比较精细,在约束设置过程中既要考虑梯级电站间的流量滞时关系,也要考虑水库是否有通航要求等。这些个性就需要在共性的基础上进行单独特殊处理,图 2是各种不同调度方式约束设置的简单抽象示意。

2.3 系统及方法抽象设计

抽象是从相似对象与流程找出共性方面,加以提炼和组合,形成具有共同特点的抽象类,一旦系统在这部分需求发生改变,只需在该抽象类中作出调整,即可完成所有具有该共性的对象的修改和维护,同时不会影响到所有个性的功能及修改。水电站群优化调度系统在界面设计、基本算法设计、数据流程及业务流程处理过程中都充分考虑通过抽象共性属性,达到系统操作的高度一致性和维护的灵活性。

在水电站群优化调度计算中,以水定电和以电定水是最常规的计算方式。已知初始水位及时段内来水,以水定电是根据给定时段末水位或时段平均发电流量,计算当前时段的平均出力过程;而以电定水是根据给定的时段内平均出力反算时段末水位。在实际计算过程中,由于要考虑到电站的各类约束,如最高、最低水位限制,最大、最小出力限制等,这 2种不同的计算方式经常要在边界条件处理过程中互相调用,图 3、4分别为这 2种计算过程的流程图。

图2 长中短期优化调度条件及约束设置抽象设计Fig.2 Abstract design of constraint and settingm odule in optimized scheduling of long,m edium-and short-term

图3 以水定电计算流程Fig.3 Flow chart of power generation calculation depending on water param eters

从图 3、4可看出,这 2种计算过程要反复用到出力计算过程,水电站出力计算方式主要有:综合出力系数、经验耗水率公式和拟合的 NHQ曲线[7]。在实际计算过程中,各水电站根据资料的完整情况及计算步长的不同,选择不同的计算方式,对于中长期优化调度计算,其时间跨度较大,优化结果相当于电量平衡过程,不用考虑各时段间的电力衔接关系,因此计算较粗,采用综合出力系数方式或经验耗水率公式即可满足要求。而对于短期优化调度,整个调度结果相当于电力平衡,除了需要考虑各相邻时段电力衔接外,对于最小空转流量限制、避免机组振动区间等细节都要作出处理,计算过程较精细,因此需要采用拟合NHQ曲线方式计算。而无论对于哪种出力计算方式,以水定电或以电定水的计算流程是相同的。

图4 以电定水计算流程Fig.4 Flow chart of water parameters calculation according to power generation

首先定义以水定电的计算框架及流程,并将出力计算部分定义成抽象方法,对于不同的出力计算方式,只需要继承该框架,并按各自的出力计算模式实现其中的出力计算方法。通过这种方式实现后,各类调度模式在调用以水定电模式时都具有相同的计算框架,便于系统的统一调试、维护与扩展。

2.4 可扩展接口设计

水电站群优化调度系统的实现,无论是用户界面设计,还是优化算法调试都具有规模庞大、逻辑结构复杂、边界条件及异常处理麻烦等特点。如果将其统一考虑设计,进行混合编程实现,将大量增加系统实现的工作量。但是如果将其进行独立设计,同时通过接口通讯实现不同流程间的数据传输,则可以达到减少系统工作量,提高系统容错能力的目的。接口是耦合 2个过程间的规范,可以使 2个相关的过程通过这个规范进行通讯,而不用知道对方的实现细节。任何类只要实现了这个接口,便可以与调用该接口的类进行通讯,因此采用接口通讯的方式可以使系统具有良好的扩展性。通过接口使优化方法与系统界面及业务流程相分离既便于系统实现,又能满足系统新加电站或添加优化算法的要求,为系统算法扩展提供保证。

随着新水电站的不断竣工投产,流域的特性和调节性能会发生改变,系统原有的优化算法可能不能满足这种需求,这时需要对算法进行改进或添加新的优化算法,系统可扩展的算法接口设计为这一需求提供了条件。首先定义好优化算法的接口,这个接口的功能是使算法程序和应用程序相互分开。优化算法如动态规划,逐次逼近优化,遗传算法等的实现都只要实现这些接口,便可以快速地接入系统。而应用程序在调用这些优化算法时,只需调用这些接口,不用调用其中的细节。所以,在修改原有算法或添加新的算法过程中,原有系统的用户界面、数据流程和业务流程不用作任何修改,保证了系统良好的稳定性与扩展性。采用应用程序与算法程序分离的接口通讯技术,使系统的维护、升级和改造变得更加直观、简单和快捷。

3 结语

电网水电站群发电优化调度决策支持系统是国内外水电站优化调度的重要发展方向,是国家电力调度通信中心对于各个省级电网水调自动化系统的基本要求。同时,简单实用、操作性强、扩展性好、切实可行的水电站群优化调度软件系统是我国水电飞速发展过程中复杂水电站群实际优化调度中普遍关心的问题。

随着面向对象技术的发展及其在水电站群优化调度系统设计中的深入应用,将越来越加速理论成果向实际应用的转化,对提高和改善我国规模庞大的库群优化调度的整体水平具有重要和深远的影响。

[1]张小平,王伟.面向对象的程序设计及其在 EMS软件中的应用[J].电力系统自动化,1998,22(5):72-76.

[2]范文涛,薛禹胜,慕志恒.面向对象技术及其在电力系统中的应用[J].电力系统自动化,1998,22(12):72-76.

[3]Foley M,Bose A.Object-oriented on-line netw ork analysis[J].IEEE Transactionson Pow er Systems,1995,10(1):125-132.

[4]程春田.面向对象技术在水库防洪调度系统中的应用[J].水电能源科学,1998,16(3):10-15.

[5]Lew is J,Chase J.数据结构(Java版)[M].北京:清华大学出版社,2004.

[6]马光文,王黎.水电竞价上网优化运行[M].成都:四川科学技术出版社,2003.

[7]张勇传.水电站经济运行原理[M].北京:中国水利水电出版社,1998.

猜你喜欢

面向对象出力水电站
里底水电站工程
白鹤滩水电站有多“牛”?
《水电站设计》2020年总目录
风电场有功出力的EEMD特性分析
面向对象Web开发编程语言的的评估方法
要争做出力出彩的党员干部
峰丛洼地农作物面向对象信息提取规则集
基于面向对象的车辆管理软件的研制与开发
风电场群出力的汇聚效应分析
面向对象的SoS体系结构建模方法及应用