[发明专利]PLC梯形图IL指令表生成方法在审
申请号: | 201410084101.1 | 申请日: | 2014-03-07 |
公开(公告)号: | CN103942081A | 公开(公告)日: | 2014-07-23 |
发明(设计)人: | 李松;莫广锋;张翰 | 申请(专利权)人: | 东莞市升力智能科技有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京信慧永光知识产权代理有限责任公司 11290 | 代理人: | 周详 |
地址: | 523808 广东省东莞市松山湖高新技术*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | plc 梯形 il 指令 生成 方法 | ||
1.一种PLC梯形图IL指令表生成方法,其特征在于包括以下步骤:
1)首先,通过分级算法对PLC梯形图进行第一层分级、分类处理;
2)接着,进行第二层分网络处理,进入每一级PLC梯形图的IL指令表转换过程后,通过子PLC梯形图编译算法对该级PLC梯形图按网络顺序进行IL指令表转换处理;
3)最后,进行第三层分行处理,对该网络每一行的图元进行遍历并进行IL指令表转换处理,生成IL指令表。
2.根据权利要求1所述的PLC梯形图IL指令表生成方法,其特征在于:在进行第一层分级处理时,分别对第一级PLC梯形图,第二级PLC梯形图和子程序PLC梯形图的程序进行IL指令表转换处理,并在每一级程序完成转换后添加相应的程序结束标志。
3.根据权利要求1所述的PLC梯形图IL指令表生成方法,其特征在于,第二层分网络处理具体过程如下:
1)清空IL语言存放容器;
2)遍历子PLC梯形图的网络;
3)对该级PLC梯形图的所有网络进行IL语言转换处理,当遇到被注释的网络时,则跳过该网络进入下一个网络,否则对该网络进行转换预处理,网络通过预处理后再进行IL语言转换处理;
4)预处理过程中若遇到网络为空、网络断路、网络短路或者网络重叠的情况,处理机制会对出错的情况进行相应的报错处理,并跳过该网络的IL转换过程;
5)网络通过预处理后,IL语言转换处理机制会先对该网络进行检测,判断该网络属于单行还是多行网络,若为单行网络,则调用单行网络转换算法进行IL语言转换处理,否则调用多行网络转换算法进行IL语言转换处理;
6)转换成功后,返回子PLC梯形图的转换结果。
4.根据权利要求3所述的PLC梯形图IL指令表生成方法,其特征在于,对于单行网络IL指令表,按照以下方法进行处理:
1)遍历该网络的图元;
2)当遇到标记指令时,对LBL指令进行特殊处理;
3)检测该行是否有效,若无效则进行相应的报错处理;
4)将网络的行图元转换成IL语言,其中首个输入图元按“LD或LDI+图元寄存器地址”的形式进行转换,其余输入图元按“AND或ANI+图元寄存器地址”的形式进行转换,输出图元按“图元指令名+图元参数”的形式进行转换。
5.根据权利要求3所述的PLC梯形图IL指令表生成方法,其特征在于,对于多行网络IL指令表,按照以下方法进行处理:
1)进入多行网络编译处理过程后,首先进行初始化设置;
2)按从下往上,从左往右的顺序遍历网络的行数组,定义出该网络的输出模块,并将网络的剩余部分定义为输入模块;
3)分别递归调用输入模块的IL指令表转换算法和输出模块的IL指令表转换算法对输入块和输出块进行处理,直到输入模块和输出模块都被分割为单行网络并转换为相应的IL指令表。
6.根据权利要求5所述的PLC梯形图IL指令表生成方法,其特征在于,输入模块的IL指令表转换算法包括以下步骤:
1)对输入块进行行块划分,通过输入块行块划分算法将输入块按照行块划分规则划分,并入栈。
2)遍历行块,分第一行块和非第一行块进行处理;
3)所有行块处理完成后,则结束输入块转换处理过程。
7.据权利要求6所述的PLC梯形图IL指令表生成方法,其特征在于,第一行块处理过程如下:首先检测行块是否为单行,若为单行则通过查错后利用单行转换算法进行转换;否则通过输入块列块划分算法对行块进行列块划分,并递归调用输入模块的IL指令表转换算法对划分出的列块进行处理;对于非第一列块,在进行递归处理后需添加“ANB”标志。
8.据权利要求6所述的PLC梯形图IL指令表生成方法,其特征在于,非第一行块处理过程如下:首先检测行块是否为单行,若为单行,则通过查错后检测该行的节点数量,数量为1时将该行转换为“OR strName”,数量大于1时利用单行转换算法进行转换;否则对行块进行列块划分,并递归调用输入块处理算法对划分出的列块进行处理;对于非第一列块,在进行递归处理后需添 加“ANB”标志;每次行块处理完成后需添加“ORB”标志。
9.根据权利要求5所述的PLC梯形图IL指令表生成方法,其特征在于,输出模块的IL指令表转换方法包括以下步骤:
(1)进入输出块处理过程后,先对参数进行初始化设置;
(2)检测输出块是否有输出图元,若没有,则进行报错处理;
(3)检测输出块是否包含输入图元,若没有,则遍历行图元,并将输出图元转换为相应的IL语言并返回,否则对输出块进行块划分;
(4)遍历行块,添加相应的栈位置标记,并检测该行块是否包含输入图元,若有,则递归调用网络处理算法将该行块当成新的网络进行处理,否则递归调用输出模块的IL指令表转换算法进行处理;
(5)直到遍历完行块,输出块处理过程结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东莞市升力智能科技有限公司,未经东莞市升力智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410084101.1/1.html,转载请声明来源钻瓜专利网。