CN107193534B - 一种将plc梯形图转换成指令表并解释执行的方法 - Google Patents

一种将plc梯形图转换成指令表并解释执行的方法 Download PDF

Info

Publication number
CN107193534B
CN107193534B CN201710338944.3A CN201710338944A CN107193534B CN 107193534 B CN107193534 B CN 107193534B CN 201710338944 A CN201710338944 A CN 201710338944A CN 107193534 B CN107193534 B CN 107193534B
Authority
CN
China
Prior art keywords
vertex
arc
pointer
vertexes
binary tree
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.)
Expired - Fee Related
Application number
CN201710338944.3A
Other languages
English (en)
Other versions
CN107193534A (zh
Inventor
黄道平
何梓扬
刘少君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201710338944.3A priority Critical patent/CN107193534B/zh
Publication of CN107193534A publication Critical patent/CN107193534A/zh
Application granted granted Critical
Publication of CN107193534B publication Critical patent/CN107193534B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30163Decoding the operand specifier, e.g. specifier format with implied specifier, e.g. top of stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing 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)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种将PLC梯形图转换成指令表并解释执行的方法,首先设计保存梯形图元件信息的数据结构,并且利用数组保存每一个元件对应的数据结构的指针;同时将梯形图类比成有向图,通过遍历数组建立十字链表数据结构表示元件之间的关系,然后利用串并联归并的方法建立指令间的二叉树结构,最后通过遍历二叉树得到对应的指令表;得到指令表后,通过建立利用堆栈的先进先出原理构造的解释器解释执行。本发明能有效地解决梯形图的复杂串并联关系和多输出难以准确转化成指令表的问题;同时本发明能把转化后的指令表解释执行,能结合EMC数控系统构成一套软PLC系统。

Description

一种将PLC梯形图转换成指令表并解释执行的方法
技术领域
本发明涉及软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结构体如下所示:
Figure BDA0001294689810000041
Figure BDA0001294689810000051
其中数组Element保存了阶级中所有元件,RUNG_WIDTH表示每个阶级中元件的个数,flow_end_type标志位表示是子程序结束还是整个程序结束,lineComment表示行注释字符串。
Figure BDA0001294689810000052
其中ele_type表示元件的类型,var_type表示变量的类型,var_num保存变量的值,source_num保存元件的值。
2、建立十字链表,如图4所示:
梯形图的数据结构存储的是各个元件的数据信息,并没有包含元件之间的串并联逻辑关系,所以需要根据梯形图建立十字链表。通过自上而下、自左而右遍历梯形图,把除了空元件和导线元件的其他元件视为十字链表的顶点,十字链表顶点的数据结构如下所示:
Figure BDA0001294689810000053
firstin表示指向以该顶点作为弧头的第一个弧结点,firstout表示指向以该顶点作为弧尾的弧结点。BiNode是二叉树的结点的数据结构。ele_type表示顶点对应元件的元件类型;var_type表示变量的类型;num表示顶点对应元件的标号。十字链表的顶点数据结构存储了元件的数据信息,而元件的串并联关系则通过十字链表弧结点数据结构实现,十字链表弧结点的数据结构如下所示:
Figure BDA0001294689810000061
tailVex表示弧尾顶点在梯形图中的位置,headVex表示弧头顶点在梯形图中的位置,headLink表示指向与此弧的弧头相同的下一条弧,tailLink表示指向与此弧弧尾相同的下一条弧。
3、建立二叉树
梯形图与指令表之间是一一对应的,通过研究发现梯形图中每个梯级的图符的逻辑关系是一种层次结构,而这种层次结构容易用数据结构中的树来表达,把每个梯级用二叉树这种结构表达后,整个梯形图就是多个二叉树的集合。二叉树结构体StrBiNode如下所示:
Figure BDA0001294689810000062
该结构体中,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 (3)

1.一种将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字段为一颗包含了梯形图逻辑关系的二叉树的根节点。
2.根据权利要求1所述的一种将PLC梯形图转换成指令表并解释执行的方法,其特征在于,所述步骤S4,具体为:
S41、扫描物理输入并存储物理输入状态;
S42、利用堆栈原理逐行解释指令表,直到遇到END指令结束;
S43、把存储的物理输出状态更新到物理输出。
3.根据权利要求2所述的一种将PLC梯形图转换成指令表并解释执行的方法,其特征在于,所述步骤S42的利用堆栈原理逐行解释指令表,利用堆栈先进先出的特点来实现指令表的解释,所述指令表的解释分4种情况,包括:
(1)对于LD或LDI指令,将其操作数压入堆栈;
(2)对于OUT指令,将其操作数从堆栈中取出;
(3)对于AND、ANI、OR、ORI、ANB、ORB指令,将其对象从堆栈中取出,经过逻辑运算后存入堆栈;
(4)对于SET、RST指令,改变其操作数的状态。
CN201710338944.3A 2017-05-15 2017-05-15 一种将plc梯形图转换成指令表并解释执行的方法 Expired - Fee Related CN107193534B (zh)

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 CN107193534A (zh) 2017-09-22
CN107193534B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960186B (zh) * 2017-12-25 2022-01-07 紫石能源有限公司 控制流程的处理方法、装置、电子设备和存储介质
CN108595208B (zh) * 2017-12-30 2021-11-26 北京联合大学 一种可处理函数顶点的梯形图转换成指令序列的方法
CN108614515B (zh) * 2018-06-19 2020-01-31 四川中烟工业有限责任公司 一种基于物流生产线控制的plc梯形图到指令表的转换方法
CN113625661B (zh) * 2021-07-29 2023-07-04 广东工贸职业技术学院 一种数控内嵌plc中间文件转化指令表的设计方法
CN113568365B (zh) * 2021-09-22 2022-07-05 蘑菇物联技术(深圳)有限公司 控制工业控制器的方法、计算设备和计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364098A (zh) * 2008-09-12 2009-02-11 南京航空航天大学 一种将梯形图转换为指令表程序及解释执行的方法与系统
CN101957745B (zh) * 2009-07-16 2013-04-17 沈阳高精数控技术有限公司 梯形图语言转换为结构文本语言的方法
CN104317631A (zh) * 2014-10-24 2015-01-28 湖南先步信息股份有限公司 语句表到梯形图的转换方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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
CN102736552A (zh) * 2012-07-01 2012-10-17 西北工业大学 一种应用于plc开发的梯形图转换为语句表的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364098A (zh) * 2008-09-12 2009-02-11 南京航空航天大学 一种将梯形图转换为指令表程序及解释执行的方法与系统
CN101957745B (zh) * 2009-07-16 2013-04-17 沈阳高精数控技术有限公司 梯形图语言转换为结构文本语言的方法
CN104317631A (zh) * 2014-10-24 2015-01-28 湖南先步信息股份有限公司 语句表到梯形图的转换方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于串并联归并的PLC梯形图向指令表转换算法;傅亮等;《计算机工程与应用》;20090921;第45卷(第27期);第72-74页 *

Also Published As

Publication number Publication date
CN107193534A (zh) 2017-09-22

Similar Documents

Publication Publication Date Title
CN107193534B (zh) 一种将plc梯形图转换成指令表并解释执行的方法
CN106648662B (zh) 基于工程造价计算描述语言bcl的报表生成装置及生成方法
CN102508654B (zh) 嵌入式可编程控制器的梯形图编辑器设计方法
CN108681444A (zh) 一种基于xml技术的软plc组态开发方法
CN101369234A (zh) 按照iec 61131-3标准的将梯形图语言编译成指令表语言的方法
CN108614515B (zh) 一种基于物流生产线控制的plc梯形图到指令表的转换方法
WO2020184129A1 (ja) 解析装置、解析方法、及び解析プログラム
CN108170435A (zh) 一种源代码转换方法、装置及设备
CN104331315A (zh) 一种任意层次json对象的解析与生成方法及系统
CN104656543A (zh) 一种plc梯形图矩阵编辑显示方法
CN115562629A (zh) 一种rpa流程表示方法、系统、装置及存储介质
CN110147226A (zh) 一种根据功能块图自动生成程序的系统、方法及装置
CN102736552A (zh) 一种应用于plc开发的梯形图转换为语句表的方法
CN106200541B (zh) 一种将功能块图转换为aov结构的方法
CN110825433B (zh) 一种边缘控制设备设计方法
JP5541102B2 (ja) 言語変換装置および言語変換プログラム
CN105391595A (zh) 基于工控协议漏洞挖掘用户自定义方法
CN109358902A (zh) 一种在simatic s7-200 smart中能够快速便捷创建数组的程序
Fen et al. A transformation algorithm of ladder diagram into instruction list based on AOV digraph and binary tree
CN112180817B (zh) 一种梯形图转换二叉树的方法、装置、设备及存储介质
CN113433885A (zh) 用于plc编程系统的梯形图转换为结构化文本的方法
WO2020184085A1 (ja) グラフ表示装置、グラフ表示方法、及びグラフ表示プログラム
CN111090419B (zh) 一种基于结点入度变化的树结构可视化方法
JP5966801B2 (ja) 言語変換装置、プログラム
KR102509859B1 (ko) Plc 래더정보로부터 공용 명령어정보를 추출하는 장치 및 방법

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