CN115658079B - 一种功能块图转换为结构化文本的方法及相关设备 - Google Patents
一种功能块图转换为结构化文本的方法及相关设备 Download PDFInfo
- Publication number
- CN115658079B CN115658079B CN202211301359.3A CN202211301359A CN115658079B CN 115658079 B CN115658079 B CN 115658079B CN 202211301359 A CN202211301359 A CN 202211301359A CN 115658079 B CN115658079 B CN 115658079B
- Authority
- CN
- China
- Prior art keywords
- elements
- functional block
- block diagram
- structured text
- path
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供一种功能块图转换为结构化文本的方法及相关设备,涉及程序编译领域,其中方法包括:对功能块图的若干个元件进行中序遍历,得到若干条第一路径;对若干条第一路径进行编译处理,得到若干个元件之间连接关系的若干个第一结构化文本单元;对若干个元件进行编译得到若干个第二结构化文本单元,组合若干个第一结构化文本单元与若干个第二结构化文本单元,得到功能块图对应的结构化文本。相较于零星的元件的结构化文本,包含元件之间连接关系的整体的结构化文本,能够更加清晰的体现整体的功能块图的逻辑关系,便于后续用户对于结构化文本的查验以及结构化文本在PLC其它场景的应用。
Description
技术领域
本申请涉及程序编译领域,具体涉及一种功能块图转换为结构化文本的方法及相关设备。
背景技术
随着科技的发展,可编程逻辑控制器(Programmable Logic Controller,PLC)在工业设备自动控制领域已经成为不可或缺的一部分,是生产设备运行的控制中枢,在PLC领域中,IEC61131-3是国际电工协会建立的一套关于可编程控制的一系列标准,IEC61131-3标准中定义了五种编程语言,分别是两种文本语言:语句表(Instruction List,IL)、结构化文本语言(Structured Text,ST),以及三种图形化语言:梯形图(Ladder Diagram,LD)、功能块图(Function Block Diagram,FBD)和顺序功能图(Sequence Function Chart,SFC)。其中功能块图在工业控制中广泛使用,但是功能块图是便于用户设定控制流程的图形化语言,并不能直接控制PLC下位机的运行,而结构化文本是一种源自PASCAL的高级语言,易于用户逻辑理解的同时还能控制PLC下位机的运行。
目前已有的将功能块图转换为结构化文本的方式,只能实现将功能块图中的单个元件转换为结构化文本的功能,以使用户查看修改,但实际中由功能块图构建的程序组织单元(Program Organization Unit,POU)中包含多个网络。在多个网络中,功能块图的各个元件通过有向线连接为一个整体,最后导致功能块图程序十分复杂,通过逐个查看零星的结构化文本,难以联系其它元件和相应逻辑,无法获取到完整功能块图的结构化文本。
发明内容
本申请提供一种功能块图转换为结构化文本的方法及相关设备,通过遍历功能块图中的元件,基于遍历路径得到元件之间的连接关系,将连接关系与元件进行编译组合得到功能块图对应的结构化文本,能够完整展示出各元件之间的连接关系和相应地逻辑关系,便于后续对整体结构化文本的查阅和检验
第一方面,本申请提供了一种功能块图转换为结构化文本的方法,所述方法包括:
对功能块图的若干个元件进行中序遍历,得到若干条第一路径;
对所述若干条第一路径进行编译处理,得到所述若干个元件之间连接关系的若干个第一结构化文本单元;
对所述若干个元件进行编译得到若干个第二结构化文本单元,组合所述若干个第一结构化文本单元与所述若干个第二结构化文本单元,得到所述功能块图对应的结构化文本。
通过采用上述技术方案,使用中序遍历的方法将复杂的功能块图进行梳理,得到若干条包含功能块图中元件的第一路径,逐条对第一路径上的元件及元件间的连接关系进行遍历,再通过编译和组合得到完整的一段结构化文本,得到完整的结构化文本,无需在阅读结构化文本时参考对照复杂的功能块图,减少对照检验过程中产生的失误,完整的结构化文本便于程序员阅读,能够轻松转化为控制机器运行的机器语言。
可选的,所述对功能块图的若干个元件进行中序遍历,得到若干条第一路径,包括:
将功能块图中的最右下角的元件作为起始遍历元件,对所述功能块图中的若干个元件进行中序遍历,得到若干条第一路径。通过上述技术方案,从功能块图的最末端的输出元件为起点进行中序遍历,得到若干条第一路径,以从最末端的输出元件溯源的方式遍历功能块图中的所有元件及元件连接关系,相比于从最前端的输入元件开始遍历,不仅可以避免遍历遗漏,还可避免重复遍历加大运算量的情况。
可选的,所述对所述若干条第一路径进行编译处理,得到所述若干个元件之间连接关系的若干个第一结构化文本单元,包括:
从所述若干条第一路径中选取一条未处理路径,处理所述未处理路径上的所述若干个元件,得到所述若干个元件的输入与输出;
基于所述若干个元件的所述输入与所述输出对所述未处理路径进行编译处理,得到所述若干个元件之间连接关系的若干个第一结构化文本单元。
通过上述技术方案,对未处理路径上的所有元件进行处理,再逐条对所有的未处理路径进行处理,能够在不遗漏的情况下,对每个元件的输入及输出情况进行编译,从而获取到元件之间连接关系的结构化文本单元。
可选的,所述基于所述若干个元件的所述输入与所述输出对所述未处理路径进行编译处理,得到所述若干个元件之间连接关系的若干个第一结构化文本单元,包括:
基于所述未处理路径的遍历顺序,判断所述未处理路径上单个元件的输入是否全部编译;
若所述未处理路径上所述单个元件的输入已全部编译,则将所述单个元件移入已处理集合,基于所述单个元件的输入与输出得到所述单个元件的第一结构化文本单元,并执行基于所述未处理路径的遍历顺序,判断所述未处理路径上下一个所述单个元件的所述输入是否全部编译的步骤;
若所述未处理路径上所述单个元件的输入未全部编译,则保留已编译的所述单个元件的输入,将所述未处理路径中的剩余路径添加至编译队列尾部,并执行另一条未处理路径的编译步骤。
通过上述技术方案,按照遍历顺序对单个元件的输入情况进行判断,若此元件的输入已全部编译,即此元件的其它输入关系已编译,可将此元件的输入关系与输出关系编译为结构化文本并将此元件划入已处理集合,减少重复操作步骤,同时若单个元件存在多个输入,其它路径还存在未编译的输入,则将此元件的此次编译的输入保留,执行下一条未处理路径,直到所有的元件均移入已处理集合。
可选的,所述若所述第一路径上所述单个元件的输入路径已全部编译,则将所述单个元件移入已处理集合之后,还包括:
获取所述第一路径上所有元件的第一数量,获取已处理集合中已处理元件的第二数量;
将所述第一数量与所述第二数量进行比对,当所述第一数量等于所述第二数量时,输出所述已处理集合中若干个元件之间连接关系的所述若干个第一结构化文本单元。
通过采用上述技术方案,上述对每条未处理路径进行判断时,由于元件通常都会有多个输入 ,导致路径中的剩余路径较多,均排列至编译队列的尾部,当此路径上的所有元件均已被处理时,一些剩余路径就无需再进行处理,能够提升路径处理的效率与速度。
可选的,所述输出所述已处理集合中若干个元件之间连接关系的所述若干个第一结构化文本单元,包括:
对所述若干个第一结构化文本单元进行去重处理。
通过采用上述技术方案,在上述的所有第一路径中,路径都是从最前端的输入端到最末端的输出段,同一元件不可避免地会出现在多个第一路径中,因此会出现重复的结构化文本单元,使用去重处理可使组合后的结构化文本更加简练,减少重复无用信息。
可选的,所述对所述若干个元件进行编译得到若干个第二结构化文本单元之前,还包括:
判断所述若干个元件的块元件类型;
若所述元件的块元件类型为功能块,则在变量表中进行声明,并对所述若干个元件进行编译,得到所述若干个第二结构化文本单元;
若所述元件的块元件类型为函数,则对所述若干个元件进行编译,得到所述若干个第二结构化文本单元。
通过采用上述技术方案,块元件类型为功能块时,由于功能块元件的全部数据都分配有内存地址,且功能块元件允许多个输出变量或者没有输出变量,因此需要在编译后的结构化文本中进行声明提示,以避免出现编译错误的情况发生。
可选的,所述组合所述若干个第一结构化文本单元与所述若干个第二结构化文本单元,得到结构化文本,包括:
基于所述中序遍历的顺序分别对所述若干个第一结构化文本单元与所述若干个第二结构化文本单元进行排序,按照所述若干个第二结构化文本在前,所述若干个第一结构化文本在后的原则进行组合,得到所述功能块图对应的结构化文本。
通过采用上述技术方案,分别将元件与元件之间的连接关系编译为第一结构化文本单元与第二结构化文本单元,按照元件在前、连接关系在后的顺序进行组合排列,同时各元件与各元件连接关系按照中序遍历的顺序进行排列,提升用户观感的同时也能更清晰的示出结构化文本的逻辑条理。
第二方面,本申请提供了一种功能块图转换为结构化文本的装置,所述装置包括:
元件遍历模块,用于对功能块图的若干个元件进行中序遍历,得到若干条第一路径;
第一路径编译模块,用于对所述若干条第一路径进行编译处理,得到所述若干个元件之间连接关系的若干个第一结构化文本单元;
结构化文本组合模块,用于对所述若干个元件进行编译得到若干个第二结构化文本单元,组合所述若干个第一结构化文本单元与所述若干个第二结构化文本单元,得到所述功能块图对应的结构化文本。
第三方面,本申请提供了一种电子设备,包括处理器、存储器和收发器,所述存储器用于存储指令,所述收发器用于和其他设备通信,所述处理器用于执行所述存储器中存储的指令,以使所述计算机设备执行上述任意一项所述的方法步骤。
第四方面,本申请提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述任意一项的方法步骤。
综上所述,本申请提供的技术方案带来的有益效果包括:
使用中序遍历的方式将功能块图划分为若干条路径,对路径上的元件依次进行处理,根据元件的输入与输出确定元件之间的连接关系,同时将元件与元件之间的连接关系编译为结构化文本单元,再按照遍历顺序进行组合得到结构化文本。与查验零星的元件的结构化文本相比,完整的结构化文本能够清晰体现整体的功能块图的逻辑架构与连接关系,使得用户能够基于完整的结构化文本对整体的功能块图所体现的步骤进行阅读及查验,同时包含元件间连接关系的结构化文本,能够更方便地转化为机器语言以实现PLC的控制。
附图说明
图1是本申请实施例的一种功能块图转换为结构化文本方法的流程示意图;
图2是本申请实施例的一种中序遍历的二叉树示意图;
图3是本申请实施例的另一种功能块图转换为结构化文本方法的流程示意图;
图4是本申请实施例的一种示例功能块图的结构图;
图5是本申请实施例的一种功能块图转换为结构化文本装置的流程示意图;
图6是本申请实施例一种功能块图转换为结构化文本的装置的结构示意图;
图7是本申请实施例的另一种功能块图转换为结构化文本的装置的结构示意图;
图8是本申请实施例的一种电子设备的结构示意图。
附图标记说明:10、元件遍历模块;11、遍历起始模块;20、第一路径编译模块;21、未处理路径编译模块;22、元件输入判断模块;23、编译结束模块;24、结构化文本单元去重模块;30、结构化文本组合模块;31、块元件类型判断模块;32、结构化文本排序组合模块;1000、电子设备;1001、处理器;1002、通信总线;1003、用户接口;1004、网络接口;1005、存储器。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
在本申请实施例的描述中,“示性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个屏幕终端是指两个或两个以上的屏幕终端。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例涉及PLC语言转换领域,标准工业控制编程语言IEC61131-3规范的语法提出一套可跨不同目标平台的可编程控制器实现机制,分别提出了LD、FBD、SFC、ST以及IL等五种语言,五种不同语言具有不同的应用场景,例如LD、FBD以及SFC这类图形化语言就是用以具象化显示控制逻辑,而ST和IL这类文本语言更适合程序员和设备操作人员查看,以快速检验或实施控制程序,需对这五种语言进行转换以适应不同的应用场景。本申请涉及五种语言中的FBD与ST,下面对FBD与ST语言做简要说明。
功能块图(FBD)是IEC61131-3标准中的一种图形化的高级编程语言,与数字电路中的信号流图非常类似,它采用矩形框代表函数和功能块,通过矩形框之间引脚的连线分配其输入输出参数,功能块图的使用简单直接,可以便捷地构建控制策略。功能块图语言提供了很多图形化元件供编辑使用,元件是功能块图组态的基本元素,其中功能块图元件根据功能分为输入元件、输出元件、块元件、标号元件、跳转元件、返回元件和注释元件等。
结构化文本(ST)是以Pascal为基础的高阶语言,对于熟悉计算机高级语言开发的人员来说,结构化文本语言易读易理解,适合应用于有复杂的算数计算的应用。ST语言是专门为工业控制应用开发的编程语言,具有很强的编程灵活性,可用于对变量赋值、调用功能和功能块、创建表达式、编写条件语句和循环逻辑等,可以用来描述功能、功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。
在一个实施例中,如图1所示,特提出了一种功能块图转换为结构化文本方法的流程示意图。该方法可依赖于计算机程序实现,可依赖于单片机实现,也可运行于基于冯诺依曼体系的功能块图转换为结构化文本的装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
S101,对功能块图的若干个元件进行中序遍历,得到若干条第一路径。
请参见图2,图2是本申请实施例提供的一种中序遍历的二叉树示意图,此示意图并不代表实际的功能块图,只用于清楚解释功能块图中的遍历顺序与遍历路径。假设图中A为输出元件,D、E以及F为输入元件,B和C为块元件或其它中间元件,用于解释中序遍历的具体遍历路径。
可选的,
将功能块图中的最右下角的元件作为起始遍历元件,对功能块图中的若干个元件进行中序遍历,得到若干条第一路径。中序遍历是二叉树遍历的一种,在二叉树中的顺序是首先遍历左子树,然后访问根节点,最后遍历右子树。以图2中A元件为起始遍历点,得到三条路径,分别为ABD、ABE以及ACF,即为若干条第一路径。第一路径以A元件为起始遍历点,是因为在功能块图中,从输出元件开始以溯源的方式进行遍历,能够不遗漏元件与逻辑关系,且遍历路径相对容易实现。
对所得路径进行处理,在队列中寄存遵循先进先出的原则,得到对应的F、E、D、C、B以及A多个元件,元件的输入输出是,后续程序及逻辑关系的顺序是需要从输入元件到输出元件的,这也是用户查验的普遍顺序。整体而言,对功能块图的输出元件开始进行遍历,再通过对元件的输入输出进行处理得到从输入元件到输出元件的第一路径。
S102,对若干条第一路径进行编译处理,得到若干个元件之间连接关系的若干个第一结构化文本单元。
基于上述的第一路径的顺序,依次对每条第一路径上的元件的连接关系进行编译处理,得到元件之间连接关系的若干个第一结构化文本单元,第一结构化文本单元是表征功能块图中元件连接关系的部分结构化文本类型的程序,例如,X和Y之间使用单个连接线连接,数据流向是从X到Y,则X和Y之间的第一结构化文本单元可表示为:Y_OUT= Y(X_OUT_Y)。对若干条第一路径进行同样的编译处理,可得到若干个第一结构化文本单元。
S103,对若干个元件进行编译得到若干个第二结构化文本单元,组合若干个第一结构化文本单元与若干个第二结构化文本单元,得到功能块图对应的结构化文本。
第二结构化文本单元是对功能块图中的元件进行编译得到的,功能块图中矩形框的块元件包括基本指令块、功能块、函数以及程序四种类型,这些块元件都是事先按照标准定义或由用户自主定义的程序逻辑,以提供给用户用于组态实际复杂的功能块图。
可选的,判断若干个元件的块元件类型;
若元件的块元件类型为功能块,则在变量表中进行声明,并对若干个元件进行编译,得到若干个第二结构化文本单元;
若元件的块元件类型为函数,则对若干个元件进行编译,得到若干个第二结构化文本单元。
其中功能块是预先编好的程序,用以完成一定的功能,以块的形式参与FBD组态,由于功能块允许多个输出变量或者没有输出变量,同时功能块既能调用函数,也可以调用功能块,且功能块的全部数据都需要分配内存地址,因此在结构化文本的变量表中需要对功能块进行声明,避免出现编译错误的情况发生。同时块元件的类型可根据元件的程序特征及实现方法进行判断,此处不作赘述,以实现块元件类型的判断即可。
可选的,基于中序遍历的顺序分别对若干个第一结构化文本单元与若干个第二结构化文本单元进行排序,按照若干个第二结构化文本在前,若干个第一结构化文本在后的原则进行组合,得到功能块图对应的结构化文本。
在本申请的其中一个实施例中,得到若干个表征元件间连接关系的第一结构化文本单元与若干个表征元件程序逻辑的第二结构化文本单元,需对这些不同种类的结构化文本单元进行排序,以提升用户的阅读体验并便于PLC下位机逻辑的执行。
基于中序遍历的顺序,得到若干第一路径的顺序,并参照与输出元件的所经历的元件数量,得出最佳的功能块图中从输入元件到输出元件的排列顺序,先按照此顺序分别对第一结构化文本单元和第二结构化文本单元进行排序,在按照所有第二结构化文本单元在前,所有第一结构化文本单元在后的先后关系进行组合,得到最终的和功能块图对应的结构化文本。
通过上述技术方案,以输出元件起始遍历点对功能块图中的各个元件进行编译,并通过处理得到具有先后顺序关系的元件路径,分别编译元件的结构化文本单元与元件之间连接关系的结构化文本单元,再依据遍历顺序对两种类型的结构化文本单元进行排序和组合得到完整的结构化文本。与现有的只能查看单个功能块图中元件的结构化文本相比,首先使用完整的结构化文本无需逐个对应功能块图中连接关系去查验文本逻辑,便于高效率的查验,其次在遇到较为复杂的功能块图时可以降低工作量和查阅难度,最后就是完整的结构化文本便于其它PLC设备识别和运行。
请参见图3,为本申请实施例提供的另一种功能块图转换为结构化文本的方法的流程示意图,以说明功能块图转换为结构化文本的详细步骤。
S201,对功能块图的若干个元件进行中序遍历,得到若干条第一路径。
在上述实施例中已对得到若干条第一路径的步骤作详细介绍,此处不再赘述。
S202,从若干条第一路径中选取一条未处理路径,处理未处理路径上的若干个元件,得到若干个元件的输入与输出;基于若干个元件的输入与输出对未处理路径进行编译处理,得到若干个元件之间连接关系的若干个第一结构化文本单元。
元件一般都有若干个输入和/或输出,连接至其它元件,但元件在某一条第一路径上只有一个输入和/或输出,对同一路径上若干元件的若干输入及输出进行处理,在对其它路径上的元件的输入及输出进行处理,再将相同元件的输入及输出进行整合,就得到了功能块图中若干个元件连接关系的第一结构化文本单元。
在其中一个实施例中,基于未处理路径的遍历顺序,判断未处理路径上单个元件的输入是否全部编译;
若未处理路径上单个元件的输入已全部编译,则将单个元件移入已处理集合,基于单个元件的输入与输出得到单个元件的第一结构化文本单元,并执行基于未处理路径的遍历顺序,判断未处理路径上下一个单个元件的输入是否全部编译的步骤;
若未处理路径上单个元件的输入未全部编译,则保留已编译的单个元件的输入,将未处理路径中的剩余路径添加至编译队列尾部,并执行另一条未处理路径的编译步骤。
未处理路径的遍历顺序是从输入元件到输出元件,从输入元件开始,依次对这条未处理路径上的单个元件的输入进行判断。若未处理路径上单个元件的输入已全部编译,此时具有多种情况,例如此元件只有一个输入时,则输入全部遍历是指遍历到此元件处的单个输入已被编译;当此元件有多个输入时,则输入全部编译是指处理到此元件的某个输入时,此元件的所有其它输入已在其它路径上编译。由于是按照遍历顺序进行编译的,某个元件的输入被全部编译说明跟此元件有连接关系的输入侧元件也已被编译,将输入已被全部编译的元件移入已处理集合。对已处理集合中的元件连接关系进行编译,也就是对元件的输入和输出进行编译处理,得到单个元件的第一结构化文本单元;也可在已处理元件全部移入至已处理集合中后,再对所有的元件进行编译,得到功能块图对应的若干个第一结构化文本单元。在单个元件的输入被全部遍历并将此元件移入已处理集合之后,按照遍历顺序对此未处理路径上下一个元件执行相同的输入是否全部编译的判断步骤。
若未处理路径上单个元件的输入未全部编译,则说明此元件的某一输入前端还存在未处理的元件,但在此路径上并不能反向去回顾此元件,会导致对元件的处理紊乱,记录下此元件的此条路径的输入,将此路径上此元件及后续剩余的元件添加至编译队列的尾部,选取另一条未处理路径进行判断步骤,当此元件的输入满足全部编译的要求时,对剩余的路径进行编译。
请参见图4,为本申请实施例提供的一种示例功能块图的结构图,用于举例说明功能块图的转换步骤,图中有5个元件,分别为算数运算元件ADD和SUB、比较运算元件GE、选择指令元件SEL以及输出元件OUT。比较元件GE的IN1引脚连接Initial、IN2引脚连接比较参数1、OUT1引脚连接SEL元件的G引脚,加法元件ADD的IN3引脚连接Initial、IN4引脚连接选择参数1、OUT2引脚连接SEL元件的IN5引脚,选择元件SEL的IN6引脚连接重置值ResetValue、OUT3引脚连接SUB元件的IN7引脚,减法元件SUB的IN8引脚连接基准数据Base、OUT4引脚与输出元件OUT连接。
请参见图5,图5为本申请实施例提供的一种功能块图转换为结构化文本的流程示意图,结合图4和图5对功能块图转换为结构化文本的完整过程作详细说明。
从OUT元件开始进行中序遍历,对应于图5中判断是否有交叉,得到OUT-SUB-SEL-ADD与OUT-SUB-SEL-GE两条遍历路径;通过队列先进先出的原则对两条遍历路径进行处理,得到OUT、SUB、SEL、ADD以及GE五个元件,将五个元件放入未处理元件集合中。从未处理路径队列中选取一条未处理遍历路径OUT-SUB-SEL-GE,对此未处理路径上元件是否已处理完及未处理元件集合是否为空进行判断,避免重复处理浪费时间及资源。从OUT元件开始编译,由于OUT元件的输入未处理,继续处理前面的SUB元件,SUB元件的输入也未处理,处理SEL元件,SEL元件的输入也未处理,处理到GE元件时,GE元件的输入为Initial与比较参数1,因此GE元件的输入与输出均可确认,得到GE的一种示例性结构化文本,GE_OUT:=GE(EN:=Reset,IN1:=Initial, IN2:=1),并将GE加入已处理集合中,此时将剩余路径OUT-SUB-SEL添加至队列尾部,进行下一条遍历路径的编译。
选取另一条遍历路径OUT-SUB-SEL-ADD进行编译处理,由于前叙中OUT、SUB及SEL元件的输入均未处理,因而此次遍历将ADD元件进行编译并加入已处理集合中,剩余路径OUT-SUB-SEL同样添加至队列尾部,此时已处理集合中有ADD与GE两个元件的编译结果。
在处理完遍历路径之后,对队列尾部的剩余路径OUT-SUB-SEL进行处理,由于OUT与SUB元件的输入均未处理,只有SEL的输入经过处理,得到SEL_OUT:= SEL(GE_OUT,ADD_OUT,ResetValue),重复进行将SEL元件添加至已处理集合中,并将剩余路径OUT-SUB添加至队列尾部的步骤,直到未处理集合中无元件。
因此在已处理集合中得到的编译结果顺序为GE、ADD、SEL、SUB以及OUT的顺序,元件的输出对应于元件的输入。
在其中一个实施例中,获取第一路径上所有元件的第一数量,获取已处理集合中已处理元件的第二数量;将第一数量与第二数量进行比对,当第一数量等于第二数量时,输出已处理集合中若干个元件之间连接关系的若干个第一结构化文本单元。
对已处理集合中的元件数量计数,当第一路径的所有元件数量等于已处理集合中元件数量时,说明此功能块图的所有元件及相应的元件之间的连接关系已被全部遍历,上述提到的添加至编译队列尾部的剩余路径在某一段具有其中所有相同元件的路径被遍历后,即剩余路径上的元件已在其它路径中被遍历,则停止功能块图路径的遍历步骤。
在其中一个实施例中,对若干个第一结构化文本单元进行去重处理。
某些元件在多个路径中出现,可能被重复加入已处理集合或是在已处理集合中被多次编译,因此需要对相同元件的重复的第一结构化文本单元进行去重处理,以避免结构化文本中信息的重复出现,避免某个结构化文本单元重复出现导致错误。
S203,对所述若干个元件进行编译得到若干个第二结构化文本单元,组合所述若干个第一结构化文本单元与所述若干个第二结构化文本单元,得到所述功能块图对应的结构化文本。
通过上述技术方案,按照中序遍历出的第一路径的顺序,以单条路径为处理单元,对单条路径上的单个元件为处理对象,判断单个元件的输入是否全部编译,得出单个元件的输入与输出,即为获取到元件之间的连接关系,经过编译得到相应的第一结构化文本单元,将元件进行编译得到第二结构化文本单元,对两种结构化文本单元进行组合得到功能块图对应的结构化文本。在已有的元件的结构化文本单元基础上,将元件之间的连接关系同样编译为结构化文本单元,形成整体的结构化文本,便于用户查验及将整体结构化文本应用于其它PLC控制程序中。
请参见图6,其示出了本申请一个示例性实施例提供的功能块图转换为结构化文本装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置包括元件遍历模块10、第一路径编译模块20以及结构化文本组合模块30。
元件遍历模块10,用于对功能块图的若干个元件进行中序遍历,得到若干条第一路径;
第一路径编译模块20,用于对所述若干条第一路径进行编译处理,得到所述若干个元件之间连接关系的若干个第一结构化文本单元;
结构化文本组合模块30,用于对所述若干个元件进行编译得到若干个第二结构化文本单元,组合所述若干个第一结构化文本单元与所述若干个第二结构化文本单元,得到所述功能块图对应的结构化文本。
请参见图7,图7为本申请实施例提供的另一种功能块图转换为结构化文本的装置的结构示意图。
可选的,如图7所示,装置还包括:
遍历起始模块11,用于将功能块图中的最右下角的元件作为起始遍历元件,对所述功能块图中的若干个元件进行中序遍历,得到若干条第一路径。
可选的,如图7所示,装置还包括:
未处理路径编译模块21,用于从所述若干条第一路径中选取一条未处理路径,处理所述未处理路径上的所述若干个元件,得到所述若干个元件的输入与输出;基于所述若干个元件的所述输入与所述输出对所述未处理路径进行编译处理,得到所述若干个元件之间连接关系的若干个第一结构化文本单元。
可选的,如图7所示,装置还包括:
元件输入判断模块22,用于基于所述未处理路径的遍历顺序,判断所述未处理路径上单个元件的输入是否全部编译;若所述未处理路径上所述单个元件的输入已全部编译,则将所述单个元件移入已处理集合,基于所述单个元件的输入与输出得到所述单个元件的第一结构化文本单元,并执行基于所述未处理路径的遍历顺序,判断所述未处理路径上下一个所述单个元件的所述输入是否全部编译的步骤;若所述未处理路径上所述单个元件的输入未全部编译,则保留已编译的所述单个元件的输入,将所述未处理路径中的剩余路径添加至编译队列尾部,并执行另一条未处理路径的编译步骤。
可选的,如图7所示,装置还包括:
编译结束模块23,用于获取所述第一路径上所有元件的第一数量,获取已处理集合中已处理元件的第二数量;将所述第一数量与所述第二数量进行比对,当所述第一数量等于所述第二数量时,输出所述已处理集合中若干个元件之间连接关系的所述若干个第一结构化文本单元。
可选的,如图7所示,装置还包括:
结构化文本单元去重模块24,用于对所述若干个第一结构化文本单元进行去重处理。
可选的,如图7所示,装置还包括:
块元件类型判断模块31,用于判断所述若干个元件的块元件类型;若所述元件的块元件类型为功能块,则在变量表中进行声明,并对所述若干个元件进行编译,得到所述若干个第二结构化文本单元;若所述元件的块元件类型为函数,则对所述若干个元件进行编译,得到所述若干个第二结构化文本单元。
可选的,如图7所述,装置还包括:
结构化文本排序组合模块32,基于所述中序遍历的顺序分别对所述若干个第一结构化文本单元与所述若干个第二结构化文本单元进行排序,按照所述若干个第二结构化文本在前,所述若干个第一结构化文本在后的原则进行组合,得到所述功能块图对应的结构化文本。
本申请实施例还提供了一种计算机存储介质,计算机存储介质可以存储有多条指令,指令适于由处理器加载并执行如上述图1~图7所示实施例的一种功能块图转换为结构化文本的方法,具体执行过程可以参见图1~图7所示实施例的具体说明,在此不进行赘述。
请参见图8,为本申请实施例提供了一种电子设备的结构示意图。如图8所示,电子设备1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及功能块图转换为结构化文本的方法的应用程序。
需要说明的是:上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置和方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在图8所示的电子设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储一种功能块图转换为结构化文本的方法的应用程序,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory, ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (7)
1.一种功能块图转换为结构化文本的方法,其特征在于,所述方法包括:
对功能块图的若干个元件进行中序遍历,得到若干条第一路径;
从所述若干条第一路径中选取一条未处理路径,处理所述未处理路径上的所述若干个元件,得到所述未处理路径上的所述若干个元件的输入与输出;
基于所述未处理路径的遍历顺序,判断所述未处理路径上单个元件的输入是否全部编译;
若所述未处理路径上所述单个元件的输入已全部编译,则将所述未处理路径上的所述单个元件移入已处理集合,基于所述未处理路径上的所述单个元件的输入与输出得到所述未处理路径上的所述单个元件的第一结构化文本单元,并执行基于所述未处理路径的遍历顺序,判断所述未处理路径上下一个单个元件的所述输入是否全部编译的步骤;
若所述未处理路径上单个元件的输入未全部编译,则保留已编译的单个元件的输入,将所述未处理路径中的剩余路径添加至编译队列尾部,并执行另一条未处理路径的编译步骤;
所述若所述未处理路径上单个元件的输入已全部编译,则将所述未处理路径上的所述单个元件移入已处理集合之后,还包括:
获取所述第一路径上所有元件的第一数量,获取已处理集合中已处理元件的第二数量;
将所述第一数量与所述第二数量进行比对,当所述第一数量等于所述第二数量时,输出所述已处理集合中若干个元件之间连接关系的所述若干个第一结构化文本单元,停止功能块图路径的遍历步骤;
对所述功能块图的若干个元件进行编译得到若干个第二结构化文本单元,组合所述若干个第一结构化文本单元与所述若干个第二结构化文本单元,得到所述功能块图对应的结构化文本。
2.根据权利要求1所述的方法,其特征在于,所述对功能块图的若干个元件进行中序遍历,得到若干条第一路径,包括:
将功能块图中的最右下角的元件作为起始遍历元件,对所述功能块图中的若干个元件进行中序遍历,得到若干条第一路径。
3.根据权利要求1所述的方法,其特征在于,所述输出所述已处理集合中若干个元件之间连接关系的所述若干个第一结构化文本单元,包括:
对所述若干个第一结构化文本单元进行去重处理。
4.根据权利要求1所述的方法,其特征在于,所述对所述功能块图的若干个元件进行编译得到若干个第二结构化文本单元之前,还包括:
判断所述功能块图的若干个元件的块元件类型;
若元件的块元件类型为功能块,则在变量表中进行声明,并对所述功能块图的若干个元件进行编译,得到所述若干个第二结构化文本单元;
若元件的块元件类型为函数,则对所述功能块图的若干个元件进行编译,得到所述若干个第二结构化文本单元。
5.根据权利要求1所述的方法,其特征在于,所述组合所述若干个第一结构化文本单元与所述若干个第二结构化文本单元,得到结构化文本,包括:
基于所述中序遍历的顺序分别对所述若干个第一结构化文本单元与所述若干个第二结构化文本单元进行排序,按照所述若干个第二结构化文本在前,所述若干个第一结构化文本在后的原则进行组合,得到所述功能块图对应的结构化文本。
6.一种功能块图转换为结构化文本的装置,其特征在于,所述装置包括:
元件遍历模块,用于对功能块图的若干个元件进行中序遍历,得到若干条第一路径;
第一路径编译模块,用于从所述若干条第一路径中选取一条未处理路径,处理所述未处理路径上的所述若干个元件,得到所述未处理路径上的所述若干个元件的输入与输出;基于所述未处理路径的遍历顺序,判断所述未处理路径上单个元件的输入是否全部编译;若所述未处理路径上所述单个元件的输入已全部编译,则将所述未处理路径上的所述单个元件移入已处理集合,基于所述未处理路径上的所述单个元件的输入与输出得到所述未处理路径上的所述单个元件的第一结构化文本单元,并执行基于所述未处理路径的遍历顺序,判断所述未处理路径上下一个单个元件的所述输入是否全部编译的步骤;若所述未处理路径上单个元件的输入未全部编译,则保留已编译的单个元件的输入,将所述未处理路径中的剩余路径添加至编译队列尾部,并执行另一条未处理路径的编译步骤;所述若所述未处理路径上单个元件的输入已全部编译,则将所述未处理路径上的所述单个元件移入已处理集合之后,还包括:获取所述第一路径上所有元件的第一数量,获取已处理集合中已处理元件的第二数量;将所述第一数量与所述第二数量进行比对,当所述第一数量等于所述第二数量时,输出所述已处理集合中若干个元件之间连接关系的所述若干个第一结构化文本单元,停止功能块图路径的遍历步骤;
结构化文本组合模块,用于对所述功能块图的若干个元件进行编译得到若干个第二结构化文本单元,组合所述若干个第一结构化文本单元与所述若干个第二结构化文本单元,得到所述功能块图对应的结构化文本。
7.一种电子设备,其特征在于,包括处理器、存储器、用户接口及网络接口,所述存储器用于存储指令,所述用户接口和网络接口用于给其他设备通信,所述处理器用于执行所述存储器中存储的指令,以使所述电子设备执行如权利要求1~5任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211301359.3A CN115658079B (zh) | 2022-10-24 | 2022-10-24 | 一种功能块图转换为结构化文本的方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211301359.3A CN115658079B (zh) | 2022-10-24 | 2022-10-24 | 一种功能块图转换为结构化文本的方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115658079A CN115658079A (zh) | 2023-01-31 |
CN115658079B true CN115658079B (zh) | 2023-10-13 |
Family
ID=84991160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211301359.3A Active CN115658079B (zh) | 2022-10-24 | 2022-10-24 | 一种功能块图转换为结构化文本的方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658079B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877532A (zh) * | 2005-06-06 | 2006-12-13 | 松下电器产业株式会社 | 编译装置 |
DE102007043214A1 (de) * | 2007-09-11 | 2009-03-12 | Delta Electronics, Inc. | Verfahren zum Editieren eines Programms für eine programmierbare logische Steuerung (PLC) |
CN101587445A (zh) * | 2009-06-19 | 2009-11-25 | 国网电力科学研究院 | 一种plc编译执行方法 |
KR20100026342A (ko) * | 2008-08-29 | 2010-03-10 | 현대중공업 주식회사 | 로직 제어 함수의 동적 생성 및 수행방법 |
CN101957745A (zh) * | 2009-07-16 | 2011-01-26 | 沈阳高精数控技术有限公司 | 梯形图语言转换为结构文本语言的方法 |
EP2650785A1 (en) * | 2012-04-10 | 2013-10-16 | Siemens Aktiengesellschaft | Method, system, and computer program product for transforming machine code to source code |
CN109143952A (zh) * | 2018-06-13 | 2019-01-04 | 华东师范大学 | 可编程逻辑控制器编程语言转换系统 |
CN109976760A (zh) * | 2017-12-27 | 2019-07-05 | 北京东土科技股份有限公司 | 一种图形语言的交叉编译方法及交叉编译器 |
CN110147226A (zh) * | 2019-04-02 | 2019-08-20 | 杭州电子科技大学 | 一种根据功能块图自动生成程序的系统、方法及装置 |
CN110376959A (zh) * | 2019-07-25 | 2019-10-25 | 大连理工大学 | 一种基于fpga平台的软plc组态软件生成系统 |
CN111488154A (zh) * | 2020-04-23 | 2020-08-04 | 北京东土科技股份有限公司 | St语言源代码编译方法、装置、计算机设备及介质 |
CN113433885A (zh) * | 2021-07-22 | 2021-09-24 | 上海繁易信息科技股份有限公司 | 用于plc编程系统的梯形图转换为结构化文本的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8381173B2 (en) * | 2009-03-06 | 2013-02-19 | GM Global Technology Operations LLC | Platform-independent method and system for deploying control logic programming |
-
2022
- 2022-10-24 CN CN202211301359.3A patent/CN115658079B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877532A (zh) * | 2005-06-06 | 2006-12-13 | 松下电器产业株式会社 | 编译装置 |
JP2006338616A (ja) * | 2005-06-06 | 2006-12-14 | Matsushita Electric Ind Co Ltd | コンパイラ装置 |
DE102007043214A1 (de) * | 2007-09-11 | 2009-03-12 | Delta Electronics, Inc. | Verfahren zum Editieren eines Programms für eine programmierbare logische Steuerung (PLC) |
KR20100026342A (ko) * | 2008-08-29 | 2010-03-10 | 현대중공업 주식회사 | 로직 제어 함수의 동적 생성 및 수행방법 |
CN101587445A (zh) * | 2009-06-19 | 2009-11-25 | 国网电力科学研究院 | 一种plc编译执行方法 |
CN101957745A (zh) * | 2009-07-16 | 2011-01-26 | 沈阳高精数控技术有限公司 | 梯形图语言转换为结构文本语言的方法 |
EP2650785A1 (en) * | 2012-04-10 | 2013-10-16 | Siemens Aktiengesellschaft | Method, system, and computer program product for transforming machine code to source code |
CN109976760A (zh) * | 2017-12-27 | 2019-07-05 | 北京东土科技股份有限公司 | 一种图形语言的交叉编译方法及交叉编译器 |
CN109143952A (zh) * | 2018-06-13 | 2019-01-04 | 华东师范大学 | 可编程逻辑控制器编程语言转换系统 |
CN110147226A (zh) * | 2019-04-02 | 2019-08-20 | 杭州电子科技大学 | 一种根据功能块图自动生成程序的系统、方法及装置 |
CN110376959A (zh) * | 2019-07-25 | 2019-10-25 | 大连理工大学 | 一种基于fpga平台的软plc组态软件生成系统 |
CN111488154A (zh) * | 2020-04-23 | 2020-08-04 | 北京东土科技股份有限公司 | St语言源代码编译方法、装置、计算机设备及介质 |
CN113433885A (zh) * | 2021-07-22 | 2021-09-24 | 上海繁易信息科技股份有限公司 | 用于plc编程系统的梯形图转换为结构化文本的方法 |
Non-Patent Citations (3)
Title |
---|
基于AOV图和多叉树的功能块程序编译算法;仲崇权;张禹阳;赵亮;李丹;;控制工程(03);第30-37页 * |
基于XML的PLC数据描述;邹光华;刘毅;;计算机工程(01);第119-121页 * |
软PLC梯形图编程系统的研究与实现;苏淑芝;《中国优秀硕士学位论文全文数据库信息科技辑》;I140-353 * |
Also Published As
Publication number | Publication date |
---|---|
CN115658079A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113065656B (zh) | 一种规则引擎配置方法、装置、服务器及可读存储介质 | |
CN109143952B (zh) | 可编程逻辑控制器编程语言转换系统 | |
US8341593B2 (en) | Integrated development framework for composite applications | |
US5291427A (en) | Method for assisting the development of a set of communicating automata | |
TW201642058A (zh) | 程式產生裝置、程式產生方法和程式產生程式產品 | |
CN109976723B (zh) | 一种算法开发平台、算法开发方法及计算机可读存储介质 | |
CN112948110B (zh) | 云应用的拓扑与编排系统、方法、存储介质及电子设备 | |
CN115658079B (zh) | 一种功能块图转换为结构化文本的方法及相关设备 | |
CN110097464B (zh) | 智能合约的生成方法、装置、电子设备与存储介质 | |
CN115495069A (zh) | 基于模型驱动的煤炭工业软件流程实现方法、装置及设备 | |
KR20150139598A (ko) | 프로그램 그래프 표시 장치, 프로그램 그래프 표시 방법 및 프로그램 그래프 표시 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
KR20130053714A (ko) | Vpl을 이용한 프로그램 개발 방법과 그 방법을 구현한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 | |
CN117234470B (zh) | 一种基于低代码平台的跨端表单开发系统及方法 | |
CN115718619A (zh) | 一种可视化控制逻辑编排方法、设备及介质 | |
JP2004070810A (ja) | ビジュアルプログラミングシステム、ビジュアルプログラミング方法、ビジュアルプログラミング用プログラム及びそのプログラムを記録した記録媒体 | |
CN113419723B (zh) | 梯形图编译方法、梯形图调试方法、电子设备及存储介质 | |
KR102258103B1 (ko) | 제어 프로그램 자동 생성 방법 및 상기 방법을 수행하는 컴퓨팅 장치 | |
JP2007122187A (ja) | プログラム・コード生成装置 | |
CN114115850A (zh) | 一种代码生成方法及装置 | |
CN112988145A (zh) | 生成航空发动机软件架构的方法及航空发动机控制装置 | |
JP2008071314A (ja) | 組み込み用プログラム開発装置、及びプログラム自動生成方法 | |
JP7318829B2 (ja) | 生産システム、プログラム作成装置、生産方法、及びプログラム | |
Ebert et al. | DiNeROS: A Model-Driven Framework for Verifiable ROS Applications with Petri Nets | |
KR100423742B1 (ko) | 순차기능챠트에 의한 전용 제어 시스템 | |
WO2024066576A1 (zh) | 软件配置方法和装置 |
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 |