[发明专利]按照IEC61131-3标准的将梯形图语言编译成指令表语言的方法无效
申请号: | 200810062554.9 | 申请日: | 2008-06-24 |
公开(公告)号: | CN101369234A | 公开(公告)日: | 2009-02-18 |
发明(设计)人: | 严义;章航平 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G05B19/05 |
代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 周烽 |
地址: | 310018浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 按照 iec61131 标准 梯形 语言 译成 指令 表语 方法 | ||
技术领域
本发明涉及工业控制语言的编译方法,特别地,涉及一种按照IEC 61131-3国际标准的将梯形图语言编译成指令表语言的方法。
背景技术
可编程逻辑控制器在当今的各行各业中具有广泛的应用。IEC 61131-3是可编程控制器编程语言的国际标准,该标准定义了四种编程语言,分别为梯形图(LD)、指令表(IL)、结构化文本(ST)及功能块图(FBD)。其中,梯形图语言是目前工业控制领域最为流行的编程语言。由于梯形图语言是一种图形化的高级语言,因此用梯形图语言编写的控制逻辑不能被可编程逻辑控制器的处理器直接执行。目前商用的可编程控制器编程平台都先将梯形图语言转换成指令表语言,再对指令表语言解释执行或将指令表语言编译成汇编语言后执行。
尽管IEC 61131-3已经被可编程控制器厂商普遍接受,但出于各种原因,目前商用可编程控制器梯形图到指令表编译软件还未能完全符合IEC61131-3标准。同时,这些平台对梯形图的功能、拓扑的连接方式等方面的支持也不一致。这造成已经存在的梯形图语言代码在更换可编程控制器平台后,移植困难,需要进行大量的修改或重写,效率低下。
发明内容
本发明的目的是针对现有技术的不足,提供一种按照IEC 61131-3标准的将梯形图语言编译成指令表语言的方法,使得梯形图的控制逻辑最终可以被可编程逻辑控制器的处理器正确执行。
本发明的目的是通过以下技术方案来实现的:一种将符合IEC 61131-3标准的梯形图语言编译成指令表语言的方法,包括如下步骤:
(1)利用有向图来表达梯形图中每个梯级的拓扑结构,形成一个有向图的集合;
(2)若某个有向图具有n个输出线圈节点,则将该有向图进行拆分为n个子有向图,其中,n大于1;
(3)根据有向图中节点之间的串并联关系,将每个有向图转化为二叉分解树。对该二叉分解树进行后序遍历,得到遍历结果符合“从上到下,从左到右”的梯形图到指令表翻译原则;
(4)依后序遍历的顺序,计算二叉分解树中规约节点的指令表,根节点的指令表就是其有向图的指令表。
本发明的有益效果是:通过按照IEC 61131-3标准的将梯形图语言编译成指令表语言的方法,使得任何符合标准规定的梯形图语言都可以转换成标准的指令表语言,方便实现梯形图程序在不同可编程控制器平台之间的移植,提高开发的效率及产品的可靠性。
附图说明
图1是数据结构转换的流程图;
图2是梯形图中复杂连接关系抽象为有向图边的示意图;
图3具有多个输出线圈的梯形图示意图;
图4为图2经转换后生成的有向图示意图;
图5为将具有多个线圈节点的有向图分解为若干子图的流程图;
图6为利用图4中的算法分解图3所示有向图的示意图;
图7为建立二叉分解树的流程图;
图8为利用图6中的算法建立图5中G1’的二叉分解树的示意图;
图9为利用图6中的算法建立图5中G4的二叉分解树的示意图;
图10为从二叉分解树得到指令表的流程图;
具体实施方式
在提供可编程逻辑控制器编程环境的软件系统中,实现按照IEC 61131-3标准的将梯形图语言编程成指令表语言的方法的实质,就是将梯形图语言的数据结构转换到指令表语言的数据结构。因此在编译过程中存在的问题,一是确定表示梯形图语言和指令表语言的合理数据结构,且该结构必须充分支持IEC61131-3对梯形图及指令表的语法定义。二是要建立一种将表示梯形图的数据结构转换为表示指令表的数据结构的方法,并确保两种结构所表达的控制逻辑完全一致。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810062554.9/2.html,转载请声明来源钻瓜专利网。