一种水电站控制软件故障在线监测方法及系统与流程

文档序号:27263797发布日期:2021-11-05 23:05阅读:141来源:国知局
一种水电站控制软件故障在线监测方法及系统与流程

1.本发明涉及一种水电站控制软件故障在线监测方法及系统,属于水电站agc/avc软件控制技术领域。


背景技术:

2.水电站agc/avc软件的可靠稳定运行对电厂、电网的安全和经济运行都具有重要作用。大量案例和研究结果表明,即使是在软件开发阶段采用非常规范和严格的方法来提高关键控制软件的可靠性和稳定性,软件故障或失效仍然难以避免。一旦这些软件发生失效,会给电网及电厂的安全、经济和设备等方面带来极大损失。
3.发明专利201610505136.7公开了一种抽水蓄能电站控制软件在线故障诊断方法及系统,对于应用级软件故障,根据约束集判断前一个软件模块输出是否异常,一旦异常,确定引起故障的关键变量,同时转入相应的隔离处理;对于代码级软件故障,通过收集各软件模块入口相关运行数据,进行针对性的测试获取样本数据,对样本数据

进行判定,找出引起故障的关键变量,一旦关键变量再次出现异常值,转入相应的隔离处理。该发明针对应用级软件故障和代码级软件故障的不同特点,分别采用约束集和布尔函数学习机制进行分析诊断,实现了故障识别、故障模块定位、故障隔离的全流程,有效提高了抽水蓄能电站控制软件的在线故障诊断效果,提高了抽水蓄能电站agc/avc控制功能的运行安全。
4.控制流错误是软件故障的一个主要来源,由于控制流类很大一部分属于逻辑类和语义类错误,难以由成熟的自动化检测工具进行自动分析与检测。


技术实现要素:

5.本发明所要解决的技术问题是克服现有技术的缺陷,提供一种水电站控制软件故障在线监测方法及系统,本方法的目的在于细分运行数据异常、控制阶段状态异常、控制输出异常、机组响应异常等控制流全流程的异常,并精准实施软件故障隔离或故障恢复,使得软件中的缺陷不会在后续实际运行中产生失效,以快速恢复执行关键任务的能力。
6.为达到上述目的,本发明提供一种水电站控制软件故障在线监测方法,包括:基于当前时刻的运行数据和上一时刻的运行数据,根据约束集检测运行数据是否异常,计算当前控制阶段状态;检测控制阶段状态是否异常和控制输出与机组响应是否异常;若运行数据、控制阶段状态、控制输出或机组响应出现故障隔离类异常,预先生成的多个唯一的隔离代码判定产生故障,并转入相应的隔离处理;若运行数据、控制阶段状态、控制输出或机组响应出现故障恢复类异常,则预先生成的多个唯一的恢复代码判定产生故障,并转入相应的恢复处理。
7.优先地,运行数据包括系统频率、机组水头、机组出力值和控制目标;约束集包括频率约束、水头约束、出力约束、出力平衡约束、控制目标变化限值约束、有功出力与频率相关性约束、机组可运行区与机组实际出力相关约束和不可频繁穿越
振动区约束。
8.优先地,控制阶段状态包括机组开机起始阶段,机组开机执行阶段,机组停机起始阶段,机组停机执行阶段,机组负荷调整起始阶段,机组负荷调整执行阶段和平稳负荷阶段;检测控制阶段状态是否异常包括:判断当前时刻的控制阶段状态和上一时刻的控制阶段状态是否属于控制阶段状态关系对,如果属于则表示没有异常,如果不属于则表示存在异常;控制阶段状态关系对包括[机组开机起始阶段,机组开机执行阶段],[机组停机起始阶段,机组停机执行阶段],[机组负荷调整起始阶段,机组负荷调整执行阶段],[机组开机执行阶段,机组开机执行阶段],[机组停机执行阶段,机组停机执行阶段],[机组负荷调整执行阶段,机组负荷调整执行阶段],[机组开机执行阶段,平稳负荷阶段],[机组停机执行阶段,平稳负荷阶段],[机组负荷调整执行阶段,平稳负荷阶段],[平稳负荷阶段,平稳负荷阶段],[平稳负荷阶段,机组开机起始阶段],[平稳负荷阶段,机组停机起始阶段]和[平稳负荷阶段,机组负荷调整起始阶段]。
[0009]
优先地,控制输出包括机组出力分配值和机组开停机指令,机组响应包括机组开机操作、机组停机操作、机组出力调整操作和机组状态不变。
[0010]
优先地,检测控制输出和机组响应是否异常,包括:当前时刻的控制阶段状态处于起始阶段时,该阶段发生的异常包括控制输出无变化和控制输出逻辑有误;当前时刻的控制阶段状态处于机组开机起始阶段时,开机指令的控制输出无变化;处于机组停机起始阶段时,停机指令的控制输出无变化;处于负荷调整起始阶段时,负荷分配值的控制输出无变化,以上三种情况均视为异常;当前时刻的控制阶段状态处于执行阶段时,该阶段发生的异常包括控制输出有变化、机组无响应、机组响应特性不佳、机组响应出偏差和控制过程中断落入振动区;当前时刻的控制阶段状态处于平稳负荷阶段时,该阶段发生的异常包括控制输出有变化和机组出力出偏差。
[0011]
优先地,相应的隔离处理具体为:运行数据发生异常,终止执行控制软件同时报警提示;当前时刻的控制阶段状态异常,控制软件重新启动;控制软件执行阶段,控制输出有变化,终止执行控制软件同时报警提示;控制软件执行阶段,机组无响应或机组响应特性不佳,采用机组控制挂起或机组切至人工模式隔离;控制软件执行阶段,机组响应出偏差,终止机组控制过程同时报警提示;控制软件起始阶段,控制输出无变化和控制输出逻辑有误,控制软件重新启动;控制平稳负荷阶段,控制输出有变化,终止执行控制软件同时报警提示。
[0012]
优先地,相应的恢复处理,具体为:控制软件执行阶段,控制过程中断落入振动区,启动负荷重新分配进行恢复;控制软件平稳负荷阶段,机组出力出偏差,启动负荷重新分配进行恢复。
[0013]
优先地,负荷重新分配包括:
采用等微增率算法、容量等比例算法或动态规划算法计算各机组出力分配值。
[0014]
一种水电站控制软件故障在线监测系统,包括数据采集模块、预处理模块、核心算法模块和输出模块,还包括:运行数据收集子模块,用于将记录运行数据的指令插装到在核心算法模块的入口点和输出模块的入口点;用于实时获取输入核心算法模块的数据和输入输出模块的数据;用于基于当前时刻输入数据采集模块的运行数据和上一时刻输入数据采集模块的运行数据,计算当前控制阶段状态;故障在线监测子模块,用于依次检测运行数据是否异常、控制阶段状态是否异常和控制输出与机组响应是否异常;故障隔离子模块,用于自动产生多个唯一的隔离代码并插装到预处理模块和核心算法模块处;用于在运行数据、控制阶段状态或控制输出与机组响应出现故障隔离类异常,对应的隔离代码判定产生故障,并转入相应的隔离处理;故障恢复子模块,用于自动产生多个唯一的恢复代码并插装到预处理模块和核心算法模块处;用于在运行数据、控制阶段状态或控制输出与机组响应出现故障恢复类异常,对应的恢复代码判定产生故障,并转入相应的恢复处理。
[0015]
优先地,输入输出模块的运行数据还包括机组出力分配值和机组开停机指令。
[0016]
本发明所达到的有益效果:本发明公开了一种水电站控制软件故障在线监测方法及系统,基于当前的运行数据及其前一次运行数据,根据约束集判断运行数据是否异常;生成当前控制阶段状态,根据当前控制阶段状态和前一次控制阶段状态,判断当前控制阶段状态是否异常;根据当前控制阶段状态,判断该阶段控制输出和机组响应是否异常;一旦发生异常,转入相应的隔离处理或恢复处理。本发明细分运行数据异常、控制阶段状态异常、控制输出异常和机组响应异常等控制流全流程的异常,并精准实施软件故障隔离或故障恢复,使得软件中的缺陷不会在后续运行中产生实际失效,以快速恢复执行关键任务的能力。
附图说明
[0017]
图1是现有技术中的水电站控制软件的原理框图;图2是本发明中在线监测方法的实施步骤图;图3是本发明中在线监测系统的原理框图。
具体实施方式
[0018]
以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0019]
一种水电站控制软件故障在线监测方法,包括:基于当前时刻的运行数据和上一时刻的运行数据,根据约束集检测运行数据是否异常,计算当前控制阶段状态;
检测控制阶段状态是否异常和控制输出与机组响应是否异常;若运行数据、控制阶段状态、控制输出或机组响应出现故障隔离类异常,预先生成的多个唯一的隔离代码判定产生故障,并转入相应的隔离处理;若运行数据、控制阶段状态、控制输出或机组响应出现故障恢复类异常,则预先生成的多个唯一的恢复代码判定产生故障,并转入相应的恢复处理。
[0020]
进一步地,输入核心算法模块的运行数据包括所有全厂参数、机组参数中的成组/单机、机组工况、机组健康状态、机组水头、机组可运行区、机组出力设定值、机组出力值和一次调频;约束集包括频率约束、水头约束、出力约束、出力平衡约束、控制目标变化限值约束、有功出力与频率相关性约束、机组可运行区与机组实际出力相关约束和不可频繁穿越振动区约束。
[0021]
进一步地,控制阶段状态包括机组开机起始阶段,机组开机执行阶段,机组停机起始阶段,机组停机执行阶段,机组负荷调整起始阶段,机组负荷调整执行阶段和平稳负荷阶段;检测控制阶段状态是否异常包括:判断当前时刻的控制阶段状态和上一时刻的控制阶段状态是否属于控制阶段状态关系对,如果属于则表示没有异常,如果不属于则表示存在异常;控制阶段状态关系对包括[机组开机起始阶段,机组开机执行阶段],[机组停机起始阶段,机组停机执行阶段],[机组负荷调整起始阶段,机组负荷调整执行阶段],[机组开机执行阶段,机组开机执行阶段],[机组停机执行阶段,机组停机执行阶段],[机组负荷调整执行阶段,机组负荷调整执行阶段],[机组开机执行阶段,平稳负荷阶段],[机组停机执行阶段,平稳负荷阶段],[机组负荷调整执行阶段,平稳负荷阶段],[平稳负荷阶段,平稳负荷阶段],[平稳负荷阶段,机组开机起始阶段],[平稳负荷阶段,机组停机起始阶段]和[平稳负荷阶段,机组负荷调整起始阶段]。
[0022]
进一步地,控制输出包括机组出力分配值和机组开停机指令,机组响应包括机组开机操作、机组停机操作、机组出力调整操作和机组状态不变。
[0023]
进一步地,检测控制输出和机组响应是否异常,包括:当前时刻的控制阶段状态处于起始阶段时,该阶段发生的异常包括控制输出无变化和控制输出逻辑有误;当前时刻的控制阶段状态处于机组开机起始阶段时,开机指令的控制输出无变化;处于机组停机起始阶段时,停机指令的控制输出无变化;处于负荷调整起始阶段时,负荷分配值的控制输出无变化,以上三种情况均视为异常;当前时刻的控制阶段状态处于执行阶段时,该阶段发生的异常包括控制输出有变化、机组无响应、机组响应特性不佳、机组响应出偏差和控制过程中断落入振动区;当前时刻的控制阶段状态处于平稳负荷阶段时,该阶段发生的异常包括控制输出有变化和机组出力出偏差。
[0024]
进一步地,相应的隔离处理具体为:运行数据发生异常,终止执行控制软件同时报警提示;当前时刻的控制阶段状态异常,控制软件重新启动;
控制软件执行阶段,控制输出有变化,终止执行控制软件同时报警提示;控制软件执行阶段,机组无响应或机组响应特性不佳,采用机组控制挂起或机组切至人工模式隔离;控制软件执行阶段,机组响应出偏差,终止机组控制过程同时报警提示;控制软件起始阶段,控制输出无变化和控制输出逻辑有误,控制软件重新启动;控制平稳负荷阶段,控制输出有变化,终止执行控制软件同时报警提示。
[0025]
进一步地,相应的恢复处理,具体为:控制软件执行阶段,控制过程中断落入振动区,启动负荷重新分配进行恢复;控制软件平稳负荷阶段,机组出力出偏差,启动负荷重新分配进行恢复。
[0026]
进一步地,负荷重新分配包括:采用等微增率算法、容量等比例算法或动态规划算法计算各机组出力分配值。
[0027]
例如:控制软件主从切换后,水头采集模式未同步切换,造成当前时刻的机组水头与上一时刻的机组水头的差值的绝对值大于指定的水头阈值,此时判为梯度越限;机组工况转不定态,而机组出力值大于设定的出力阈值,此时判为数据不一致;主服务器或远动服务器重启,造成控制目标意外清零,此时判为控制目标变化限值梯度越限;系统频率不满足频率约束,判为测值无效。
[0028]
如3所示,一种水电站控制软件故障在线监测系统,包括数据收集子模块、故障在线监测子模块、故障隔离子模块和故障恢复子模块。
[0029]
运行数据收集子模块,用于监控、收集指定运行数据及其前一个时间断面的数据,计算当前控制阶段状态。接下来,故障在线监测子模块依次检测运行数据异常、控制阶段状态异常、控制输出异常、机组响应异常等控制流全流程的异常。最后,一旦故障隔离类异常出现,故障隔离子模块将生成隔离代码,在程序产生实际故障前及时进行隔离处理,避免软件失效的发生。一旦故障恢复类异常出现,故障恢复子模块将生成恢复代码,在程序产生实际故障前及时进行恢复处理,避免软件失效的发生。
[0030]
运行数据收集子模块,在程序部署之前将用于记录数据的指令插装到在核心算法模块和输出模块的入口点。程序开始运行后,指令在相应模块执行之前记录指定运行数据,提取前一个时间断面的数据,计算当前控制阶段状态。作为故障在线监测的数据源。
[0031]
故障在线监测子模块,用于依次检测运行数据异常、控制阶段状态异常、控制输出异常、机组响应异常等控制流全流程的异常。
[0032]
故障隔离子模块,用于在找到异常的运行数据、控制阶段状态、控制输出和控制响应之后,接下来的工作就是要隔离产生故障的因素。自动产生隔离代码并插装到故障监测点,一旦故障隔离类异常出现,隔离代码就认为程序将会产生故障,并转入相应的隔离处理。
[0033]
故障恢复子模块,用于在找到异常的控制输出和控制响应之后,接下来的工作就是要故障恢复。自动产生恢复代码并插装到故障监测点,一旦故障恢复类异常出现,恢复代码就认为程序将会产生故障,并转入相应的恢复处理。相应的恢复处理可以提供两种选择:启用备用算法模块;启动负荷重新分配。
[0034]
运行数据包括全厂参数和机组参数;其中,全厂参数包括控制方式,健康状态,控制目标和系统频率;
机组参数包括成组/单机,机组工况,健康状态,机组水头,机组可运行区,机组出力设定值,机组出力值,机组出力分配值,开停机指令和一次调频。
[0035]
其中,控制方式包括全厂agc投入或退出,控制权在电厂、调度或集控,控制指令为定值或曲线方式,控制目标为功率跟踪或频率跟踪,自动负荷分配使能或禁止,自动开停机使能或禁止等。
[0036]
健康状态包括硬件系统异常,电站事故和系统事故等。
[0037]
控制目标指全厂有功设定值。
[0038]
约束集包括频率约束、水头约束、出力约束、出力平衡约束、控制目标变化限值约束、有功出力与频率相关性约束、机组可运行区与机组实际出力相关约束和不可频繁穿越振动区约束。
[0039]
基于当前时刻输入数据采集模块的运行数据和上一时刻输入数据采集模块的运行数据,计算当前控制阶段状态,属于现有技术,本发明不再详细阐述,例如:机组开机起始阶段的定义为:控制目标满足开机条件,且当前控制目标和上一时刻的控制目标不同。机组开机执行阶段定义为:控制目标满足开机条件,且当前控制目标和上一时刻的控制目标相同。
[0040]
输入核心算法模块的数据包括所有全厂参数,机组参数中的成组/单机,机组工况,机组健康状态,机组水头,机组可运行区,机组出力设定值,机组出力值和一次调频等。
[0041]
输入输出模块的数据还包括机组出力分配值和机组开停机指令。
[0042]
控制输出包括机组出力分配值和机组开停机指令,机组响应包括机组开机操作、机组停机操作、机组出力调整操作和机组状态不变。
[0043]
故障隔离类异常及相应的隔离处理,包括:运行数据发生异常,终止执行程序/控制软件同时报警提示。当前控制阶段状态异常,程序/控制软件重新启动。控制阶段状态,控制输出有变化,终止执行程序/控制软件同时报警提示。控制执行阶段,机组无响应、机组响应特性不佳,采用机组控制挂起或机组切至人工模式隔离。控制执行阶段,机组响应出偏差,机组控制过程中止同时报警提示。控制起始阶段,控制输出无变化、控制输出逻辑有误,程序/控制软件重新启动。控制平稳负荷阶段,控制输出有变化,终止执行程序/控制软件同时报警提示。
[0044]
故障恢复类异常及相应的恢复处理,包括控制执行阶段,控制过程中断落入振动区,启动负荷重新分配进行恢复。控制平稳负荷阶段,机组出力出偏差,启动负荷重新分配进行恢复。
[0045]
如图1所示,现有技术中的水电站控制软件由数据采集模块、预处理模块、核心算法模块和输出模块组成。
[0046]
数据采集模块,用于实时输入运行数据,更新内存数据库;预处理模块,用于对输入的运行数据进行有效性判断,根据约束集判断输入的运行数据是否异常,对异常的运行数据进行安全闭锁处理,根据控制方式进行控制令的选择和计算,根据有效水头进行机组及全厂可运行区间的计算;其中,安全闭锁处理为根据全厂参数中的健康状态和机组参数中的健康状态,分别采取全厂成组退出和机组成组退出等措施,对控制过程的异常自动规避。
[0047]
控制方式包括全厂agc投入或退出,控制权在电厂、调度或集控,控制指令为定值
或曲线方式,控制目标为功率跟踪或频率跟踪,自动负荷分配使能或禁止,自动开停机使能或禁止等。控制目标需根据不同的控制方式来选择。
[0048]
根据有效水头进行机组及全厂可运行区间的计算包括,水电机组因为振动区的存在,机组出力是有着不可运行区的,不同有效水头下的可运行区间不同,需要根据机组综合特性曲线查表计算,这一计算过程属于现有技术,本发明方法不再详细阐述。
[0049]
控制策略包括等微增率、容量等比例和动态规划等各种算法。
[0050]
核心算法模块,用于根据全厂控制令、控制策略及相关约束集,确定机组的运行台数、机组的关闭台数和机组的运行组合,并对机组进行水位和频率控制,同时对参加agc控制的发电机组间进行负荷分配;其中,对机组进行水位和频率控制,是一种控制方式,计算结果也是机组出力分配值或机组开停机指令,这一计算过程属于现有技术,本发明方法不再详细阐述。对参加agc控制的发电机组间进行负荷分配,即计算得出相关机组出力分配值,这一计算过程属于现有技术,本发明方法不再详细阐述。
[0051]
输出模块,用于对输出控制令进行有效性判断,对异常信号进行安全闭锁处理,同时根据核心算法模块的计算结果进行开停机序列操作,以及防负荷波动操作。
[0052]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1