电力系统安全稳定多算法封装流程自定义组态方法

文档序号:6326936阅读:240来源:国知局
专利名称:电力系统安全稳定多算法封装流程自定义组态方法
技术领域
本发明属于电力系统及其自动化技术领域,更准确地说是涉及电力系统安全稳定 多算法封装流程自定义组态方法。
背景技术
电力系统的稳定性包括静态、暂态、动态和中长期的稳定性,每一种稳定性的分析 都对应着一种或若干种计算算法。对于同一种稳定性,即使采用的算法相同,也因为软件厂 商的不同,提供的分析计算软件也不相同。各种算法既相对独立,又彼此依存。有的算法软 件分析结果需要作为其他算法软件的输入,有的算法软件分析结果需要作为其他算法软件 的触发条件,有些场合需要协调使用几种算法才能得到最终的结果。因此,无论是离线还是 在线,电力系统安全稳定分析都需要各种分析计算软件通过有序的组织来实现。但是,目前 多算法封装尚缺乏有效的方法,算法的组织和配置需要预先定制,扩展性差,从而导致稳定 分析计算维护工作量大,开发周期长。文献一《一种利用流程框图实现顺序控制的方法》(申请号200910025038)提出了 一种利用流程框图实现计算机监控顺序控制的方法。该方法先绘制流程图,再将流程图转 换成顺序控制语言,对生成的语言进行词法分析和语法分析,最后生成自定义的汇编代码, 将汇编代码下载到指定计算机上,完成流程顺序控制。文献二《一种组态方法及控制系统》(申请号200710170306)提出了一种控制系 统组态方法。该方法预先将控制工程分解为若干模块,各个模块所需文件预先独立配置,并 分别保存在不同的组态文件或组态文件夹中。系统根据控制流程的组态定义,取用适当的 组态文件,实现系统的流程控制。上述发明专利不能直接应用于电力系统安全稳定多算法的封装,其原因一是电 力系统安全稳定分析的各算法之间不是单一的串行流程,算法之间既存在串行关系,又存 在并行的可能,因此文献一的顺序流程控制方法不能完全适用;二是电力系统安全稳定分 析需要多算法的交互迭代,某些算法的结果可能作为其他算法启动的触发条件,下一步采 用何种计算算法,需要根据上一步的分析结果决定,且计算环境参数是动态变化的,不能通 过事先的组态文件预先定义好,因此文献二通过预先独立配置模块文件并保存成文件集的 方式不能适用。本发明针对电力系统安全稳定计算的特点,提出了一种电力系统安全稳定多算法 封装流程自定义组态方法。根据安全稳定计算目的,充分考虑计算流程的串/并行顺序,同 步/异步机制,通过组态的方式进行多算法的流程封装。其中,算法程序需要的计算环境参 数可以动态生成。本发明克服了现有安全稳定计算多算法封装的不足,将算法组织形式从 预先定制提升为灵活组态,从而提高了电力系统安全稳定分析计算的可扩展性,减少计算 维护工作量,缩短了开发周期。

