CN107193534A - 一种将plc梯形图转换成指令表并解释执行的方法 - Google Patents
一种将plc梯形图转换成指令表并解释执行的方法 Download PDFInfo
- Publication number
- CN107193534A CN107193534A CN201710338944.3A CN201710338944A CN107193534A CN 107193534 A CN107193534 A CN 107193534A CN 201710338944 A CN201710338944 A CN 201710338944A CN 107193534 A CN107193534 A CN 107193534A
- Authority
- CN
- China
- Prior art keywords
- summit
- arc
- node
- pointer
- instruction catalogue
- 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
- 238000010586 diagram Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000008859 change Effects 0.000 claims abstract description 6
- 238000003491 array Methods 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 238000013461 design Methods 0.000 abstract description 2
- 125000002015 acyclic group Chemical group 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 241001582888 Lobus Species 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30163—Decoding the operand specifier, e.g. specifier format with implied specifier, e.g. top of stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
本发明公开了一种将PLC梯形图转换成指令表并解释执行的方法,首先设计保存梯形图元件信息的数据结构,并且利用数组保存每一个元件对应的数据结构的指针;同时将梯形图类比成有向图,通过遍历数组建立十字链表数据结构表示元件之间的关系,然后利用串并联归并的方法建立指令间的二叉树结构,最后通过遍历二叉树得到对应的指令表;得到指令表后,通过建立利用堆栈的先进先出原理构造的解释器解释执行。本发明能有效地解决梯形图的复杂串并联关系和多输出难以准确转化成指令表的问题;同时本发明能把转化后的指令表解释执行,能结合EMC数控系统构成一套软PLC系统。
Description
技术领域
本发明涉及软PLC领域,尤其涉及一种将PLC梯形图转换成指令表并解释执行的方法。
背景技术
20世纪90年代后期,传统PLC难以构建开放的硬件体系结构、工作人员必须经过较长时间的专业培训才能掌握某一种产品的编程方法、传统PLC的生产被几家厂商所垄断等缺点已经严重制约了其发展。近年来,随着计算机技术的迅猛发展以及IEC61131国际标准的指定,软PLC技术得到迅速发展。软PLC系统基于PC机,建立在一定操作平台之上,通过软件的方法实现传统PLC的计算、控制、存储和编程功能。
梯形图和指令表都是可编程逻辑控制器的常用编程语言,它们都符合IEC61131-3标准。梯形图与电器控制系统的电路图很相似,它是在常用的继电器与接触器逻辑控制基础上简化了符号演变过来,具有直观易懂的优点,很容易被工厂电气人员掌握,特别适合用于开关量的逻辑控制。在梯形图中,左、右母线类似于继电器与接触器控制电源线,输出线圈类似于负载,输入触点类似于按钮。梯形图由若干阶级构成,自上而下排列,每个阶级起于左母线,经过触点与线圈,止于右母线。指令表编程语言是一种与汇编语言相类似的助记符编程语言,和汇编语言一样由操作码和操作数组成。指令表编程语言采用助记符来表示操作功能,具有容易记忆、便于掌握等特。与梯形图相比,指令表更接近于机器语言,更容易被软PLC系统所识别。因此,设计一个方法将图形化的梯形图转换成指令表是一个重要问题。
目前,梯形图向指令表转换的方法主要有分成两类:一类方法是直接对梯形图进行遍历扫描,并在从上到下、从左到右扫描梯形图时,若遇到并联支路,就转入与当前分支相邻的下一行开始扫描,重复地使用这种策略从而得到指令表。另一种方法是使用二叉有向图表示梯形图的逻辑关系,并用二叉树存储梯形图,通过对二叉树的一次遍历即可生成指令表。
发明内容
为了克服现有技术存在的缺点与不足,本发明提供一种将PLC梯形图转换成指令表并解释执行的方法,有效地解决梯形图的复杂串并联关系和多输出难以准确转化成指令表的问题;同时本发明能把转化后的指令表解释执行,能结合EMC数控系统构成一套软PLC系统。
为解决上述技术问题,本发明提供如下技术方案:一种将PLC梯形图转换成指令表并解释执行的方法,包括如下步骤:
S1、遍历梯形图并构造十字链表的所有顶点,根据各顶点的逻辑关系构造十字链表的弧链表,通过所有顶点和弧链表得到十字链表;
S2、利用串并联归并,化简十字链表得到包含指令间逻辑关系的二叉树结构;
S3、遍历二叉树结构得到对应的指令表;
S4、利用堆栈的先进先出原理解释指令表。
进一步地,所述步骤S1,具体为:
S11、构造StrRung结构体保存梯形图一行的信息,其中包括Element数组,该数组的元素是保存梯形图元件信息的StrElement结构体指针,然后用Rung指针数组保存每一行的StrRung结构体指针;
S12、把除导线以外的其他元件看成有向图的一个顶点,构造顶点结构StrVexNode并遍历Rung指针数组建立所有顶点,顶点结构包括一个指向二叉树节点结构StrBiNode指针;
S13、构造弧节点的数据结构并且根据各顶点的逻辑关系构造弧链表;
S14、通过所有顶点和弧链表得到十字链表。
进一步地,所述步骤S2,具体为:
S21、利用串联归并,求入度为1的顶点,由该顶点结构的firstin域得到以该顶点为弧头的第一个弧结点,由弧结点得到弧尾顶点,接着计算该弧尾顶点的出度和入度,如果弧尾顶点的出度为1且入度小于等于1,则弧尾和弧头顶点合并为一个顶点;合并时新建一个二叉树节点BiNode,把弧尾顶点所包含的二叉树节点指针赋值为BiNode的左子节点,把弧头顶点所包含的二叉树节点指针赋值为BiNode的右子节点,同时把BiNode的Operator字段赋值为枚举元素AND,然后BiNode的指针赋值给弧尾顶点的二叉树节点指针并且把弧头顶点的firstout指针赋值给弧尾顶点的firstout指针,最后释放弧头顶点的firstin弧节点和弧头顶点;
S22、利用并联归并,依次计算顶点的出度,如果顶点的出度大于1则利用firstout域把以该顶点为弧尾的所有弧结点的弧头顶点保存在temp1数组中,对于temp数组中的顶点都按照以下步骤执行,求该顶点为弧尾的第一个弧结点的弧头顶点,计算该弧头顶点的入度,如果该弧头顶点的入度大于1,则利用firstin域把以该弧头顶点为弧头的所有弧结点的弧尾顶点保存在temp2数组中,然后遍历temp1数组和temp2数组找出两个数组都包含的顶点,把这些顶点合并成一个顶点;其中,合并时:
a)先声明一个指向StrBiNode的指针pBiNode,把第一个顶点的BiNode字段赋值给pBiNode;b)然后取出下一个顶点,分配一个二叉树结构,其指针为NewBiNode,把pBiNode赋值给NewBiNode的left字段,把顶点的BiNode字段赋值给NewBiNode的right字段,赋值NewBiNode的Operator字段为枚举元素OR,把NewBiNode赋值给pNode,最后释放该顶点的firstin和firstout指针所指向内容和该顶点指针所指向内容;c)重复步骤b)直到取出所有顶点;
S23、重复步骤S21、S22,直到十字链表只剩下一个顶点,该顶点的BiNode字段为一颗包含了梯形图逻辑关系的二叉树的根节点。
进一步地,所述步骤S4,具体为:
S41、扫描物理输入并存储物理输入状态;
S42、利用堆栈原理逐行解释指令表,直到遇到END指令结束;
S43、把存储的物理输出状态更新到物理输出。
进一步地,所述步骤S42的利用堆栈原理逐行解释指令表,利用堆栈先进先出的特点来实现指令表的解释,所述指令表的解释分4种情况,包括:
(1)对于LD或LDI指令,将其操作数压入堆栈;
(2)对于OUT指令,将其操作数从堆栈中取出;
(3)对于AND、ANI、OR、ORI、ANB、ORB指令,将其对象从堆栈中取出,经过逻辑运算后存入堆栈;
(4)对于SET、RST指令,改变其操作数的状态。
采用上述技术方案后,本发明至少具有如下有益效果:
1、本发明能够准确、有效地把包含复杂逻辑关系的梯形图转换成指令表并解释执行;
2、本发明可结合EMC数控系统组成软PLC系统,软PLC系统具有开放的体系结构,可以根据用户需求合理选择硬件,节省成本。
附图说明
图1为本发明一种将PLC梯形图转换成指令表并解释执行的方法的步骤流程图;
图2为常见PLC梯形图示例;
图3为图2的PLC梯形图映射成的无环有向图示意图;
图4为根据图3无环有向图建立的十字链表;
图5为本发明一种将PLC梯形图转换成指令表并解释执行的方法中串联归并的步骤流程图;
图6为本发明一种将PLC梯形图转换成指令表并解释执行的方法中并联归并的步骤流程图;
图7为本发明一种将PLC梯形图转换成指令表并解释执行的方法的指令表解释器工作的步骤流程图;
图8为根据图2所得到的指令表。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细说明。
梯形图时由一系列图形化元件通过水平线和垂直线串并联组合而成的具有一定逻辑关系的图形表达式。如图1所示,本发明提供了一种将PLC梯形图转换成指令表并解释执行的方法,其具体步骤方法如下面详细的描述内容。
1、梯形图的数据结构
梯形图时由图符构成的,在梯形图编辑部分,梯形图每一行作为一个阶级,每个阶级含有n个图符,所以我们设计strRung结构体和strElement结构体作为梯形图的数据结构,以记录梯形图各元件的数据信息,strRung结构体和strElement结构体如下所示:
其中数组Element保存了阶级中所有元件,RUNG_WIDTH表示每个阶级中元件的个数,flow_end_type标志位表示是子程序结束还是整个程序结束,lineComment表示行注释字符串。
其中ele_type表示元件的类型,var_type表示变量的类型,var_num保存变量的值,source_num保存元件的值。
2、建立十字链表,如图4所示:
梯形图的数据结构存储的是各个元件的数据信息,并没有包含元件之间的串并联逻辑关系,所以需要根据梯形图建立十字链表。通过自上而下、自左而右遍历梯形图,把除了空元件和导线元件的其他元件视为十字链表的顶点,十字链表顶点的数据结构如下所示:
firstin表示指向以该顶点作为弧头的第一个弧结点,firstout表示指向以该顶点作为弧尾的弧结点。BiNode是二叉树的结点的数据结构。ele_type表示顶点对应元件的元件类型;var_type表示变量的类型;num表示顶点对应元件的标号。十字链表的顶点数据结构存储了元件的数据信息,而元件的串并联关系则通过十字链表弧结点数据结构实现,十字链表弧结点的数据结构如下所示:
tailVex表示弧尾顶点在梯形图中的位置,headVex表示弧头顶点在梯形图中的位置,headLink表示指向与此弧的弧头相同的下一条弧,tailLink表示指向与此弧弧尾相同的下一条弧。
3、建立二叉树
梯形图与指令表之间是一一对应的,通过研究发现梯形图中每个梯级的图符的逻辑关系是一种层次结构,而这种层次结构容易用数据结构中的树来表达,把每个梯级用二叉树这种结构表达后,整个梯形图就是多个二叉树的集合。二叉树结构体StrBiNode如下所示:
该结构体中,left是二叉树结点的左叶子结点指针,right是二叉树右叶子结点指针,parent是二叉树结点的父亲结点指针,Operator是用于保存逻辑关系。
因为十字链表的顶点数据结构包含了二叉树结构体指针,而十字链表的弧结点存储了梯形图的串并联逻辑关系,所以我们可以通过化简十字链表来建立二叉树,其步骤如下所示:
1)串联归并,以图2所示的PLC梯形图为例,其映射的无环有向图如图3所示,依次计算十字链表顶点的入度,顶点X2的入度为1,由该顶点结构的firstin域得到以该顶点为弧头的第一个弧节点,由弧节点得到弧尾顶点X1,接着计算该弧尾顶点X1的出度和入度,因为弧尾顶点的出度为1且入度小于等于1,则弧尾顶点X1和弧头顶点X2可以合并为一个顶点;其中,串联归并的步骤流程图如图5所示。
2)并联归并,依次计算顶点的出度,如果顶点的出度大于1则利用firstout域把以该顶点为弧尾的所有弧结点的弧头顶点保存在temp1数组中,对于temp数组中的顶点都按照以下步骤执行,求该顶点为弧尾的第一个弧结点的弧头顶点,计算该弧头顶点的入度,如果该弧头顶点的入度大于1,则利用firstin域把以该弧头顶点为弧头的所有弧结点的弧尾顶点保存在temp2数组中,然后遍历temp1数组和temp2数组找出两个数组都包含的顶点,合并时a)先声明一个指向StrBiNode的指针pBiNode,把第一个顶点的BiNode字段赋值给pBiNode,b)然后取出下一个顶点,分配一个二叉树结构,其指针为NewBiNode,把pBiNode赋值给NewBiNode的left字段,把顶点的BiNode字段赋值给NewBiNode的right字段,赋值NewBiNode的Operator字段为枚举元素OR,把NewBiNode赋值给pNode,最后释放该顶点的firstin和firstout指针所指向内容和该顶点指针所指向内容,c)重复步骤b)直到取出所有顶点。并联归并的步骤流程图如图6所示;
3)重复步骤1)和步骤2)直到十字链表只剩下一个顶点,该顶点的BiNode字段为一颗包含了梯形图逻辑关系的二叉树的根节点。
通过后序遍历所建立的二叉树即可得到如图8所示的指令表。
3、指令表解释器
本发明是利用堆栈来实现逻辑运算的解释,堆栈是一种先进先出的线性表,即先进去的元素最后才出来,我们将利用堆栈此特点来解释指令表。我们可以将指令表的指令码大致分成4类,如下所示:
1)将其操作数存入堆栈,例如:LD、LDI等;
2)将其操作数从堆栈中取出,例如:OUT;
3)将其对象从堆栈中取出,经过逻辑运算后存入堆栈,例如:AND、ANI、OR、ORI、ANB、ORB等;
4)改变其操作数的状态,例如:SET、RST等。
如图7所示,解释指令表时,我们先扫描所有物理输入并存储所有物理输入的状态,然后逐行解释指令表,按照以上4类情况操作堆栈,直到遇到END指令结束,最后把存储的输出状态更新到物理输出。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解的是,在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种等效的变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。
Claims (5)
1.一种将PLC梯形图转换成指令表并解释执行的方法,其特征在于,包括如下步骤:
S1、遍历梯形图并构造十字链表的所有顶点,根据各顶点的逻辑关系构造十字链表的弧链表,通过所有顶点和弧链表得到十字链表;
S2、利用串并联归并,化简十字链表得到包含指令间逻辑关系的二叉树结构;
S3、遍历二叉树结构得到对应的指令表;
S4、利用堆栈的先进先出原理解释指令表。
2.根据权利要求1所述的一种将PLC梯形图转换成指令表并解释执行的方法,其特征在于,所述步骤S1,具体为:
S11、构造StrRung结构体保存梯形图一行的信息,其中包括Element数组,该数组的元素是保存梯形图元件信息的StrElement结构体指针,然后用Rung指针数组保存每一行的StrRung结构体指针;
S12、把除导线以外的其他元件看成有向图的一个顶点,构造顶点结构StrVexNode并遍历Rung指针数组建立所有顶点,顶点结构包括一个指向二叉树节点结构StrBiNode指针;
S13、构造弧节点的数据结构并且根据各顶点的逻辑关系构造弧链表;
S14、通过所有顶点和弧链表得到十字链表。
3.根据权利要求1所述的一种将PLC梯形图转换成指令表并解释执行的方法,其特征在于,所述步骤S2,具体为:
S21、利用串联归并,求入度为1的顶点,由该顶点结构的firstin域得到以该顶点为弧头的第一个弧结点,由弧结点得到弧尾顶点,接着计算该弧尾顶点的出度和入度,如果弧尾顶点的出度为1且入度小于等于1,则弧尾和弧头顶点合并为一个顶点;合并时新建一个二叉树节点BiNode,把弧尾顶点所包含的二叉树节点指针赋值为BiNode的左子节点,把弧头顶点所包含的二叉树节点指针赋值为BiNode的右子节点,同时把BiNode的Operator字段赋值为枚举元素AND,然后BiNode的指针赋值给弧尾顶点的二叉树节点指针并且把弧头顶点的firstout指针赋值给弧尾顶点的firstout指针,最后释放弧头顶点的firstin弧节点和弧头顶点;
S22、利用并联归并,依次计算顶点的出度,如果顶点的出度大于1则利用firstout域把以该顶点为弧尾的所有弧结点的弧头顶点保存在temp1数组中,对于temp数组中的顶点都按照以下步骤执行,求该顶点为弧尾的第一个弧结点的弧头顶点,计算该弧头顶点的入度,如果该弧头顶点的入度大于1,则利用firstin域把以该弧头顶点为弧头的所有弧结点的弧尾顶点保存在temp2数组中,然后遍历temp1数组和temp2数组找出两个数组都包含的顶点,把这些顶点合并成一个顶点;其中,合并时:
a)先声明一个指向StrBiNode的指针pBiNode,把第一个顶点的BiNode字段赋值给pBiNode;b)然后取出下一个顶点,分配一个二叉树结构,其指针为NewBiNode,把pBiNode赋值给NewBiNode的left字段,把顶点的BiNode字段赋值给NewBiNode的right字段,赋值NewBiNode的Operator字段为枚举元素OR,把NewBiNode赋值给pNode,最后释放该顶点的firstin和firstout指针所指向内容和该顶点指针所指向内容;c)重复步骤b)直到取出所有顶点;
S23、重复步骤S21、S22,直到十字链表只剩下一个顶点,该顶点的BiNode字段为一颗包含了梯形图逻辑关系的二叉树的根节点。
4.根据权利要求1所述的一种将PLC梯形图转换成指令表并解释执行的方法,其特征在于,所述步骤S4,具体为:
S41、扫描物理输入并存储物理输入状态;
S42、利用堆栈原理逐行解释指令表,直到遇到END指令结束;
S43、把存储的物理输出状态更新到物理输出。
5.根据权利要求4所述的一种将PLC梯形图转换成指令表并解释执行的方法,其特征在于,所述步骤S42的利用堆栈原理逐行解释指令表,利用堆栈先进先出的特点来实现指令表的解释,所述指令表的解释分4种情况,包括:
(1)对于LD或LDI指令,将其操作数压入堆栈;
(2)对于OUT指令,将其操作数从堆栈中取出;
(3)对于AND、ANI、OR、ORI、ANB、ORB指令,将其对象从堆栈中取出,经过逻辑运算后存入堆栈;
(4)对于SET、RST指令,改变其操作数的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710338944.3A CN107193534B (zh) | 2017-05-15 | 2017-05-15 | 一种将plc梯形图转换成指令表并解释执行的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710338944.3A CN107193534B (zh) | 2017-05-15 | 2017-05-15 | 一种将plc梯形图转换成指令表并解释执行的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107193534A true CN107193534A (zh) | 2017-09-22 |
CN107193534B CN107193534B (zh) | 2020-05-22 |
Family
ID=59872398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710338944.3A Expired - Fee Related CN107193534B (zh) | 2017-05-15 | 2017-05-15 | 一种将plc梯形图转换成指令表并解释执行的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107193534B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595208A (zh) * | 2017-12-30 | 2018-09-28 | 北京联合大学 | 一种可处理函数顶点的梯形图转换成指令序列的方法 |
CN108614515A (zh) * | 2018-06-19 | 2018-10-02 | 四川中烟工业有限责任公司 | 一种基于物流生产线控制的plc梯形图到指令表的转换方法 |
CN109960186A (zh) * | 2017-12-25 | 2019-07-02 | 北京创昱科技有限公司 | 控制流程的处理方法、装置、电子设备和存储介质 |
CN113568365A (zh) * | 2021-09-22 | 2021-10-29 | 蘑菇物联技术(深圳)有限公司 | 控制工业控制器的方法、计算设备和计算机存储介质 |
CN113625661A (zh) * | 2021-07-29 | 2021-11-09 | 广东工贸职业技术学院 | 一种数控内嵌plc中间文件转化指令表的设计方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364098A (zh) * | 2008-09-12 | 2009-02-11 | 南京航空航天大学 | 一种将梯形图转换为指令表程序及解释执行的方法与系统 |
US20090083719A1 (en) * | 2007-09-20 | 2009-03-26 | Delta Electronics, Inc. | Method of compiling machine code program for programmable logic controller |
KR100915661B1 (ko) * | 2007-08-17 | 2009-09-04 | 주식회사 마이다스엔지니어링 | 피엘씨 데이터 관리 시스템 및 방법 |
CN102736552A (zh) * | 2012-07-01 | 2012-10-17 | 西北工业大学 | 一种应用于plc开发的梯形图转换为语句表的方法 |
CN101957745B (zh) * | 2009-07-16 | 2013-04-17 | 沈阳高精数控技术有限公司 | 梯形图语言转换为结构文本语言的方法 |
CN104317631A (zh) * | 2014-10-24 | 2015-01-28 | 湖南先步信息股份有限公司 | 语句表到梯形图的转换方法 |
-
2017
- 2017-05-15 CN CN201710338944.3A patent/CN107193534B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100915661B1 (ko) * | 2007-08-17 | 2009-09-04 | 주식회사 마이다스엔지니어링 | 피엘씨 데이터 관리 시스템 및 방법 |
US20090083719A1 (en) * | 2007-09-20 | 2009-03-26 | Delta Electronics, Inc. | Method of compiling machine code program for programmable logic controller |
CN101364098A (zh) * | 2008-09-12 | 2009-02-11 | 南京航空航天大学 | 一种将梯形图转换为指令表程序及解释执行的方法与系统 |
CN101957745B (zh) * | 2009-07-16 | 2013-04-17 | 沈阳高精数控技术有限公司 | 梯形图语言转换为结构文本语言的方法 |
CN102736552A (zh) * | 2012-07-01 | 2012-10-17 | 西北工业大学 | 一种应用于plc开发的梯形图转换为语句表的方法 |
CN104317631A (zh) * | 2014-10-24 | 2015-01-28 | 湖南先步信息股份有限公司 | 语句表到梯形图的转换方法 |
Non-Patent Citations (2)
Title |
---|
傅亮等: "基于串并联归并的PLC梯形图向指令表转换算法", 《计算机工程与应用》 * |
阳俊将等: "关于PLC梯形图到指令表转换算法的研究", <<信息技术>> * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109960186A (zh) * | 2017-12-25 | 2019-07-02 | 北京创昱科技有限公司 | 控制流程的处理方法、装置、电子设备和存储介质 |
CN109960186B (zh) * | 2017-12-25 | 2022-01-07 | 紫石能源有限公司 | 控制流程的处理方法、装置、电子设备和存储介质 |
CN108595208A (zh) * | 2017-12-30 | 2018-09-28 | 北京联合大学 | 一种可处理函数顶点的梯形图转换成指令序列的方法 |
CN108614515A (zh) * | 2018-06-19 | 2018-10-02 | 四川中烟工业有限责任公司 | 一种基于物流生产线控制的plc梯形图到指令表的转换方法 |
CN108614515B (zh) * | 2018-06-19 | 2020-01-31 | 四川中烟工业有限责任公司 | 一种基于物流生产线控制的plc梯形图到指令表的转换方法 |
CN113625661A (zh) * | 2021-07-29 | 2021-11-09 | 广东工贸职业技术学院 | 一种数控内嵌plc中间文件转化指令表的设计方法 |
CN113568365A (zh) * | 2021-09-22 | 2021-10-29 | 蘑菇物联技术(深圳)有限公司 | 控制工业控制器的方法、计算设备和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107193534B (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193534A (zh) | 一种将plc梯形图转换成指令表并解释执行的方法 | |
CN110825375B (zh) | 一种量子程序的转化方法、装置、存储介质和电子装置 | |
US5504902A (en) | Multi-language generation of control program for an industrial controller | |
US9395889B1 (en) | Identification of semantically relevant concepts in a graphical model | |
US8539443B2 (en) | Edit time analyzer in a loosely typed textual language | |
CN101364098B (zh) | 一种将梯形图转换为指令表程序及解释执行的方法与系统 | |
CN103259718B (zh) | 一种流表转换方法和装置 | |
CN106528142A (zh) | 树状组合式指令实物化编程方法、应用和实物化编程模块 | |
CN102915242A (zh) | 一种利用图形化操作实现代码编程的方法 | |
WO2020037906A1 (zh) | 一种hmi组态软件脚本编辑方法 | |
JP3819639B2 (ja) | プログラミング装置 | |
JPS62229343A (ja) | プログラム・カウンタ表示方式 | |
CN113238744A (zh) | 一种基于流程图结构的图形化编程方法 | |
CN107295810B (zh) | 工程设计工具 | |
CN104656543A (zh) | 一种plc梯形图矩阵编辑显示方法 | |
CN102736552A (zh) | 一种应用于plc开发的梯形图转换为语句表的方法 | |
Kaneko | A Feynman-graph generator for any order of coupling constants | |
WO2023051832A1 (zh) | 构造组合函数块的方法及装置、组合函数块、存储介质 | |
WO2021068840A1 (zh) | 一种异构嵌入式表格化处理及执行动作流程的方法和装置 | |
CN102736551B (zh) | 一种plc梯形图代码软解题方法 | |
CN113254006A (zh) | 机器人交互的方法、系统、装置、电子设备以及存储介质 | |
TWI336852B (en) | Method for editing plc program | |
Barbosa et al. | A behavior tree designing tool for online evaluation | |
CN102117263B (zh) | 基于电子表格的图论分析装置及方法 | |
CN114347039B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200522 |
|
CF01 | Termination of patent right due to non-payment of annual fee |