[发明专利]一种基于物流生产线控制的PLC梯形图到指令表的转换方法有效
申请号: | 201810628722.X | 申请日: | 2018-06-19 |
公开(公告)号: | CN108614515B | 公开(公告)日: | 2020-01-31 |
发明(设计)人: | 张宝;魏东梅;李学敏;杨涛;陶栩;卓亮;庞毅飞;张婧;卞长智;李欣朋 | 申请(专利权)人: | 四川中烟工业有限责任公司;西南科技大学 |
主分类号: | G05B19/05 | 分类号: | G05B19/05 |
代理公司: | 51213 四川省成都市天策商标专利事务所 | 代理人: | 刘兴亮 |
地址: | 610000 四川省成都市龙泉*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 逻辑树 双向链表 梯形图 指令表 物流生产线 快速扫描 逻辑节点 映射 遍历 构建 删除 存储 扫描 顶点信息 简化处理 节点信息 生成指令 转化效率 转换 图元 抽象 输出 合并 重复 | ||
1.一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,包括:
步骤S1:将梯形图映射成AOV图;
所述步骤S1具体包括:
步骤S11:建立用于记录编辑过程中的梯形图信息的双向链表,所述编辑过程中的梯形图信息包括由图元组成的行以及行与行之间的关系;
步骤S12:确定顶点信息,所述顶点信息包括顶点编号、顶点位置、顶点数目、顶点弧头、顶点弧尾、顶点类型和链接信息;
所述步骤S12具体包括:把梯形图的图元确定为顶点,把图元之间的链接线段看作弧,按照从左到右、从上到下的顺序依次扫描梯形图,即可以确定顶点信息
步骤S13:确定每一个顶点的直接前驱和直接后继;
所述步骤S13具体包括按照顶点编号依次确定每一个顶点的直接前驱和直接后继,确定每个顶点的直接前驱和直接后继的步骤包括:
步骤A1:先判断当前顶点的虚实,如果是实顶点,则跳到步骤A2;如果是虚顶点,则跳到步骤A3;
步骤A2:停止扫描,确定当前顶点为直接前驱,跳到步骤A4;
步骤A3:向左扫描,如果找到实顶点,则该实顶点为当前顶点的直接前驱;如果遇到并联分支或者结点则停止扫描,确定当前顶点为直接前驱,跳到步骤A5;
步骤A4:向右扫描,找到下一个实顶点,则此实顶点为当前顶点的直接后继;
步骤A5:向右扫描,直到查找到实顶点,则此实顶点为当前顶点的直接后继
步骤S14:由步骤S13确定的顶点、顶点的直接前驱和直接后继,构建完整的AOV图;步骤S2:根据所述AOV图构建逻辑树;
步骤S3:对所述逻辑树进行遍历,生成指令表;
步骤S4:输出所述指令表。
2.根据权利要求1所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述双向链表包括A双向链表和B双向链表,所述A双向链表用于存储梯形图中每一行的图元,所述B双向链表用于存储梯形图行与行之间的关系。
3.根据权利要求2所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述A双向链表包括用于存储梯形图图元的基本单元以及用于将基本单元连接起来的前驱指针和后驱指针。
4.根据权利要求3所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述B双向链表包括向上指针、向下指针和向右指针,所述向右指针用于链接所述A双向链表中的基本单元,所述向上指针、向下指针用于不同的B双向链表之间的链接。
5.根据权利要求1-4中任意一项所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述步骤S2具体包括:
步骤B1:将顶点数目赋值给变量,通过for循环遍历顶点,得到顶点的入度;
步骤B2:再做for循环遍历顶点的后继节点,建立一个顶点的单链表;
步骤B3:按照步骤B2的方法依次建立每个顶点的单链表,建立梯形图的邻接表;
步骤B4:将顶点数目赋值给变量,通过for循环遍历邻接表,得到顶点的出度信息;
步骤B5:采用阶梯快速扫描,对AOV图构建逻辑树。
6.根据权利要求5所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述步骤B5具体包括:
以入度为零的虚顶点作为起始点,从左到右扫描,如果遇到分支,先扫描向后直接相连的分支,扫描完成以后返回分支点扫描向下的分支,扫描完成以后返回分支点扫描向上的分支,扫描完成后建立第一个阶梯的树结构;
重复执行不同阶梯的扫描最终构建一个树结构。
7.根据权利要求6所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述步骤S3具体包括:
依次判断逻辑树上的每个逻辑节点,如果逻辑节点的类型与其父节点类型相同,则将逻辑节点的孩子节点直接追加为其父节点的孩子节点,并删除该逻辑节点;
采用for循环访问根节点,按照从左到右的次序先遍历根节点的每棵子树,如果遍历到子节点,判断子节点对应的元件是输入还是输出,若为输入再判断是否为父节点的第一个子节点,若是,则生成LD语句或者LDN语句,否则,生成与语句或者或语句;如果对应元件为输出,则生成OUT语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川中烟工业有限责任公司;西南科技大学,未经四川中烟工业有限责任公司;西南科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810628722.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可扩展的可编程逻辑控制器
- 下一篇:一种虚拟PLC仿真系统及方法