CN112328233A - 一种可视化逻辑图形化代码解释执行方法及装置 - Google Patents
一种可视化逻辑图形化代码解释执行方法及装置 Download PDFInfo
- Publication number
- CN112328233A CN112328233A CN202011181410.2A CN202011181410A CN112328233A CN 112328233 A CN112328233 A CN 112328233A CN 202011181410 A CN202011181410 A CN 202011181410A CN 112328233 A CN112328233 A CN 112328233A
- Authority
- CN
- China
- Prior art keywords
- logic
- data stream
- module
- nodes
- binary data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000000007 visual effect Effects 0.000 title claims abstract description 8
- 238000004458 analytical method Methods 0.000 claims description 8
- 239000000126 substance Substances 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 5
- 238000012163 sequencing technique Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 239000002243 precursor Substances 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种可视化逻辑图形化代码解释执行方法及装置,针对一种类型的继电保护装置,通过对保护逻辑按照特定规则生成组态逻辑页面编码,并将该组态逻辑页面编码进行汇总,生成逻辑二进制数据流文件,下载到装置,通过引擎解释模式运行,以提高编译型开发工具的运行效率。
Description
技术领域
本发明涉及电力系统继电保护相关领域,尤其涉及一种可视化逻辑图形化代码解释执行方法及装置。
背景技术
目前继电保护装置需要对保护程序全编译模式,一般在厂家对保护程序编译好后下载到装置,在用户看来保护功能是固定的、不能修改的,对于需要用户参与修改的程序则无能为力,只能由用户提出需求到厂家,由厂家按照需求修改完成并编译后发给用户,或者用户安装软件开发环境,由用户充当厂家角色,但是用户由于开发环境限制,实施中遇到很多问题,所以提出继电保护驱动加解释模式。
发明内容
基于现有技术的上述情况,本发明提供了一种可视化逻辑图形化代码解释执行方法及装置,通过对保护逻辑按照特定规则生成二进制数据流,下载到继电保护装置,通过引擎解释模式运行,以提高编译型开发工具的运行效率。
为达到上述目的,根据本发明的一个方面,提供了一种可视化逻辑图形化代码解释执行方法,其特征在于,包括步骤:
针对一种类型的继电保护装置,编译该继电保护装置的目标程序,作为该种继电保护装置的驱动,继电保护逻辑形成的数据流作为该驱动的数据来源;
将各个节点编码有序叠加,形成组态逻辑页面编码,页面以保护为单位,一个页面包含多个节点;
将各个页面的组态逻辑页面编码汇总,生成逻辑二进制数据流文件;
将所述逻辑二进制数据流文件下载至解释引擎;
解释引擎解析所述逻辑二进制数据流文件并运行。
进一步的,所述编译目标程序,由上位机实施编译。
进一步的,所述目标程序包括模拟量输入、开关量输入、开关量输出、数据、元件以及数据流引擎处理。
进一步的,所述将各个节点编码有序叠加,包括以节点的输出为方向,将本页面所有的节点构造为有向图,在有向图中选择没有前驱的节点作为起始节点进行排序。
进一步的,所述生成的逻辑二进制数据流文件,包括大小端标识和CRC校验信息。
根据本发明的另一个方面,提供一种可视化逻辑图形化代码解释执行装置,包括:编译模块、逻辑编码模块、数据流生成模块、下载模块和解析运行模块;所述编译模块、逻辑编码模块、数据流生成模块、下载模块和解析运行模块依次连接;其中,
所述编译模块,针对一种类型的继电保护装置,编译该继电保护装置的目标程序,作为该种继电保护装置的驱动,继电保护逻辑形成的数据流作为该驱动的数据来源;
所述逻辑编码模块,将各个节点编码有序叠加,形成组态逻辑页面编码;
所述数据流生成模块,将各个页面的组态逻辑页面编码汇总,生成逻辑二进制数据流文件;
所述下载模块,将所述逻辑二进制数据流文件下载至解释引擎;
所述解析运行模块,解析所述逻辑二进制数据流文件并运行。
进一步的,所述编译模块,包括上位机;所述解析运行模块,包括解释引擎。
进一步的,所述目标程序包括模拟量输入、开关量输入、开关量输出、数据、元件以及数据流引擎处理。
进一步的,所述逻辑编码模块,将各个节点编码有序叠加,包括以节点的输出为方向,将本页面所有的节点构造为有向图,在有向图中选择没有前驱的节点作为起始节点进行排序。
进一步的,所述逻辑二进制数据流文件,包括大小端标识和CRC校验信息。
综上所述,本发明提供一种可视化逻辑图形化代码解释执行方法及装置,针对一种类型的装置,通过对保护逻辑按照特定规则生成组态逻辑页面编码,并将该组态逻辑页面编码进行汇总,生成逻辑二进制数据流文件,下载到装置,通过引擎解释模式运行,以提高编译型开发工具的运行效率。
附图说明
图1是本发明可视化逻辑图形化代码解释执行装置逻辑构成示意图;
图2是本发明可视化逻辑图形化代码解释执行方法实施示意图;
图3是本发明可视化逻辑图形化代码解释执行方法实施流程图;
图4是本发明可视化逻辑图形化代码解释执行装置构成示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
下面结合附图对本发明的技术方案进行详细说明。如图1所示,该可视化逻辑图形化代码解释执行装置中包括保护逻辑和装置驱动。继电保护装置需要厂家提供某一种类型装置的驱动,此驱动是此类继电保护装置资源的集合,是用注册许可工具开发编译的。保护逻辑是从逻辑组态页面生成的二进制数据流,一般PC机上位机都可生成,然后利用保护逻辑中的解释引擎对所述逻辑二进制数据流文件进行解析并执行,从而提高了保护逻辑的使用效率。
根据本发明的一个实施例,提供了一种可视化逻辑图形化代码解释执行方法,该方法的实施示意图如图2所示,实施流程图如图3所示。下面结合图2和图3对该方法进行说明。该可视化逻辑图形化代码解释执行方法,包括如下步骤:
装置型号资源编译:针对一种类型的继电保护装置,编译目标程序,作为该继电保护装置的驱动。对于一种类型的装置模板,利用获得的软件许可上位机,编译成编译型的目标程序,包括模拟量输入、开关量输入、开关量输出、数据、元件以及数据流引擎处理,以作为该装置的驱动。其中,装置型号资源以驱动模式提供,每一种装置型号对应一种特定的驱动。模拟量输入指的是模拟量通道号及参数,开关量输入指的是开关量通道号,开关量输出指的是出口通道号,数据指的是该继电保护装置需要显示的数据,元件指的是元件功能代码。
将各个节点编码有序叠加,形成组态逻辑页面编码。根据某些实施例,可以按照以下方式进行叠加:以节点的输出为方向,将本页面所有节点构造为有向图,在有向图中选择没有前驱节点作为起始节点开始排序。采用深度优先和节点位置相结合的拓扑分析方法对节点进行排序,以实现各个节点编码的有序叠加。
将各个页面的组态逻辑页面编码汇总,生成逻辑二进制数据流文件。其中,生成的组态逻辑页面二进制数据流文件以双字为单位存储,内部包含大小端标识、CRC校验信息。
将所述逻辑二进制数据流文件下载至解释引擎。
解释引擎解析所述逻辑二进制数据流文件并运行。解释引擎用于处理特定的二进制数据流规则,并用于解释二进制数据流。该二进制数据流文件还需要下载到继电保护装置中,在继电保护装置上电启动后,由解释引擎加载二进制数据流起作用。
厂家逻辑保护视图,即厂家继电保护模板,允许用户修改或重新组态。
根据本发明的另一个实施例,提供了一种可视化逻辑图形化代码解释执行装置,该装置的结构示意图如图3所示,该装置包括:编译模块、逻辑编码模块、数据流生成模块、下载模块和解析运行模块。所述编译模块、逻辑编码模块、数据流生成模块、下载模块和解析运行模块依次连接。其中,
所述编译模块,针对一种类型的继电保护装置,编译目标程序,作为该种继电保护装置的驱动。对于一种类型的装置模板,利用获得的软件许可上位机,编译成编译型的目标程序,包括模拟量输入、开关量输入、开关量输出、数据、元件以及数据流引擎处理,以作为该装置的驱动。其中,装置型号资源以驱动模式提供,每一种装置型号对应一种特定的驱动。
所述逻辑编码模块,将各个节点编码有序叠加,形成组态逻辑页面编码。根据某些实施例,可以按照以下方式进行叠加:以节点的输出为方向,将本页面所有节点构造为有向图,在有向图中选择没有前驱节点作为起始节点开始排序。采用深度优先和节点位置相结合的拓扑分析方法对节点进行排序,以实现各个节点编码的有序叠加。
所述数据流生成模块,将各个页面的组态逻辑页面编码汇总,生成逻辑二进制数据流文件。其中,生成的组态逻辑页面二进制数据流文件以双字为单位存储,内部包含大小端标识、CRC校验信息。
所述下载模块,将所述逻辑二进制数据流文件下载至解释引擎。
所述解析运行模块,解析所述逻辑二进制数据流文件并运行。该解析运行模块包括解释引擎,解释引擎解析所述逻辑二进制数据流文件并运行。解释引擎用于处理特定的二进制数据流规则,并用于解释二进制数据流。
综上所述,本发明涉及一种可视化逻辑图形化代码解释执行方法及装置,针对一种类型的装置,通过对保护逻辑按照特定规则生成组态逻辑页面编码,并将该组态逻辑页面编码进行汇总,生成逻辑二进制数据流文件,下载到装置,通过引擎解释模式运行,以提高编译型开发工具的运行效率。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (10)
1.一种可视化逻辑图形化代码解释执行方法,其特征在于,包括步骤:
针对一种类型的继电保护装置,编译该继电保护装置的目标程序,作为该种继电保护装置的驱动,继电保护逻辑形成的数据流作为该驱动的数据来源;
将各个节点编码有序叠加,形成组态逻辑页面编码,页面以保护为单位,一个页面包含多个节点;
将各个页面的组态逻辑页面编码汇总,生成逻辑二进制数据流文件;
将所述逻辑二进制数据流文件下载至解释引擎;
解释引擎解析所述逻辑二进制数据流文件并运行。
2.根据权利要求1所述的方法,其特征在于,所述编译目标程序,由上位机实施编译。
3.根据权利要求2所述的方法,其特征在于,所述目标程序包括模拟量输入、开关量输入、开关量输出、数据、元件以及数据流引擎处理。
4.根据权利要求3所述的方法,其特征在于,所述将各个节点编码有序叠加,包括以节点的输出为方向,将本页面所有的节点构造为有向图,在有向图中选择没有前驱的节点作为起始节点进行排序。
5.根据权利要求4所述的方法,其特征在于,所述生成的逻辑二进制数据流文件,包括大小端标识和CRC校验信息。
6.一种可视化逻辑图形化代码解释执行装置,其特征在于,包括:编译模块、逻辑编码模块、数据流生成模块、下载模块和解析运行模块;所述编译模块、逻辑编码模块、数据流生成模块、下载模块和解析运行模块依次连接;其中,
所述编译模块,针对一种类型的继电保护装置,编译该继电保护装置的目标程序,作为该种继电保护装置的驱动,继电保护逻辑形成的数据流作为该驱动的数据来源;
所述逻辑编码模块,将各个节点编码有序叠加,形成组态逻辑页面编码;
所述数据流生成模块,将各个页面的组态逻辑页面编码汇总,生成逻辑二进制数据流文件;
所述下载模块,将所述逻辑二进制数据流文件下载至解释引擎;
所述解析运行模块,解析所述逻辑二进制数据流文件并运行。
7.根据权利要求6所述的装置,其特征在于,所述编译模块,包括上位机;所述解析运行模块,包括解释引擎。
8.根据权利要求7所述的装置,其特征在于,所述目标程序包括模拟量输入、开关量输入、开关量输出、数据、元件以及数据流引擎处理。
9.根据权利要求8所述的方法,其特征在于,所述逻辑编码模块,将各个节点编码有序叠加,包括以节点的输出为方向,将本页面所有的节点构造为有向图,在有向图中选择没有前驱的节点作为起始节点进行排序。
10.根据权利要求9所述的方法,其特征在于,所述逻辑二进制数据流文件,包括大小端标识和CRC校验信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181410.2A CN112328233B (zh) | 2020-10-29 | 2020-10-29 | 一种可视化逻辑图形化代码解释执行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181410.2A CN112328233B (zh) | 2020-10-29 | 2020-10-29 | 一种可视化逻辑图形化代码解释执行方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328233A true CN112328233A (zh) | 2021-02-05 |
CN112328233B CN112328233B (zh) | 2024-04-16 |
Family
ID=74296784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011181410.2A Active CN112328233B (zh) | 2020-10-29 | 2020-10-29 | 一种可视化逻辑图形化代码解释执行方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328233B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010028861A (ko) * | 1999-09-27 | 2001-04-06 | 서성철 | 자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법 |
US20080282215A1 (en) * | 2007-05-11 | 2008-11-13 | Chia-Chi Chu | Method of designing a digital integrated circuit for a multi-functional digital protective relay |
CN101894317A (zh) * | 2010-06-08 | 2010-11-24 | 用友软件股份有限公司 | 数据变化驱动业务逻辑的方法和系统 |
CN102346670A (zh) * | 2011-09-22 | 2012-02-08 | 江苏方天电力技术有限公司 | 变电站图形化逻辑组态工具模块智能排序系统 |
CN102496930A (zh) * | 2011-12-28 | 2012-06-13 | 浙江省电力公司 | 一种保护装置内部动作逻辑远程反演方法 |
CN103823666A (zh) * | 2013-11-05 | 2014-05-28 | 国电南瑞科技股份有限公司 | 一种智能变电站设备可视化编程方法 |
CN104035810A (zh) * | 2014-05-19 | 2014-09-10 | 国家电网公司 | 一种继电保护虚拟仿真系统及仿真方法 |
CN104300684A (zh) * | 2014-10-29 | 2015-01-21 | 华自科技股份有限公司 | 继电保护装置的驱动系统与方法 |
CN106341260A (zh) * | 2016-08-26 | 2017-01-18 | 西电通用电气自动化有限公司 | 一种iec 61850第二版标准装置和q/gdw 396标准装置的通信配置方法 |
WO2017016179A1 (zh) * | 2015-07-29 | 2017-02-02 | 北京四方继保自动化股份有限公司 | 一种组态软件国际化多语言的实现方法 |
US9619543B1 (en) * | 2014-06-23 | 2017-04-11 | EMC IP Holding Company LLC | Replicating in virtual desktop infrastructure |
CN107179910A (zh) * | 2017-05-18 | 2017-09-19 | 南京南瑞继保工程技术有限公司 | 一种在线编辑即时生效的逻辑组态方法 |
CN107844093A (zh) * | 2016-09-18 | 2018-03-27 | 南京南瑞继保电气有限公司 | 一种基于元件模型的自定义功能块及组态封装方法 |
CN109446718A (zh) * | 2018-11-15 | 2019-03-08 | 紫光测控有限公司 | 一种保护装置和控制装置的可视化开发方法及系统 |
CN111352620A (zh) * | 2020-03-25 | 2020-06-30 | 珠海格力电器股份有限公司 | 可视化组态编程方法及系统 |
CN111488631A (zh) * | 2020-06-28 | 2020-08-04 | 中国核动力研究设计院 | 一种核级安全显示装置及其组态-解析系统 |
-
2020
- 2020-10-29 CN CN202011181410.2A patent/CN112328233B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010028861A (ko) * | 1999-09-27 | 2001-04-06 | 서성철 | 자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법 |
US20080282215A1 (en) * | 2007-05-11 | 2008-11-13 | Chia-Chi Chu | Method of designing a digital integrated circuit for a multi-functional digital protective relay |
CN101894317A (zh) * | 2010-06-08 | 2010-11-24 | 用友软件股份有限公司 | 数据变化驱动业务逻辑的方法和系统 |
CN102346670A (zh) * | 2011-09-22 | 2012-02-08 | 江苏方天电力技术有限公司 | 变电站图形化逻辑组态工具模块智能排序系统 |
CN102496930A (zh) * | 2011-12-28 | 2012-06-13 | 浙江省电力公司 | 一种保护装置内部动作逻辑远程反演方法 |
CN103823666A (zh) * | 2013-11-05 | 2014-05-28 | 国电南瑞科技股份有限公司 | 一种智能变电站设备可视化编程方法 |
CN104035810A (zh) * | 2014-05-19 | 2014-09-10 | 国家电网公司 | 一种继电保护虚拟仿真系统及仿真方法 |
US9619543B1 (en) * | 2014-06-23 | 2017-04-11 | EMC IP Holding Company LLC | Replicating in virtual desktop infrastructure |
CN104300684A (zh) * | 2014-10-29 | 2015-01-21 | 华自科技股份有限公司 | 继电保护装置的驱动系统与方法 |
WO2017016179A1 (zh) * | 2015-07-29 | 2017-02-02 | 北京四方继保自动化股份有限公司 | 一种组态软件国际化多语言的实现方法 |
CN106341260A (zh) * | 2016-08-26 | 2017-01-18 | 西电通用电气自动化有限公司 | 一种iec 61850第二版标准装置和q/gdw 396标准装置的通信配置方法 |
CN107844093A (zh) * | 2016-09-18 | 2018-03-27 | 南京南瑞继保电气有限公司 | 一种基于元件模型的自定义功能块及组态封装方法 |
CN107179910A (zh) * | 2017-05-18 | 2017-09-19 | 南京南瑞继保工程技术有限公司 | 一种在线编辑即时生效的逻辑组态方法 |
CN109446718A (zh) * | 2018-11-15 | 2019-03-08 | 紫光测控有限公司 | 一种保护装置和控制装置的可视化开发方法及系统 |
CN111352620A (zh) * | 2020-03-25 | 2020-06-30 | 珠海格力电器股份有限公司 | 可视化组态编程方法及系统 |
CN111488631A (zh) * | 2020-06-28 | 2020-08-04 | 中国核动力研究设计院 | 一种核级安全显示装置及其组态-解析系统 |
Non-Patent Citations (1)
Title |
---|
李慧强;程广河;韩凌燕;李柯颖;王茂励;: "两种嵌入式PLC执行机制的比较分析与验证", 自动化仪表, no. 01 * |
Also Published As
Publication number | Publication date |
---|---|
CN112328233B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10269087B2 (en) | Language translation using preprocessor macros | |
JPH08202545A (ja) | ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法 | |
CN106648662B (zh) | 基于工程造价计算描述语言bcl的报表生成装置及生成方法 | |
JP2007141173A (ja) | コンパイルシステム、デバッグシステムおよびプログラム開発システム | |
WO2002061632A2 (en) | System, method and article of manufacture for extensions in a programming language capable of programming hardware architectures | |
CN115543290B (zh) | 可视化编程方法及系统 | |
CN111428327A (zh) | 一种指令硬件架构的构建方法、装置及存储介质 | |
Frey et al. | Editing, visualizing, and implementing signal interpreted petri nets | |
CN113010168B (zh) | 一种基于场景树的用户界面生成方法 | |
JP2008276735A (ja) | プログラムコード変換装置及びプログラムコード変換方法 | |
CN112328233A (zh) | 一种可视化逻辑图形化代码解释执行方法及装置 | |
US11714609B2 (en) | Automatic generation of source code implementing a regular expression | |
CN113485228B (zh) | 可编程逻辑控制器的混合编译方法、存储介质及程序产品 | |
JP2008305337A (ja) | プログラム変換装置、プログラム変換方法、プログラム、記憶媒体、デバッグ装置、デバッグ方法及びプログラム開発システム | |
JP2008165342A (ja) | ソースコード生成方法及び装置並びにプログラム | |
Bezzubikov et al. | Automatic dynamic binary translator generation from instruction set description | |
CN115237390A (zh) | 一种继电保护装置逻辑图生成代码方法、装置及存储介质 | |
JP2007122187A (ja) | プログラム・コード生成装置 | |
CN108984163B (zh) | 一种基于imcl模型的异构式多平台代码生成方法 | |
CN112965712A (zh) | 用于可视化编程的图形块的构建方法及装置、介质、设备 | |
JP2009258796A (ja) | プログラム開発装置及びプログラム開発方法 | |
Hnat et al. | A modular and extensible macroprogramming compiler | |
Shao et al. | A survey of available information recovery of binary programs based on machine learning | |
Kasyanov et al. | Support tools for functional programming distance learning and teaching | |
Fonseca et al. | Vird-gm: Towards a grid computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |