继电保护逻辑方程解析方法

文档序号:6355372阅读:611来源:国知局
专利名称:继电保护逻辑方程解析方法
技术领域
本发明涉及一种继电保护实现方法,尤其是继电保护逻辑方程解析方法。
背景技术
随着电力系统继电保护的快速发展,对继电保护的可编程要求越来越迫切。传统 继电保护一般按照功能设计不同的装置型号,例如电容器保护,馈线保护,电动保护,备自 投等;而且用户的需求千变万化,经常需要各种复杂的闭锁条件,备自投方案等。为了满足 上述要求,各个继保厂家的继保型号种类繁多,而且各种型号的程序版本也很混乱。传统的 设计理念不仅维护工作量很大,而且因版本混乱,现场隐患很多,严重影响了电力系统的正 常运行。为了解决该问题,目前流行的解决思路是实现继电保护可编程功能,将所有的开 入、开出、保护功能等抽象为基本的布尔变量(称为继电器字),用户的各种特殊需求通过编 写布尔表达式(称为逻辑方程)。这样不仅解决了装置类型和程序版本繁多的问题,而且便 于现场调试,保证了电力系统的正常运行。但逻辑方程文本信息,其执行需要经过词法分析、语法分析、编译执行等复杂的处 理。而继电保护是强实时系统,几ms的延时即可导致大规模的停电事故,对时间要求非常 的苛刻。因此,可编程继电保护迟迟没有推广起来。

发明内容
本发明要解决的技术问题是提供一种可编程继电保护方法,可解析、执行逻辑方 程,满足继电保护的强实时性要求。为了解决上述技术问题,本发明所采用的技术方案是 继电保护逻辑方程解析方法,包括以下步骤
51.依据继电器字数据库编写逻辑方程;
52.词法分析,将逻辑方程解析成节点结构;
53.虚拟执行,检测逻辑方程中的语法错误;
54.构建执行单元模块;
55.生成逻辑方程参数;
56.继电保护装置依据逻辑方程参数,执行逻辑方程;
57.依据逻辑方程执行结果触发出口。进一步作为优选的实施方式,所述步骤S2包括以下步骤
521.清除逻辑方程中的空格、注释信息;
522.依据赋值运算符“=”,将逻辑方程分解为两部分分别进行解析;
523.将逻辑表达式解析为节点结构,所述节点结构包括继电器字、逻辑运算符。进一步作为优选的实施方式,所述步骤S4包括以下步骤 S41.清除逻辑方程括号运算符外的“! ”运算符;S42.构建执行单元描述结构。进一步作为优选的实施方式,所述步骤S6包括以下步骤
561.保护电气量计算,设置继电器字状态;
562.依据逻辑方程参数,构建执行结构;
563.将继电器字状态带入执行结构,得到执行结果。进一步作为优选的实施方式,所述继电器字包括常规继电器字和时间继电器字。进一步作为优选的实施方式,所述时间继电器字采用状态机处理方式,可处理上 升沿去抖和下降沿去抖。进一步作为优选的实施方式,所述逻辑方程参数包括
1)文件头,用于描述继电器字、执行单元信息的个数;
2)继电器字描述结构;
3)执行单元描述结构;
4)沿操作描述信息,列出所有参与沿操作的继电器字,用于清除沿状态;
5)文件crc校验,用于文件合法检测。进一步作为优选的实施方式,所述继电器字描述结构包括
1)继电器字名称;
2)继电器字类型。进一步作为优选的实施方式,所述执行单元描述结构包括
1)继电器字索引;
2)快速跳转偏移;
3)关联运算符;
4)提取方式。本发明的有益效果是本发明公开了一种快速、实时的逻辑方程解析方法,该方法 依据继电器字构建逻辑方程,通过解析模块和执行模块对逻辑方程进行解析、执行运算,并 用逻辑方程执行结果触发继电保护装置出口,该逻辑方程解析方法执行速度快,满足继电 保护系统的强实时性要求;基于该方法研制的可编程继电保护装置,不仅减少了继电保护 装置的型号,而且简化了现场维护工作量。


