本发明属于自动发电控制,具体涉及一种水电厂自动发电控制系统及方法。
背景技术:
1、自动发电控制(agc)是指按预定条件和要求,以迅速、经济的方式自动控制水电厂有功功率来满足系统需要的技术,它是在水轮发电机组自动控制的基础上,实现全电厂自动化的一种方式。根据水库上游来水量和电力系统的要求,考虑电厂及机组的运行限制条件,在保证电厂安全运行的前提下,以经济运行为原则,确定电厂机组运行台数、运行机组的组合和机组间的负荷分配。在完成这些功能时,要避免由于电力系统负荷短时波动而导致机组的频繁起、停。
2、在水电厂监控系统中,agc的组态逻辑一般以功能块的形式存在于监控系统上位机程序中。agc组态逻辑的程序结构可以划分为界面样式层、业务逻辑层和数据获取层。其中,界面样式层负责实现人机界面的交互功能,数据获取层负责实现和数据库之间的数据交互,而业务逻辑层则作为agc功能实现的核心,其关键在于通过合理设计逻辑组态的整体结构、功能模块、数据结构、算法和接口,实现逻辑组态的简洁高效以及可维护性、可扩展性和可重用性。
技术实现思路
1、本发明的目的在于克服目前水电厂自动发电控制的逻辑组态模块内部的元素联系不够紧密且模块间的联系过多导致维护成本高且开发效率低的问题,提出了一种水电厂自动发电控制系统及方法。
2、为达到上述目的,本发明采用如下技术方案:
3、一种水电厂自动发电控制系统,包括agc投入判断及有功给定模块,用于判断水电厂全厂agc是否投入并确定水电厂全厂有功给定方式;
4、有功分配计算模块,用于计算水电厂全厂agc的有功分配值;
5、agc分配值下发模块,用于计算出投入agc的每台机组的agc分配值,并在agc处于闭环调节模式时,将agc分配值下发到各台机组;
6、agc投入判断及有功给定模块包括全厂有功给定方式子模块,用于根据外部输入确定全厂有功设定值采用定值方式或曲线方式,当采用定值方式时,根据外部输入确定agc的控制权所属,当采用曲线方式时,agc的控制权属于电厂;agc的控制权所属包括电厂、调度或集控。
7、进一步地,单机agc投退条件判断子模块,用于根据单机agc投退条件对单机agc的投入状态和退出状态进行切换;
8、全厂agc投退条件判断子模块,用于根据全厂agc投退条件对全厂agc的投入状态和退出状态进行切换;
9、有功分配计算模块包括输入容错性检查子模块,用于检查外部输入的全厂有功设定值是否处于上下限范围内,且是否避开了全厂振动区;
10、负荷控制子模块,用于当系统母线频率处于正常调频频段范围内时,通过负荷控制子模块计算全厂agc有功分配值;
11、频率控制子模块,用于当系统母线频率超出正常调频频段范围,通过频率控制子模块计算全厂agc有功分配值;
12、agc分配值下发模块包括基本负荷分配子模块,用于全厂agc有功分配值在全厂已投入agc的机组中按照与容量成比例原则进行分配;
13、小负荷分配子模块,用于全厂agc调整值处于小负荷分配范围内时,选择一台机组进行小负荷调整;
14、小负荷分配机组优先级子模块,用于根据增负荷和减负荷两种情况分别判定小负荷分配机组优先级,并将全厂agc调整值分配给优先级最高的机组。
15、一种水电厂自动发电控制方法,使用所述的一种水电厂自动发电控制系统,包括以下步骤:
16、s1、利用agc投入判断及有功给定模块判断水电厂全厂agc是否投入并确定水电厂全厂有功给定方式;
17、s2、利用有功分配计算模块计算水电厂全厂agc的有功分配值;
18、s3、利用agc分配值下发模块计算出投入agc的每台机组的agc分配值,并在agc处于闭环调节模式时,将agc分配值下发到各台机组。
19、进一步地,s1包括如下步骤:依次按顺序执行全厂有功给定方式子模块、单机agc投退条件判断子模块和全厂agc投退条件判断子模块,判断全厂agc是否投入,若全厂agc投入则进入s2,若全厂agc未投入则返回继续执行上述三个子模块;
20、s2包括如下步骤:判断系统母线频率是否处于正常调频频段范围内,若系统母线频率处于正常调频频段范围内则依次执行输入容错性检查子模块、负荷控制子模块,若系统母线频率不处于正常调频频段范围内则执行频率控制子模块;通过负荷控制子模块或频率控制子模块计算出全厂agc有功分配值后,进入s3;
21、s3包括如下步骤:判断全厂agc调整值的绝对值是否处于小负荷分配范围内,若全厂agc调整值的绝对值处于小负荷分配范围内则执行小负荷分配子模块并调用小负荷分配机组优先级子模块,若全厂agc调整值的绝对值不处于小负荷分配范围内则执行基本负荷分配子模块;
22、通过小负荷分配子模块或基本负荷分配子模块计算出投入agc的每台机组的agc分配值后,判断agc是否处于闭环调节,若agc处于闭环调节则将每台机组的agc分配值进行下发并结束s3,若agc不处于闭环调节则直接结束s3。
23、进一步地,全厂有功给定方式子模块执行以下步骤:判断全厂有功设定值是否采用曲线方式,若采用曲线方式则将agc控制权切换到电厂,将全厂有功设定值赋值为日负荷曲线对应时间点上的值,结束全厂有功给定方式子模块的流程;
24、若不采用曲线方式则判断全厂有功设定值是否采用定值方式,若不采用定值方式则返回全厂有功给定方式子模块的流程开始;
25、若采用定值方式则判断agc控制权是否属于电厂,若属于电厂则全厂有功设定值赋值为电厂运行人员在agc画面上的设定值,结束全厂有功给定方式子模块的流程;
26、若不属于电厂则判断agc控制权是否属于调度,若属于调度则全厂有功设定值赋值为调度通过远动通信下发的值,结束全厂有功给定方式子模块的流程;
27、若不属于调度则判断agc控制权是否属于集控,若属于集控则全厂有功设定值赋值为集控通过远动通信下发的值,结束全厂有功给定方式子模块的流程;
28、若不属于集控则返回判断agc控制权是否属于电厂。
29、进一步地,单机agc投退条件判断子模块执行以下步骤:判断单机agc是否已投入,若单机agc已投入则判断是否满足单机agc自动退出条件,若满足单机agc自动退出条件则自动退出单机agc,结束单机agc投退条件判断子模块的流程;
30、若不满足单机agc自动退出条件则继续判断是否有单机agc退出指令,若有单机agc退出指令则退出单机agc后结束单机agc投退条件判断子模块的流程,若无单机agc退出指令则直接结束单机agc投退条件判断子模块的流程;
31、若单机agc未投入则判断是否满足单机agc投入条件,若不满足单机agc投入条件则直接结束单机agc投退条件判断子模块的流程;
32、若满足单机agc投入条件则判断是否有单机agc投入指令,若有单机agc投入指令则投入单机agc后结束单机agc投退条件判断子模块的流程,若无单机agc投入指令直接结束单机agc投退条件判断子模块的流程。
33、进一步地,单机agc投入条件包括机组无事故停机或紧急停机信号、调速器在自动状态或开度模式、监控与调速器的通讯正常、机组处于并网态、机组有功测值准确、当前机组有功未超出当前水头下的上下限且未处于振动区内和系统母线频率未超出故障频率上下限;
34、单机agc自动退出条件包括机组有事故停机或紧急停机信号、调速器不在自动状态或开度模式、监控与调速器的通讯不正常、机组不处于并网态、机组有功测值不准确、当前机组有功超出当前水头下的上下限或未处于振动区内、系统母线频率超出故障频率上下限或全厂agc从投入切换到退出。
35、进一步地,全厂agc投退条件判断子模块执行以下步骤:判断全厂agc是否已投入,若全厂agc已投入则判断是否有触发全厂agc退出的故障信号,若有触发全厂agc退出的故障信号则自动退出全厂agc,结束全厂agc投退条件判断子模块的流程;
36、若无触发全厂agc退出的故障信号则判断是否有全厂agc退出指令,若有全厂agc退出指令则退出全厂agc后结束全厂agc投退条件判断子模块的流程,若无全厂agc退出指令则直接结束全厂agc投退条件判断子模块的流程;
37、若全厂agc未投入则判断是否至少一台机组投入单机agc,若没有机组投入单机agc则直接结束全厂agc投退条件判断子模块的流程;
38、若至少一台机组投入单机agc则判断是否有全厂agc投入指令,若有全厂agc投入指令则投入全厂agc,全厂有功给定方式切换至在电厂定值方式,结束全厂agc投退条件判断子模块的流程;
39、若无全厂agc投入指令则直接结束全厂agc投退条件判断子模块的流程。
40、进一步地,频率控制子模块执行以下步骤:判断系统母线频率是否处于紧急调频频段范围内,若系统母线频率处于紧急调频频段范围内则采用正常调频系数计算全厂agc有功分配值,结束频率控制子模块流程;
41、若系统母线频率不处于紧急调频频段范围内则判断系统母线频率是否处于故障频率上下限范围内,若系统母线频率处于故障频率上下限范围内则采用紧急调频系数计算全厂agc有功分配值,结束频率控制子模块流程;
42、若系统母线频率不处于故障频率上下限范围内则退出全厂agc后结束频率控制子模块流程。
43、进一步地,小负荷分配机组优先级子模块执行以下步骤:对已投入agc的机组的当前实发值进行排序,判断全厂agc调整值是否大于全厂有功调节正向死区,若全厂agc调整值大于全厂有功调节正向死区,则判断是否存在多台机组实发值相同且最小,若存在多台机组实发值相同且最小则当前实发值最小且编号小的机组优先级最高,结束小负荷分配机组优先级子模块流程;
44、若不存在多台机组实发值相同且最小则当前实发值最小的机组优先级最高,结束小负荷分配机组优先级子模块流程;
45、若全厂agc调整值不大于全厂有功调节正向死区,则判断全厂agc调整值是否小于全厂有功调节负向死区,若全厂agc调整值是否不小于全厂有功调节负向死区则直接结束小负荷分配机组优先级子模块流程;
46、若全厂agc调整值小于全厂有功调节负向死区则判断是否存在多台机组实发值相同且最大,若存在多台机组实发值相同且最大则当前实发值最大且编号小的机组优先级最高,结束小负荷分配机组优先级子模块流程;
47、若不存在多台机组实发值相同且最大则当前实发值最大的机组优先级最高,结束小负荷分配机组优先级子模块流程。
48、与现有技术相比,本发明具有以下有益的技术效果:
49、本发明提出的一种水电厂自动发电控制系统,重点研究自动发电控制(agc)的业务逻辑层的主流程框架及其子模块的功能、外部接口和内部算法设计,实现逻辑组态的简洁高效以及可维护性、可扩展性和可重用性。采用模块化设计,每个模块职责单一,模块遵循高内聚、低耦合的原则。高内聚意味着模块内部的元素紧密联系,当模块内部发生修改时,不会影响到外部调用者或依赖者,从而减少了维护成本和时间;低耦合使得模块间的联系减少,有助于提高开发效率。
50、进一步地,本发明遵循接口隔离和抽象化原则。将需要调用的模块、函数或方法通过抽象成接口隐藏实现细节,从而实现接口与内部细节的分离;另一方面对接口的数量和复杂度进行有效的平衡,使接口数量尽可能少且接口复杂度较低。
51、进一步地,本发明对于整体流程结构、功能模块定义、外部接口和内部算法的设计遵循了简洁、高效的原则,避免了代码冗余和重复,提高代码复用率,具备较高的可维护性、可扩展性和可重用性。
1.一种水电厂自动发电控制系统,其特征在于,包括agc投入判断及有功给定模块,用于判断水电厂全厂agc是否投入并确定水电厂全厂有功给定方式;
2.根据权利要求1所述的一种水电厂自动发电控制系统,其特征在于,单机agc投退条件判断子模块,用于根据单机agc投退条件对单机agc的投入状态和退出状态进行切换;
3.一种水电厂自动发电控制方法,使用权利要求1或2所述的一种水电厂自动发电控制系统,其特征在于,包括以下步骤:
4.根据权利要求3所述的一种水电厂自动发电控制方法,其特征在于,s1包括如下步骤:依次按顺序执行全厂有功给定方式子模块、单机agc投退条件判断子模块和全厂agc投退条件判断子模块,判断全厂agc是否投入,若全厂agc投入则进入s2,若全厂agc未投入则返回继续执行上述三个子模块;
5.根据权利要求3所述的一种水电厂自动发电控制方法,其特征在于,全厂有功给定方式子模块执行以下步骤:判断全厂有功设定值是否采用曲线方式,若采用曲线方式则将agc控制权切换到电厂,将全厂有功设定值赋值为日负荷曲线对应时间点上的值,结束全厂有功给定方式子模块的流程;
6.根据权利要求3所述的一种水电厂自动发电控制方法,其特征在于,单机agc投退条件判断子模块执行以下步骤:判断单机agc是否已投入,若单机agc已投入则判断是否满足单机agc自动退出条件,若满足单机agc自动退出条件则自动退出单机agc,结束单机agc投退条件判断子模块的流程;
7.根据权利要求6所述的一种水电厂自动发电控制方法,其特征在于,单机agc投入条件包括机组无事故停机或紧急停机信号、调速器在自动状态或开度模式、监控与调速器的通讯正常、机组处于并网态、机组有功测值准确、当前机组有功未超出当前水头下的上下限且未处于振动区内和系统母线频率未超出故障频率上下限;
8.根据权利要求2所述的一种水电厂自动发电控制方法,其特征在于,全厂agc投退条件判断子模块执行以下步骤:判断全厂agc是否已投入,若全厂agc已投入则判断是否有触发全厂agc退出的故障信号,若有触发全厂agc退出的故障信号则自动退出全厂agc,结束全厂agc投退条件判断子模块的流程;
9.根据权利要求2所述的一种水电厂自动发电控制方法,其特征在于,频率控制子模块执行以下步骤:判断系统母线频率是否处于紧急调频频段范围内,若系统母线频率处于紧急调频频段范围内则采用正常调频系数计算全厂agc有功分配值,结束频率控制子模块流程;
10.根据权利要求2所述的一种水电厂自动发电控制方法,其特征在于,小负荷分配机组优先级子模块执行以下步骤:对已投入agc的机组的当前实发值进行排序,判断全厂agc调整值是否大于全厂有功调节正向死区,若全厂agc调整值大于全厂有功调节正向死区,则判断是否存在多台机组实发值相同且最小,若存在多台机组实发值相同且最小则当前实发值最小且编号小的机组优先级最高,结束小负荷分配机组优先级子模块流程;