发明内容
本发明所要解决的技术问题是,克服现有安全稳定计算多算法封装的不足,提供 一种电力系统安全稳定多算法封装流程自定义组态方法,提高电力系统安全稳定分析计算 的可扩展性,减少计算维护工作量,缩短开发周期。本发明的基本思路是规范电力系统安全稳定分析算法程序的外部接口,对多算 法程序进行功能封装;依照面向任务的组态语言,进行安全稳定分析计算的流程组态定义; 设计计算流程组织模块,通过解析流程组态定义文件,动态调配各算法程序的运行,实现计 算流程的运行管理和协调。本发明提出了面向任务的组态语言,由计算功能段、计算任务(或计算任务组)、计 算条件等关键字,以及各种操作数、操作符构成。其中
1)计算任务每个计算任务对应一个算法程序,具有明确的计算目的,可以独立完成某 项计算功能。计算任务由一个算法程序进程执行,需要一套完整的计算数据,独立完成某个 计算目的,并输出相应结果;
2)计算任务组具有相同计算条件的计算任务集合;
3)计算功能段计算功能相关的计算任务(或计算任务组)的集合,计算任务(或计算任 务组)的执行可以串行,也可以并行。4)计算条件指启动计算任务的条件。只有在满足该条件的情况下,才进行该任 务的计算。电力系统安全稳定多算法封装流程自定义组态方法包括以下步骤
1)将电力系统安全稳定计算流程划分为若干计算功能段,每个计算功能段完成一组相 关的安全稳定计算任务;
2)将一个计算功能段划分为若干计算任务,按照统一的接口封装算法程序,每个计算 任务对应一个算法程序,完成独立的计算功能,且可以设置计算条件,具有相同计算条件的 计算任务组成计算任务组;
3)采用面向任务的组态语言,将计算功能段、计算任务(或计算任务组)、计算条件组织 成计算流程组态定义文件;
4)计算流程组织程序按照计算流程组态定义文件,检测当前计算任务的计算条件是否 满足。若条件满足,就启动该任务的计算。否则,该计算任务一直等待,直到计算条件满足;
5)若计算功能段内其他计算任务都完成后,处于等待状态的计算任务的计算条件还不 满足,则该等待计算任务自动退出,并通知计算组织流程程序;
6)—个计算功能段结束后,进入计算流程定义文件中的下一个计算功能段,返回步骤 4),直到计算流程定义文件中所有的计算功能段执行完。针对上述步骤1),计算功能段由完成一组功能相关的安全稳定计算任务组成。其 中,计算任务的执行可以并行,也可以串行。针对上述步骤2),将各算法程序按照统一的接口封装,主要涉及数据接口、标志交 互接口和异常处理接口。数据交互接口指算法程序与计算流程组织模块之间数据交互机 制;标志交互接口指算法程序与计算流程组织模块之间信号交互机制;异常处理接口指算 法程序计算异常时的处理机制。各算法程序之间、算法程序与计算流程组织模块之间通过 标志文件进行交互,交互的内容通过文件格式进行约定,交互的数据通过指定目录存放。接口封装提供了统一的调用方式,定义了交互的标志文件,屏蔽接口差异,有利于系统的集成 与扩展,有利于提高系统的模块化,增强系统的可维护性。针对上述步骤3),面向任务的组态语言,由计算功能段、计算任务(或计算任务 组)、计算条件等关键字,以及各种操作数、操作符构成。针对上述步骤4),本发明通过对计算任务、算法程序进程赋予唯一的识别码进行 计算任务与进程的匹配,通过计算条件的逻辑运算进行流程控制。其步骤如下i)每个计算 任务对应一个算法程序,包括该算法程序对应的启动参数、配置文件、运行环境等;ii)对各 计算任务赋予识别码ID (计算任务的唯一标志),对各算法程序赋予进程识别码ID (算法程 序的唯一标志),对算法程序定义相关的计算属性,如启动参数、运行环境等;iii)将计算任 务ID与计算进程ID建立映射关系,实现计算任务与算法程序的绑定;iv)计算任务(或计 算任务组)、计算功能段通过关键字进行标识,计算条件通过关键字、操作数和操作符进行 标识;ν)计算组织流程程序解析计算条件,将计算条件转换成逻辑表达式,进行逻辑运算, 根据逻辑运算结果,确定计算任务的计算条件是否成立,如条件满足,则启动计算任务。针对上述步骤5),若计算功能段内其他计算任务都完成后,但是处于等待状态的 计算任务的计算条件还不满足,则该等待计算任务自动退出,并通知计算组织流程程序。如 果,该计算任务对于下一个计算功能是必需的,则整个计算退出。针对上述步骤6),上一个计算功能段结束后,进入计算流程定义文件中的下一个 计算功能段。如果下一个计算功能段需要上一个计算功能段的结果,则该结果传送到下一 个计算功能段指定的目录中。本发明的有益效果如下克服现有安全稳定计算多算法封装的不足,能灵活、高效 地定义安全稳定计算流程,大大提高了计算的可扩展性和可维护性;减轻了开发和工程人 员的工作量,提高了开发和设计效率;采用结构化的面向任务的流程定义语言,减少了格式 定义出错率,系统可靠性得到了提高。