下面结合附图对本发明的具体实施方式
作进一步说明 图1是本发明的软件整体结构图2是本发明方法的主流程图; 图3是本发明方法中词法分析步骤的子流程图; 图4是本发明方法中构建执行单元模块的子流程图; 图5是本发明方法中执行逻辑方程的子流程图; 图6是本发明逻辑方程执行的具体流程图。
具体实施例方式本发明为了实现可编程继电保护,在继电保护领域采用了构建逻辑方程的方法。逻辑方程本质上是一系列布尔表达式,基本元素是布尔变量和各种逻辑运算符。为了充分 利用逻辑方程,以实现继电保护可编程化,需要将各种继保概念抽象为布尔变量。为了后续 描述方便,将这些抽象后的布尔变量称为继电器字,而由继电器字组合成的布尔表达式被 称为逻辑方程。本发明整体软件体系结构见图1,主要包括继电器字数据库、解析模块和执行模块 三部分。继电器字数据库用来管理所有抽象的继电器字,不仅用于用户编写逻辑方程,而且 也用于统一解析模块和执行模块所对应的继电器字表。解析模块将用户编写的逻辑方程解 析为逻辑方程参数,执行模块执行逻辑方程参数,整个过程类似于高级语言编译过程。在现代微机继保中,继保软件模块一般由一个独立的定时中断或高优先级任务来 调用,以此来保证继电保护动作的实时性和快速性。为了适应逻辑方程,本发明将继保软 件模块分为三个阶段,首先进行保护电气量计算,并设置相应的继电器字状态;然后调用逻 辑方程执行模块,执行用户编写的逻辑方程;最后依据相应的继电器字状态触发出口、做报 告、点LED等操作。参照图2,本发明的整体流程如下
51.依据继电器字数据库编写逻辑方程;
52.词法分析,将逻辑方程解析成节点结构;
53.虚拟执行,检测逻辑方程中的语法错误,因后续解析时难以同步处理语法错误,需 先检测语法错误。策略为采用传统方法执行逻辑方程,可检测出所有的逻辑错误。传统方 法可采用编译原理中常规的堆栈法、逆波兰法、二叉树法等;
54.构建执行单元模块;
55.生成逻辑方程参数;
56.继电保护装置依据逻辑方程参数,执行逻辑方程;
57.依据逻辑方程执行结果触发出口。依据继保功能,可抽象出很多种类型的继电器字,如开入继电器字、开出继电器 字、保护元件继电器字、动作报告继电器字、时间继电器字、自保持继电器字等。但为了快 速而实时的执行逻辑方程,必须压缩继电器字类型。经高度抽象概括后,可抽象为为如下类 型
1)常规继电器字
2)时间继电器字
所有类型的继电器字都可以归纳为上述两种,或者可由上述两种继电器字组合而成。 如自保持继电器字可通过逻辑方程表达式组合得到,如下 A = AX ( ! B) +C ;
其中继电器字A为自保持继电器字,继电器字C为自保持触发条件,继电器字B为自保 持返回条件。如C为1,则A保持为1,直到继电器字B为1时才返回。逻辑方程支持的运算符号包括 X 与运算符;
+ 或运算符; 0 括号,可无限嵌套; !非运算符;/上升沿; \下降沿; # 结束。如下为一些合法的逻辑方程举例 A=BX (C+D);
A=BX ! ((C+D) X (/C+\D));
参照图3,进一步作为优选的实施方式,所述步骤S2包括以下步骤
521.清除逻辑方程中的空格、注释信息;
522.依据赋值运算符“=”,将逻辑方程分解为两部分分别进行解析;
523.将逻辑表达式解析为节点结构,所述节点结构包括继电器字、逻辑运算符。参照图4,进一步作为优选的实施方式,所述步骤S4包括以下步骤
S41.清除逻辑方程括号运算符外的“! ”运算符,本步骤主要用于打破运算符和继电器 字的关联关系,首先在所有的“*”运算符两侧增加“()”运算符,然后通过摩尔公式“!(A+B) =(!A * !B), !_) = (!A + !B)”将括号外的“! ”运算符清除。S42.构建执行单元描述结构,本步骤主要用于构建快速跳转表,分“ + ”、“\”、“#” 三种运算符分别处理。处理时需要注意括号嵌套处理。参照图5,进一步作为优选的实施方式,所述步骤S6包括以下步骤
561.保护电气量计算,设置继电器字状态;
562.依据逻辑方程参数,构建执行结构;
563.将继电器字状态带入执行结构,得到执行结果。不管一个逻辑方程多复杂,从头到 尾扫描各个继电器字,仅存在两种情况,或者直接确定结果并结束,或者跳转到某个继电器 字继续处理。例如表达式A+B* (C+D) * (E+F) +G#,执行过程如下
1).if (A== 1)结果=1,解析结束;
2).if (B == 0)CDEF 被忽略,跳 7 ;
3).if (C == 1) D 被忽略,跳 5 ;
4).if (D == 0)EF 被忽略,跳 7 ;
5).if (Ε== 1)结果=1,解析结束;
6).if (F== 1)结果=1,解析结束;
7).结果=G0进一步作为优选的实施方式,所述时间继电器字采用状态机处理方式,可处理上 升沿去抖和下降沿去抖。进一步作为优选的实施方式,所述逻辑方程参数包括
1)文件头,用于描述继电器字、执行单元信息的个数;
2)继电器字描述结构;
3)执行单元描述结构;
4)沿操作描述信息,列出所有参与沿操作的继电器字,用于清除沿状态;
5)文件crc校验,用于文件合法检测;
进一步作为优选的实施方式,所述继电器字描述结构包括
1)继电器字名称包括中文名称和英文名称,中文名称便于浏览继电器字状态,英文名称主要用于编写逻辑方程;
2)继电器字类型包括常规继电器字和时间继电器字; 进一步作为优选的实施方式,所述执行单元描述结构包括
1)继电器字索引,用于快速读写继电器字状态;
2)快速跳转偏移,为-1时表示当前节点跳转到结尾;
3)关联运算符,包括“与”、“或”和“结束”三种运算符。关联运算符主要用于跳转判 断,在“1+···”和“0X···”的时候跳转;
4)提取方式,包括“常规”、“取反”、“上升沿”、“下降沿”、“上升沿并取反”和“下降沿并 取反”。通过提取方式将继电器字和运算符结合,减少了执行节点个数。参照图6,本发明继电保护逻辑方程解析方法中逻辑方程执行的具体流程如下 对当前执行结果result、当前继电器字索引CurR初始化,赋值为0 ;
循环执行所有执行单元,并依据不同的提取方式处理当前继电器字状态,所述提取方 式包括“常规”、“取反”、“上升沿”、“下降沿”、“上升沿并取反”和“下降沿并取反”,依据当前 继电器字状态、关联运算符和快速跳转偏移跳转;
循环结束时,输出逻辑方程执行结果result,清除当前逻辑方程中所有参与沿操作继 电器字的沿状态信息。以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施 例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替 换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
权利要求
1.继电保护逻辑方程解析方法,其特征在于包括以下步骤51.依据继电器字数据库编写逻辑方程;52.词法分析,将逻辑方程解析成节点结构;53.虚拟执行,检测逻辑方程中的语法错误;54.构建执行单元模块;55.生成逻辑方程参数;56.继电保护装置依据逻辑方程参数,执行逻辑方程;57.依据逻辑方程执行结果触发出口。
2.根据权利要求1所述的继电保护逻辑方程解析方法,其特征在于 所述步骤S2包括以下步骤521.清除逻辑方程中的空格、注释信息;522.依据赋值运算符“=”,将逻辑方程分解为两部分分别进行解析;523.将逻辑表达式解析为节点结构,所述节点结构包括继电器字、逻辑运算符。
3.根据权利要求1所述的继电保护逻辑方程解析方法,其特征在于所述步骤S4包括 以下步骤541.清除逻辑方程括号运算符外的“!”运算符;542.构建执行单元描述结构。
4.根据权利要求1所述的继电保护逻辑方程解析方法,其特征在于所述步骤S6包括 以下步骤561.保护电气量计算,设置继电器字状态;562.依据逻辑方程参数,构建执行结构;563.将继电器字状态带入执行结构,得到执行结果。
5.根据权利要求1所述的继电保护逻辑方程解析方法,其特征在于所述继电器字包 括常规继电器字和时间继电器字。
6.根据权利要求5所述的继电保护逻辑方程解析方法,其特征在于所述时间继电器 字采用状态机处理方式,可处理上升沿去抖和下降沿去抖。
7.根据权利要求1所述的继电保护逻辑方程解析方法,其特征在于 所述逻辑方程参数包括1)文件头,用于描述继电器字、执行单元信息的个数;2)继电器字描述结构;3)执行单元描述结构;4)沿操作描述信息,列出所有参与沿操作的继电器字,用于清除沿状态;5)文件crc校验,用于文件合法检测。
8.根据权利要求7所述的继电保护逻辑方程解析方法,其特征在于 所述继电器字描述结构包括1)继电器字名称;2)继电器字类型。
9.根据权利要求7所述的继电保护逻辑方程解析方法,其特征在于 所述执行单元描述结构包括1)继电器字索引;2)快速跳转偏移;3)关联运算符;4)提取方式。
全文摘要
本发明公开了一种继电保护逻辑方程解析方法,包括以下步骤依据继电器字数据库编写逻辑方程;词法分析,将逻辑方程解析成节点结构;虚拟执行,检测逻辑方程中的语法错误;构建执行单元模块;生成逻辑方程参数;继电保护装置依据逻辑方程参数,执行逻辑方程;依据逻辑方程执行结果触发出口。该方法依据继电器字构建逻辑方程,通过解析模块和执行模块对逻辑方程进行解析、执行运算,并用逻辑方程执行结果触发继电保护装置出口,该逻辑方程解析方法执行速度快,满足继电保护系统的强实时性要求;基于该方法研制的可编程继电保护装置,不仅减少了继电保护装置的型号,而且简化了现场维护工作量。
文档编号G06F9/305GK102122242SQ20111005116
公开日2011年7月13日 申请日期2011年3月3日 优先权日2011年3月3日
发明者常伦凯, 常宝波, 张马龙 申请人:广州东芝白云电器设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1