CN102122242A - 继电保护逻辑方程解析方法 - Google Patents
继电保护逻辑方程解析方法 Download PDFInfo
- Publication number
- CN102122242A CN102122242A CN2011100511643A CN201110051164A CN102122242A CN 102122242 A CN102122242 A CN 102122242A CN 2011100511643 A CN2011100511643 A CN 2011100511643A CN 201110051164 A CN201110051164 A CN 201110051164A CN 102122242 A CN102122242 A CN 102122242A
- Authority
- CN
- China
- Prior art keywords
- relay
- logical
- word
- logical equatiion
- equatiion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Emergency Protection Circuit Devices (AREA)
Abstract
本发明公开了一种继电保护逻辑方程解析方法,包括以下步骤:依据继电器字数据库编写逻辑方程;词法分析,将逻辑方程解析成节点结构;虚拟执行,检测逻辑方程中的语法错误;构建执行单元模块;生成逻辑方程参数;继电保护装置依据逻辑方程参数,执行逻辑方程;依据逻辑方程执行结果触发出口。该方法依据继电器字构建逻辑方程,通过解析模块和执行模块对逻辑方程进行解析、执行运算,并用逻辑方程执行结果触发继电保护装置出口,该逻辑方程解析方法执行速度快,满足继电保护系统的强实时性要求;基于该方法研制的可编程继电保护装置,不仅减少了继电保护装置的型号,而且简化了现场维护工作量。
Description
技术领域
本发明涉及一种继电保护实现方法,尤其是继电保护逻辑方程解析方法。
背景技术
随着电力系统继电保护的快速发展,对继电保护的可编程要求越来越迫切。传统继电保护一般按照功能设计不同的装置型号,例如:电容器保护,馈线保护,电动保护,备自投等;而且用户的需求千变万化,经常需要各种复杂的闭锁条件,备自投方案等。为了满足上述要求,各个继保厂家的继保型号种类繁多,而且各种型号的程序版本也很混乱。传统的设计理念不仅维护工作量很大,而且因版本混乱,现场隐患很多,严重影响了电力系统的正常运行。
为了解决该问题,目前流行的解决思路是实现继电保护可编程功能,将所有的开入、开出、保护功能等抽象为基本的布尔变量(称为继电器字),用户的各种特殊需求通过编写布尔表达式(称为逻辑方程)。这样不仅解决了装置类型和程序版本繁多的问题,而且便于现场调试,保证了电力系统的正常运行。
但逻辑方程文本信息,其执行需要经过词法分析、语法分析、编译执行等复杂的处理。而继电保护是强实时系统,几ms的延时即可导致大规模的停电事故,对时间要求非常的苛刻。因此,可编程继电保护迟迟没有推广起来。
发明内容
本发明要解决的技术问题是:提供一种可编程继电保护方法,可解析、执行逻辑方程,满足继电保护的强实时性要求。
为了解决上述技术问题,本发明所采用的技术方案是:
继电保护逻辑方程解析方法,包括以下步骤:
S1.依据继电器字数据库编写逻辑方程;
S2.词法分析,将逻辑方程解析成节点结构;
S3.虚拟执行,检测逻辑方程中的语法错误;
S4.构建执行单元模块;
S5.生成逻辑方程参数;
S6.继电保护装置依据逻辑方程参数,执行逻辑方程;
S7.依据逻辑方程执行结果触发出口。
进一步作为优选的实施方式,所述步骤S2包括以下步骤:
S21.清除逻辑方程中的空格、注释信息;
S22.依据赋值运算符“=”,将逻辑方程分解为两部分分别进行解析;
S23.将逻辑表达式解析为节点结构,所述节点结构包括继电器字、逻辑运算符。
进一步作为优选的实施方式,所述步骤S4包括以下步骤:
S41.清除逻辑方程括号运算符外的“!”运算符;
S42.构建执行单元描述结构。
进一步作为优选的实施方式,所述步骤S6包括以下步骤:
S61.保护电气量计算,设置继电器字状态;
S62.依据逻辑方程参数,构建执行结构;
S63.将继电器字状态带入执行结构,得到执行结果。
进一步作为优选的实施方式,所述继电器字包括常规继电器字和时间继电器字。
进一步作为优选的实施方式,所述时间继电器字采用状态机处理方式,可处理上升沿去抖和下降沿去抖。
进一步作为优选的实施方式,所述逻辑方程参数包括:
1)文件头,用于描述继电器字、执行单元信息的个数;
2)继电器字描述结构;
3)执行单元描述结构;
4)沿操作描述信息,列出所有参与沿操作的继电器字,用于清除沿状态;
5)文件crc校验,用于文件合法检测。
进一步作为优选的实施方式,所述继电器字描述结构包括:
1)继电器字名称;
2)继电器字类型。
进一步作为优选的实施方式,所述执行单元描述结构包括:
1)继电器字索引;
2)快速跳转偏移;
3)关联运算符;
4)提取方式。
本发明的有益效果是:本发明公开了一种快速、实时的逻辑方程解析方法,该方法依据继电器字构建逻辑方程,通过解析模块和执行模块对逻辑方程进行解析、执行运算,并用逻辑方程执行结果触发继电保护装置出口,该逻辑方程解析方法执行速度快,满足继电保护系统的强实时性要求;基于该方法研制的可编程继电保护装置,不仅减少了继电保护装置的型号,而且简化了现场维护工作量。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明的软件整体结构图;
图2是本发明方法的主流程图;
图3是本发明方法中词法分析步骤的子流程图;
图4是本发明方法中构建执行单元模块的子流程图;
图5是本发明方法中执行逻辑方程的子流程图;
图6是本发明逻辑方程执行的具体流程图。
具体实施方式
本发明为了实现可编程继电保护,在继电保护领域采用了构建逻辑方程的方法。逻辑方程本质上是一系列布尔表达式,基本元素是布尔变量和各种逻辑运算符。为了充分利用逻辑方程,以实现继电保护可编程化,需要将各种继保概念抽象为布尔变量。为了后续描述方便,将这些抽象后的布尔变量称为继电器字,而由继电器字组合成的布尔表达式被称为逻辑方程。
本发明整体软件体系结构见图1,主要包括继电器字数据库、解析模块和执行模块三部分。继电器字数据库用来管理所有抽象的继电器字,不仅用于用户编写逻辑方程,而且也用于统一解析模块和执行模块所对应的继电器字表。解析模块将用户编写的逻辑方程解析为逻辑方程参数,执行模块执行逻辑方程参数,整个过程类似于高级语言编译过程。
在现代微机继保中,继保软件模块一般由一个独立的定时中断或高优先级任务来调用,以此来保证继电保护动作的实时性和快速性。为了适应逻辑方程,本发明将继保软件模块分为三个阶段,首先进行保护电气量计算,并设置相应的继电器字状态;然后调用逻辑方程执行模块,执行用户编写的逻辑方程;最后依据相应的继电器字状态触发出口、做报告、点LED等操作。
参照图2,本发明的整体流程如下:
S1.依据继电器字数据库编写逻辑方程;
S2.词法分析,将逻辑方程解析成节点结构;
S3.虚拟执行,检测逻辑方程中的语法错误,因后续解析时难以同步处理语法错误,需先检测语法错误。策略为采用传统方法执行逻辑方程,可检测出所有的逻辑错误。传统方法可采用编译原理中常规的堆栈法、逆波兰法、二叉树法等;
S4.构建执行单元模块;
S5.生成逻辑方程参数;
S6.继电保护装置依据逻辑方程参数,执行逻辑方程;
S7.依据逻辑方程执行结果触发出口。
依据继保功能,可抽象出很多种类型的继电器字,如开入继电器字、开出继电器字、保护元件继电器字、动作报告继电器字、时间继电器字、自保持继电器字等。但为了快速而实时的执行逻辑方程,必须压缩继电器字类型。经高度抽象概括后,可抽象为为如下类型:
1)常规继电器字
2)时间继电器字
所有类型的继电器字都可以归纳为上述两种,或者可由上述两种继电器字组合而成。如自保持继电器字可通过逻辑方程表达式组合得到,如下:
A = A×(!B)+C;
其中继电器字A为自保持继电器字,继电器字C为自保持触发条件,继电器字B为自保持返回条件。如C为1,则A保持为1,直到继电器字B为1时才返回。
逻辑方程支持的运算符号包括:
×:与运算符;
+:或运算符;
():括号,可无限嵌套;
!: 非运算符;
/: 上升沿;
\: 下降沿;
#:结束。
如下为一些合法的逻辑方程举例:
A=B×(C+D);
A=B×!((C+D)×(/C+\D));
参照图3,进一步作为优选的实施方式,所述步骤S2包括以下步骤:
S21.清除逻辑方程中的空格、注释信息;
S22.依据赋值运算符“=”,将逻辑方程分解为两部分分别进行解析;
S23.将逻辑表达式解析为节点结构,所述节点结构包括继电器字、逻辑运算符。
参照图4,进一步作为优选的实施方式,所述步骤S4包括以下步骤:
S41.清除逻辑方程括号运算符外的“!”运算符,本步骤主要用于打破运算符和继电器字的关联关系,首先在所有的“*”运算符两侧增加“()”运算符,然后通过摩尔公式“!(A+B) = (!A * !B),!(A*B) = (!A + !B)”将括号外的“!”运算符清除。
S42.构建执行单元描述结构,本步骤主要用于构建快速跳转表,分“+”、“×”、“#”三种运算符分别处理。处理时需要注意括号嵌套处理。
参照图5,进一步作为优选的实施方式,所述步骤S6包括以下步骤:
S61.保护电气量计算,设置继电器字状态;
S62.依据逻辑方程参数,构建执行结构;
S63.将继电器字状态带入执行结构,得到执行结果。不管一个逻辑方程多复杂,从头到尾扫描各个继电器字,仅存在两种情况,或者直接确定结果并结束,或者跳转到某个继电器字继续处理。例如表达式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(E==1)结果=1,解析结束;
6).if(F==1)结果=1,解析结束;
7).结果=G。
进一步作为优选的实施方式,所述时间继电器字采用状态机处理方式,可处理上升沿去抖和下降沿去抖。
进一步作为优选的实施方式,所述逻辑方程参数包括:
1)文件头,用于描述继电器字、执行单元信息的个数;
2)继电器字描述结构;
3)执行单元描述结构;
4)沿操作描述信息,列出所有参与沿操作的继电器字,用于清除沿状态;
5)文件crc校验,用于文件合法检测;
进一步作为优选的实施方式,所述继电器字描述结构包括:
1)继电器字名称:包括中文名称和英文名称,中文名称便于浏览继电器字状态,英文名称主要用于编写逻辑方程;
2)继电器字类型:包括常规继电器字和时间继电器字;
进一步作为优选的实施方式,所述执行单元描述结构包括:
1)继电器字索引,用于快速读写继电器字状态;
2)快速跳转偏移,为-1时表示当前节点跳转到结尾;
3)关联运算符,包括“与”、“或”和“结束”三种运算符。关联运算符主要用于跳转判断,在“1+…”和“0×…”的时候跳转;
4)提取方式,包括“常规”、“取反”、“上升沿”、“下降沿”、“上升沿并取反”和“下降沿并取反”。通过提取方式将继电器字和运算符结合,减少了执行节点个数。
参照图6,本发明继电保护逻辑方程解析方法中逻辑方程执行的具体流程如下:
对当前执行结果result、当前继电器字索引CurR初始化,赋值为0;
循环执行所有执行单元,并依据不同的提取方式处理当前继电器字状态,所述提取方式包括“常规”、“取反”、“上升沿”、“下降沿”、“上升沿并取反”和“下降沿并取反”,依据当前继电器字状态、关联运算符和快速跳转偏移跳转;
循环结束时,输出逻辑方程执行结果result,清除当前逻辑方程中所有参与沿操作继电器字的沿状态信息。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (9)
1.继电保护逻辑方程解析方法,其特征在于:包括以下步骤:
S1.依据继电器字数据库编写逻辑方程;
S2.词法分析,将逻辑方程解析成节点结构;
S3.虚拟执行,检测逻辑方程中的语法错误;
S4.构建执行单元模块;
S5.生成逻辑方程参数;
S6.继电保护装置依据逻辑方程参数,执行逻辑方程;
S7.依据逻辑方程执行结果触发出口。
2.根据权利要求1所述的继电保护逻辑方程解析方法,其特征在于:
所述步骤S2包括以下步骤:
S21.清除逻辑方程中的空格、注释信息;
S22.依据赋值运算符“=”,将逻辑方程分解为两部分分别进行解析;
S23.将逻辑表达式解析为节点结构,所述节点结构包括继电器字、逻辑运算符。
3.根据权利要求1所述的继电保护逻辑方程解析方法,其特征在于:所述步骤S4包括以下步骤:
S41.清除逻辑方程括号运算符外的“!”运算符;
S42.构建执行单元描述结构。
4.根据权利要求1所述的继电保护逻辑方程解析方法,其特征在于:所述步骤S6包括以下步骤:
S61.保护电气量计算,设置继电器字状态;
S62.依据逻辑方程参数,构建执行结构;
S63.将继电器字状态带入执行结构,得到执行结果。
5.根据权利要求1所述的继电保护逻辑方程解析方法,其特征在于:所述继电器字包括常规继电器字和时间继电器字。
6.根据权利要求5所述的继电保护逻辑方程解析方法,其特征在于:所述时间继电器字采用状态机处理方式,可处理上升沿去抖和下降沿去抖。
7.根据权利要求1所述的继电保护逻辑方程解析方法,其特征在于:
所述逻辑方程参数包括:
1)文件头,用于描述继电器字、执行单元信息的个数;
2)继电器字描述结构;
3)执行单元描述结构;
4)沿操作描述信息,列出所有参与沿操作的继电器字,用于清除沿状态;
5)文件crc校验,用于文件合法检测。
8.根据权利要求7所述的继电保护逻辑方程解析方法,其特征在于:
所述继电器字描述结构包括:
1)继电器字名称;
2)继电器字类型。
9.根据权利要求7所述的继电保护逻辑方程解析方法,其特征在于:
所述执行单元描述结构包括:
1)继电器字索引;
2)快速跳转偏移;
3)关联运算符;
4)提取方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100511643A CN102122242A (zh) | 2011-03-03 | 2011-03-03 | 继电保护逻辑方程解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100511643A CN102122242A (zh) | 2011-03-03 | 2011-03-03 | 继电保护逻辑方程解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102122242A true CN102122242A (zh) | 2011-07-13 |
Family
ID=44250804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100511643A Pending CN102122242A (zh) | 2011-03-03 | 2011-03-03 | 继电保护逻辑方程解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102122242A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105404497A (zh) * | 2015-10-26 | 2016-03-16 | 北京锐安科技有限公司 | 一种逻辑表达式的解析方法及装置 |
CN105676768A (zh) * | 2015-12-31 | 2016-06-15 | 天津凯发电气股份有限公司 | 一种加快继电保护装置中可编程逻辑运行速度的方法 |
CN106227086A (zh) * | 2016-07-26 | 2016-12-14 | 西电通用电气自动化有限公司 | 一种可监测的智能化继电保护装置灵活逻辑实现方法 |
CN108303942A (zh) * | 2017-12-19 | 2018-07-20 | 北京德威特继保自动化科技股份有限公司 | 设备控制方法及装置 |
CN108845827A (zh) * | 2018-05-24 | 2018-11-20 | 国网辽宁省电力有限公司电力科学研究院 | 一种继电保护逻辑可视化演算图生成方法和系统 |
CN110568808A (zh) * | 2019-09-12 | 2019-12-13 | 烟台东方威思顿电气有限公司 | 电表继电器控制方法 |
CN111060739A (zh) * | 2020-02-14 | 2020-04-24 | 东方电子股份有限公司 | 一种基于差动电流与故障特征量的故障类型识别方法 |
-
2011
- 2011-03-03 CN CN2011100511643A patent/CN102122242A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105404497A (zh) * | 2015-10-26 | 2016-03-16 | 北京锐安科技有限公司 | 一种逻辑表达式的解析方法及装置 |
CN105404497B (zh) * | 2015-10-26 | 2018-05-25 | 北京锐安科技有限公司 | 一种逻辑表达式的解析方法及装置 |
CN105676768A (zh) * | 2015-12-31 | 2016-06-15 | 天津凯发电气股份有限公司 | 一种加快继电保护装置中可编程逻辑运行速度的方法 |
CN105676768B (zh) * | 2015-12-31 | 2018-06-01 | 天津凯发电气股份有限公司 | 一种加快继电保护装置中可编程逻辑运行速度的方法 |
CN106227086A (zh) * | 2016-07-26 | 2016-12-14 | 西电通用电气自动化有限公司 | 一种可监测的智能化继电保护装置灵活逻辑实现方法 |
CN108303942A (zh) * | 2017-12-19 | 2018-07-20 | 北京德威特继保自动化科技股份有限公司 | 设备控制方法及装置 |
CN108845827A (zh) * | 2018-05-24 | 2018-11-20 | 国网辽宁省电力有限公司电力科学研究院 | 一种继电保护逻辑可视化演算图生成方法和系统 |
CN110568808A (zh) * | 2019-09-12 | 2019-12-13 | 烟台东方威思顿电气有限公司 | 电表继电器控制方法 |
CN111060739A (zh) * | 2020-02-14 | 2020-04-24 | 东方电子股份有限公司 | 一种基于差动电流与故障特征量的故障类型识别方法 |
CN111060739B (zh) * | 2020-02-14 | 2021-10-12 | 东方电子股份有限公司 | 一种基于差动电流与故障特征量的故障类型识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102122242A (zh) | 继电保护逻辑方程解析方法 | |
CN109254776B (zh) | 多语言代码编译方法及编译器 | |
CN100465895C (zh) | 编译器、编译方法 | |
RU2010111118A (ru) | Конечный автомат унифицированного обмена сообщениями | |
CN102646035A (zh) | 基于api接口和脚本定义相结合的可视化代码生成方法 | |
CN103927338A (zh) | 日志信息入库处理方法和装置 | |
JP2010541387A5 (zh) | ||
CN102831054B (zh) | 程序断点处理方法及装置 | |
CN108304483B (zh) | 一种网页分类方法、装置及设备 | |
CN113805881B (zh) | 一种不同框架间前端组件的转换方法及装置 | |
JP2013516701A5 (zh) | ||
CN103544298B (zh) | 组件的日志分析方法和分析装置 | |
CN112835323B (zh) | 可编程逻辑控制语言编译方法及装置 | |
WO2007028226A1 (en) | Method and system for state machine translation | |
TWI746520B (zh) | 編譯計算機語言的方法和裝置 | |
CN116088861A (zh) | 面向可编程交换芯片的p4后端编译方法及系统 | |
CN102902526A (zh) | 一种通过延时实现bmc及ip信息的自动化设置方法 | |
WO2014044099A1 (zh) | 基于命令行的命令执行方法及命令行操作系统 | |
CN109857642B (zh) | 一种ui自动化脚本的阻塞式调试方法及调试工具 | |
CN106681852B (zh) | 一种浏览器兼容性的调整方法及装置 | |
CN111221744B (zh) | 数据采集方法、装置及电子设备 | |
CN110244954A (zh) | 一种应用程序的编译方法及设备 | |
CN111176891A (zh) | 一种基板管理控制器配置信息的恢复方法、装置及设备 | |
JP2009211622A (ja) | 契約定義関数検証装置、その方法及びそのプログラム | |
CN116302819A (zh) | 组态软件的策略处理方法、装置以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110713 |