图1为计算流程定义示意图。图2为安全稳定多算法封装各模块关系图。
具体实施例方式下面参照附图并结合实施例对本发明作进一步详细描述。但是本发明不限于所给 出的例子。1)本实施例首先将电力系统安全稳定计算流程划分为两个计算功能段。第一个计 算功能段完成计算目的为MAGRIN的电网暂态安全稳定裕度评估和计算目的为STAMAGRIN 的电网静态安全稳定裕度评估。第二个计算功能段完成计算目的为LIMIT的电网断面极 限计算、计算目的为KCUTSCH的关键断面识别计算和计算目的为PRCTRL的预防控制计算。 MARGIN的计算任务ID为1,STAMAGRIN的计算任务ID为2,LIMIT的计算任务ID为3,PRCTRL 的计算任务ID为4,K⑶TSCH的计算任务ID为5。2)第一个计算功能段包含两个计算任务,分别对应各自的算法程序。i)计算任务MAGRIN对应算法程序margin,无计算条件。margin与计算流程组织模块交互接口如下数据存放目录(ems),结果存放目录(result),标志文件存放目录(run), 算法启动标志文件(calc. sta),算法结束标志文件(calc. fin),正常结束标志项为FIN,异 常结束标志项为ERR,标志项写在算法结束标志文件中,任务超时时间为120秒,不需要其 他计算任务结果。margin的计算进程ID为1,运行主目录为/users/ems/eaccs/margin, 启动 为 /users/ems/eaccs/bin/margin margin /users/ems/eaccs/margin/ems/ appinfo. txt。ii)计算任务STAMAGRIN对应算法程序stamargin,无计算条件。stamargin与计 算流程组织模块交互接口如下数据存放目录(ems),结果存放目录(result),标志文件存 放目录(run),算法启动标志文件(calc. sta),算法结束标志文件(calc. fin),正常结束标 志项为FIN,异常结束标志项为ERR,标志项写在算法结束标志文件中,任务超时时间为120 秒,不需要其他计算任务结果。stamargin的计算进程ID为2,运行主目录为/users/ems/ eaccs/stamargin,启动命令为 /users/ems/eaccs/bin/stamargin stamargin /users/ ems/eaccs/stamargin/ems/appinfo. txt0第二个计算功能段包含两个计算任务,分别各自对应算法程序。i)计算任务LIMIT对应算法程序limit,计算条件为暂态安全裕度(暂态安全稳 定裕度评估的结果)大于系统阈值且静态安全裕度(静态安全稳定裕度评估的结果)大于 系统阈值。limit与计算流程组织模块交互接口如下数据存放目录(ems),结果存放目 录(result),标志文件存放目录(run),算法启动标志文件(calc. sta),算法结束标志文 件(calc. fin),正常结束标志项为FIN,异常结束标志项为ERR,标志项写在算法结束标志 文件中,任务超时时间为180秒,需要计算任务(MARGIN)和计算任务(STAMARGIN)的计算 结果。limit的计算进程ID为3,运行主目录为/users/ems/eaccs/limit,启动命令为/ users/ems/eaccs/bin/limit limit /users/ems/eaccs/limit/ems/appinfo. txt。计算 任务KCUTSCH对应算法程序kcutsch,计算条件同LIMIT。kcutsch与计算流程组织模块交 互接口如下数据存放目录(ems),结果存放目录(result),标志文件存放目录(run),算法 启动标志文件(calc. sta),算法结束标志文件(calc. fin),正常结束标志项为FIN,异常结 束标志项为ERR,标志项写在算法结束标志文件中,任务超时时间为180秒。kcutsch的计 算进禾呈ID为5,运行主目录为/users/ems/eaccs/kcutsch,启动命令为/users/ems/eaccs/ bin/kcutsch kcutsch /users/ems/eaccs/kcutsch/ems/appinfo. txt。LIMIT 禾口 KCUTSCH 并行执行,无次序关系,可以组织一个任务组,通过关键字taskgroup定义任务组。
)计算任务PRCTRL对应算法程序prctrl,计算条件为暂态安全裕度(暂态安全稳 定裕度评估的结果)小于系统阈值或静态安全裕度(静态安全稳定裕度评估的结果)小于 系统阈值。prctrl与计算流程组织模块交互接口如下数据存放目录(ems),结果存放目 录(result),标志文件存放目录(run),算法启动标志文件(calc. sta),算法结束标志文件 (calc. fin),正常结束标志项为FIN,异常结束标志项为ERR,标志项写在算法结束标志文 件中,任务超时时间为180秒,需要计算任务(MARGIN)和计算任务(STAMARGIN)的计算结 果。prctrl的计算进程ID为4,运行主目录为/users/ems/eaccs/prctrl,启动命令为/ users/ems/eaccs/bin/prctrl prctrl /users/ems/eaccs/prctrl/ems/
appinfo. txt。
3)根据计算功能段的划分以及计算任务、计算条件的定义,计算流程组态定义文 件按如下方式组织 task = STAMARGIN task = MARGIN [计算阶段结束] [计算阶段开始]
if (var[静态安全裕度]>=var [系统阈值])&(var [暂态安全裕度]>=var[系统 阈值]) then
taskgroup = LIMIT, KCUTSCH else
task = PRCTRL endif 其中,
关键字为:if> then、else、endif> task、taskgroup 操作符为var、[、]、(、)、>=、& 操作数为静态安全裕度、系统阈值、暂态安全裕度
4)计算流程组织程序按照计算流程组态定义文件,检测第一个计算功能段计算任务 MARGIN和STAMARGIN的计算条件是否满足。由于MARGIN和STAMARGIN计算条件始终满足, 就启动这两个任务的计算。5)等待计算任务MARGIN和STAMARGIN计算完成,如果某个计算任务计算完成,则 读取计算结果,并将计算结果文件缓存。如果两个计算任务都已完成,则判定本计算功能段 所有任务都已计算完成,本计算功能段计算结束,进入第二个计算功能段。6)计算流程组织程序按照计算流程组态定义文件,检测第二个计算功能段计算任 务LIMIT、K⑶TSCH和PRCTRL的计算条件是否满足。如果计算条件静态安全裕度 >=系统阈 值和暂态安全裕度 >=系统阈值成立,就启动计算任务LIMIT和KCUTSCH,并将所需的其他计 算任务的结果输入。如果计算条件静态安全裕度 < 系统阈值或暂态安全裕度 < 系统阈值成 立,就启动计算任务PRCTRL,并将所需的其他计算任务的结果输入。7)等待计算任务LIMIT、KCUTSCH或PRCTRL计算完成,如果该计算任务计算完成, 则读取计算结果,并将计算结果文件缓存。如果计算任务LIMIT和KCUTSCH完成后,处于等 待状态的计算任务PRCTRL的计算条件还不满足,则该等待计算任务自动退出,并判定本计 算功能段所有任务都已计算完成,本计算功能段计算结束。如果计算任务PRCTRL完成后, 处于等待状态的计算任务LIMIT和KCUTSCH的计算条件还不满足,亦然。8)判定没有其他计算功能段,则所有计算结束。
权利要求
1.电力系统安全稳定多算法封装流程自定义组态方法,其特征是,包括以下步骤1)将电力系统安全稳定计算流程划分为若干计算功能段,每个计算功能段完成一组相 关的安全稳定计算任务;2)将一个计算功能段划分为若干计算任务,按照统一的接口封装 算法程序,每个计算任务对应一个算法程序,完成独立的计算功能,且可以设置计算条件, 具有相同计算条件的计算任务组成计算任务组;3)采用面向任务的组态语言,将计算功能 段、计算任务或计算任务组、计算条件组织成计算流程组态定义文件;4)计算流程组织程序 按照计算流程组态定义文件,检测当前计算任务的计算条件是否满足,若条件满足,就启动 该任务的计算;否则,该计算任务一直等待,直到计算条件满足;5)若计算功能段内其他计 算任务都完成后,处于等待状态的计算任务的计算条件还不满足,则该等待计算任务自动 退出,并通知计算组织流程程序;6)—个计算功能段结束后,进入计算流程定义文件中的下 一个计算功能段,返回步骤4),直到计算流程定义文件中所有的计算功能段执行完。
2.根据权利要求1所述的电力系统安全稳定多算法封装流程自定义组态方法,其特征 是步骤1)中,计算功能段由完成一组功能相关的安全稳定计算任务组成;其中,计算任务 的执行可以并行,也可以串行。
3.根据权利要求1所述的电力系统安全稳定多算法封装流程自定义组态方法,其特征 是步骤2 )中,将各算法程序按照统一的接口封装,主要涉及数据接口、标志交互接口和异常 处理接口 ;数据交互接口指算法程序与计算流程组织程序之间数据交互机制;标志交互接 口指算法程序与计算流程组织程序之间信号交互机制;异常处理接口指算法程序计算异常 时的处理机制;各算法程序之间、算法程序与计算流程组织程序之间通过标志文件进行交 互,交互的内容通过文件格式进行约定,交互的数据通过指定目录存放。
4.根据权利要求1所述的电力系统安全稳定多算法封装流程自定义组态方法,其特征 是步骤3)中,面向任务的组态语言,由计算功能段、计算任务或计算任务组、计算条件等关 键字,以及各种操作数、操作符构成。
5.根据权利要求1所述的电力系统安全稳定多算法封装流程自定义组态方法,其特征 是步骤4)中,通过对计算任务、算法程序进程赋予唯一的识别码进行计算任务与进程的匹 配,通过计算条件的逻辑运算进行流程控制;其步骤如下i)每个计算任务对应一个算法 程序,包括该算法程序对应的启动参数、配置文件、运行环境等;ii)对各计算任务赋予识别 码ID,即计算任务的唯一标志,对各算法程序赋予进程识别码ID,即算法程序的唯一标志, 对算法程序定义相关的计算属性,如启动参数、运行环境等;iii)将计算任务ID与计算进 程ID建立映射关系,实现计算任务与算法程序的绑定;iv)计算任务或计算任务组、计算功 能段通过关键字进行标识,计算条件通过关键字、操作数和操作符进行标识;ν)计算组织流 程程序解析计算条件,将计算条件转换成逻辑表达式,进行逻辑运算,根据逻辑运算结果, 确定计算任务的计算条件是否成立,如条件满足,则启动计算任务。
6.根据权利要求1所述的电力系统安全稳定多算法封装流程自定义组态方法,其特征 是步骤5)中,若计算功能段内其他计算任务都完成后,但是处于等待状态的计算任务的计 算条件还不满足,则该等待计算任务自动退出,并通知计算组织流程程序;如果该计算任务 对于下一个计算功能是必需的,则整个计算退出。
7.根据权利要求1所述的电力系统安全稳定多算法封装流程自定义组态方法,其特征 是步骤6)中,上一个计算功能段结束后,进入计算流程定义文件中的下一个计算功能段;如果下一个计算功能段需要上一个计算功能段的结果,则该结果传送到下一个计算功能段 指定的目录中。
全文摘要
本发明属于电力系统及其自动化技术领域,针对电力系统安全稳定计算的特点,提出了一种适用于电力系统安全稳定多算法封装的流程自定义组态方法。本发明通过规范电力系统安全稳定分析算法程序的外部接口,对多算法程序进行功能封装;依照面向任务的组态语言,进行安全稳定分析计算的流程组态定义;设计计算流程组织模块,通过解析流程组态定义文件,动态调配各算法程序的运行,实现计算流程的运行管理和协调。
文档编号G05B17/02GK102147593SQ20111000577
公开日2011年8月10日 申请日期2011年1月12日 优先权日2011年1月12日
发明者万芳茹, 孙才峰, 张劲中, 徐健, 徐泰山, 王胜明, 许剑冰, 邵伟, 郭剑 申请人:南京南瑞集团公司, 国网电力科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1