[发明专利]一种基于PLC梯形图矩阵编译解释方法有效
| 申请号: | 201510114158.6 | 申请日: | 2015-03-17 |
| 公开(公告)号: | CN104820393B | 公开(公告)日: | 2017-06-23 |
| 发明(设计)人: | 国庆利;陈江 | 申请(专利权)人: | 浪潮集团有限公司 |
| 主分类号: | G05B19/05 | 分类号: | G05B19/05 |
| 代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 张靖 |
| 地址: | 250100 山东*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 plc 梯形 矩阵 编译 解释 方法 | ||
技术领域
本发明涉及计算机技术领域,具体涉及一种基于PLC梯形图矩阵编译解释方法。
背景技术
传统PLC梯形图编译和解释方法,采用指令表语言(IL)作为中间接口,指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。
编译过程:是将梯形图语言编译成IL语言,一般采用矩阵解析法,矩阵解析法一般分为两步转化为IL语言。第一步,生成以数学公式为原型的一级代码,一级代码表示了梯形图各个元素之间的关系。第二步,根据数学公式生成二级代码,二级代码是一种面向累加器的语言,它的每一个指令都会用到或者是更改累加器的内容。指令是自上而下逐行执行的,二级代码指令由一序列指令组成。每条指令应在新的一行开始,并应包含一个操作符,一个操作数。指令都是单操作数指令。
解释过程:二级代码下载到下层CPU解释执行。首先把二级代码指令转化为一系列由0和1组成的二进制码。然后根据二进制码建立指令索引表,根据指令索引表编写解释程序。最后将转化成二进制码的二级代码根据指令索引表解释执行。
缺点1:编译过程复杂,效率低。由梯形图语言,转化成二级代码需要经过两步,每一步都需要CPU进行复杂的运算方可完成。一个最简单的梯形图(一个输入+一个输出),编译完成需要0.5s左右,加上变量扫描,语法检查等。编译完大约需要2s左右。大型的工程文件需要更长的时间。并且编译过程复杂容易出错。
缺点2:解释过程需要将二级代码翻译成二进制码,然后根据指令索引表进行解释执行。二级代码翻译成二进制码过程复杂,并且需要根据索引表才能解释。下层CPU资源有限,翻译过程占用了宝贵的CPU资源。造成资源紧张,并且由于复杂的翻译过程,造成程序实现困难,故障点增多。
发明内容
本发明要解决的技术问题是:本发明为了克服上述技术问题的缺点,提供了一种PLC梯形图矩阵编译解释方法,实现了梯形图编译及解释的简单化、高效化和低故障点,编译时间大大减小。解释过程无需翻译二级代码,大大提高了执行效率。
本发明所采用的技术方案为:
一种基于PLC梯形图矩阵编译解释方法,所述方法直接对梯形图进行矩阵运算,而不进行IL语言转换及解释。
所述方法包括过程编译过程和解释过程,其中:
编译过程:在梯形图编辑过程中,所使用的每一个元素为一个图块,梯形图文件中的每个图块对应了一个数据结构,该数据结构储存该图块的信息,不同类型的图块按照一定的规则建立连接后组成了梯形图文件中的一个网络,而多个网络又组成了一个完整的梯形图文件;梯形图文件里的元素是以矩阵的形式存在的,每个梯形图相当于一个矩阵,矩阵里的每个元素有上、下、左和右四种连接关系,分别表示为TOP、BOTTOM、LEFT、RIGHT;如果该元素有左连接,则LEFT=1,如果有右连接则RIGHT=1,如果有上连接则TOP=1,如果有下连接则BOTTOM=1;上下连接表示元素右边的上下连接,左边的上下连接由前面的元素表示;矩阵编译方式不考虑梯形图的逻辑关系,只考虑梯形图元素之间的连接;所有元素以二维数组的方式组成矩阵,并且元素之间的连接关系已经确定,编译扫描过程只需要根据元素的连接关系,生成简单的元素表,以XML格式进行编码;
解释过程:根据编译后生成XML格式文件,将XML格式文件还原成梯形图矩阵,然后进行运算过程,直接对梯形图矩阵中的元素按照从上到下,从左到右的顺序进行扫描,并根据每个元素的功能码进行运算,输出=FUN,然后根据元素间的连接关系,将所有输出结果进行合并输出。
所述方法的具体操作步骤为:
1)建立一个PLC梯形图;
2)PLC梯形图按照矩阵方式编辑后生成二维数组;
3)矩阵里元素的连接关系为:如果元素左边有连接的元素或者线,则LEFT=1;如果元素右边有连接元素或者线,则RIGHT=1;如果元素上面有连接元素或者线,则TOP=1,其中,矩阵第一列的所有元素TOP均为0;如果元素下面有连接的元素或者线,则BOTTOM=1,其中,矩阵最后一列的所有元素BOTTOM均为0;
4)根据逻辑关系生成XML文件;
5)根据XML文件生成二维数组,XML文件里已经包含了二维数组的所有内容,包括下标;
然后对二维数组按列进行扫描运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团有限公司,未经浪潮集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510114158.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种三维焊接机器人混合控制方法
- 下一篇:一种基于USB供电接口的智能电源





