一种基于物流生产线控制的PLC梯形图到指令表的转换方法技术

技术编号:19098003 阅读:32 留言:0更新日期:2018-10-03 02:27
本发明专利技术公开了一种基于物流生产线控制的PLC梯形图到指令表的转换方法,包括:步骤S1:将采用双向链表存储梯形图信息,将双向链表抽象出AOV图中顶点信息和弧节点信息,映射成AOV图;步骤S2:采用阶梯快速扫描对AOV图构建逻辑树;步骤S3:对逻辑树的逻辑节点进行删除合并后进行遍历,生成指令表;步骤S4:输出所述指令表。本发明专利技术采用双向链表来存储梯形图图元,便于将梯形图映射为AOV图,采用阶梯快速扫描对AOV图构建逻辑树,减少重复,加快扫描速度,提高转化效率,在遍历逻辑树之前,对于逻辑节点进行了删除,对AOV图进行简化处理,可以进一步加快扫描速度。

【技术实现步骤摘要】
一种基于物流生产线控制的PLC梯形图到指令表的转换方法
本专利技术涉及PLC
,具体的说,是一种基于物流生产线控制的PLC梯形图到指令表的转换方法。
技术介绍
物流生产线工业生产中重要组成部分,物流生产线通常采有PLC(可编程控制器)进行控制,PLC通常有五种语言,其中梯形图和指令表是最常用的两种语言。PLC在生成目标代码给物流生产线执行前,需要完成梯形图到指令表准换。往往会遇到大的和复杂的梯形图程序时候,转换效率低下,程序编译延迟,对控制的实时性遭到影响。
技术实现思路
本专利技术的目的在于提供一种基于物流生产线控制的PLC梯形图到指令表的转换方法,用于解决现有技术中复杂的梯形图转换为指令表时,转换效率低下,变异程序延迟的问题。本专利技术通过下述技术方案解决上述问题:一种基于物流生产线控制的PLC梯形图到指令表的转换方法,包括:步骤S1:将梯形图映射成AOV图;步骤S2:根据所述AOV图构建逻辑树;步骤S3:对所述逻辑树进行遍历,生成指令表;步骤S4:输出所述指令表。优选地,所述步骤S1具体包括:步骤S11:建立用于记录编辑过程中的梯形图信息的双向链表,所述编辑过程中的梯形图信息包括由图元组成的行以及行与行之间的关系;步骤S12:确定顶点信息,所述顶点信息包括顶点编号、顶点位置、顶点数目、顶点弧头、顶点弧尾、顶点类型和链接信息;步骤S13:确定每一个顶点的直接前驱和直接后继;步骤S14:由步骤S13确定的顶点、顶点的直接前驱和直接后继,构建完整的AOV图。优选地,所述双向链表包括A双向链表和B双向链表,所述A双向链表用于存储梯形图中每一行的图元,所述B双向链表用于存储梯形图行与行之间的关系。优选地,所述A双向链表包括用于存储梯形图图元的基本单元以及用于将基本单元连接起来的前驱指针和后驱指针。优选地,所述B双向链表包括向上指针、向下指针和向右指针,所述向右指针用于链接所述A双向链表中的基本单元,所述向上指针、向下指针用于不同的B双向链表之间的链接。优选地,所述步骤S12具体包括:把梯形图的图元确定为顶点,把图元之间的链接线段看作弧,按照从左到右、从上到下的顺序依次扫描梯形图,即可以确定顶点信息。优选地,所述步骤S13具体包括按照顶点编号依次确定每一个顶点的直接前驱和直接后继,确定每个顶点的直接前驱和直接后继的步骤包括:步骤A1:先判断当前顶点的虚实,如果是实顶点,则跳到步骤A2;如果是虚顶点,则跳到步骤A3;步骤A2:停止扫描,确定当前顶点为直接前驱,跳到步骤A4;步骤A3:向左扫描,如果找到实顶点,则该实顶点为当前顶点的直接前驱;如果遇到并联分支或者节点则停止扫描,确定当前顶点为直接前驱,跳到步骤A5;步骤A4:向右扫描,找到下一个实顶点,则此实顶点为当前顶点的直接后继;步骤A5:向右扫描,直到查找到实顶点,则此实顶点为当前顶点的直接后继。优选地,所述步骤S2具体包括:步骤B1:将顶点数目赋值给变量,通过for循环遍历顶点,得到顶点的入度;步骤B2:再做for循环遍历顶点的后继节点,建立一个顶点的单链表;步骤B3:按照步骤B2的方法依次建立每个顶点的单链表,建立梯形图的邻接表;步骤B4:将顶点数目赋值给变量,通过for循环遍历邻接表,得到顶点的出度信息;步骤B5:采用阶梯快速扫描,对AOV图构建逻辑树。优选地,所述步骤B5具体包括:以入度为零的虚顶点作为起始点,从左到右扫描,如果遇到分支,先扫描向后直接相连的分支,扫描完成以后返回分支点扫描向下的分支,扫描完成以后返回分支点扫描向上的分支,扫描完成后建立第一个阶梯的树结构;重复执行不同阶梯的扫描最终构建一个树结构。优选地,所述步骤S3具体包括:依次判断逻辑树上的每个逻辑节点,如果逻辑节点的类型与其父节点类型相同,则将逻辑节点的孩子节点直接追加为其父节点的孩子节点,并删除该逻辑节点;采用for循环访问根节点,按照从左到右的次序先遍历根节点的每棵子树,如果遍历到子节点,判断子节点对应的元件是输入还是输出,若为输入再判断是否为父节点的第一个子节点,若是,则生成LD语句或者LDN语句,否则,生成与语句或者或语句;如果对应元件为输出,则生成OUT语句。本专利技术与现有技术相比,具有以下优点及有益效果:(1)本专利技术采用阶梯快速扫描对AOV图构建逻辑树,入度为零的虚顶点作为起始点的节点即母线开始从左到右扫描,如果遇到分支,先扫描向后直接相连的分支,扫描完成以后返回分支点扫描向下或者向上的分支,扫描完成后建立第一个阶梯的树结构。重复执行不同阶梯的扫描最终构建一个树结构,减少重复,加快扫描速度,提高转化效率。(2)建立适合动态编辑的双向链表存储编辑过程的梯形图,可以把梯形图每个图元存储到双向链表的数据中,前后关系存储到指针域,行与行之间的数据交换也通过双向链表进行链接起来,利用编程的方法可以将双向链表抽象出AOV图中顶点信息和弧节点信息,在类的描述中有头顶点,尾顶点的编号,顶点所在的行,列以及顶点弧头和弧尾等信息,因此可通过从左到右,从上到下的扫描顶点数目等信息,得到顶点数目的确定和顶点直接前驱和直接后继的相关信息,就可以构建AOV图。(3)由于遍历逻辑树之前,对于逻辑节点进行了删除,对AOV图进行简化处理,可以进一步加快扫描速度。附图说明图1为本专利技术中双向链表的结构图;图2为本专利技术具体实施方式采用的实例梯形图;图3为图2中梯形图映射的AOV图;图4为本专利技术中构建的逻辑树。具体实施方式下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。实施例1:一种基于物流生产线控制的PLC梯形图到指令表的转换方法,包括:建立梯形图向AOV图的映射,梯形图如图2所示,首先建立用于存储编辑过程中的梯形图的双向链表,梯形图是动态编辑的过程,需要修改和查找等操作,而双向链表适合动态编辑。如图1所示,双向链表每个节点有后继指针和前驱指针,且后继指针和前驱指针各自构建自己的循环链的链表。因此,可以把梯形图每个图元存储到双向链表的数据中,将图元的前后关系存储到指针域,这样每行梯形图就存储起来,梯形图行与行之间的数据交换也可通过双向链表进行链接起来;其次,利用编程的方法从双向链表中可以抽象出AOV图中顶点信息和弧节点信息,在类的描述中有头顶点,尾顶点的编号,顶点所在的行,列以及顶点弧头和弧尾等相关信息,因此可通过从程序的起点从左到右,从上到下的扫描顶点数目等信息;再次,确定顶点的直接前驱和直接后继,在扫描中首先判断顶点的虚实,如果是实顶点则停止扫描,该顶点为直接前驱,如果是虚顶点继续向左扫描,直到找到实顶点为止,如果遇到并联分支或者结点则停止扫描,该虚顶点为直接前驱。直接后继的判断,若当前顶点为实顶点,向右扫描存在实节点,则此顶点为直接后继:当前顶点为虚顶点,向右方向查找到有效顶点,则此有效顶点为当前顶点的直接后继;最后,经过扫描得到顶点数目的确定和顶点直接前驱和直接后继的相关信息,就可以构建AOV图,如图3所示。根据AOV图构建逻辑树,首先采用邻接表存储梯形图映射成的AOV图:将顶点数目赋值给变量,通过for循环遍历顶点,得到顶点的入度,再做for循环遍历顶点的后继节点,建立一个顶点的单链表,其次重复执行建立每个顶点的单链表,建立梯形图的邻接表,最后再做一个for循环得到顶点的本文档来自技高网...

【技术保护点】
1.一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,包括:步骤S1:将梯形图映射成AOV图;步骤S2:根据所述AOV图构建逻辑树;步骤S3:对所述逻辑树进行遍历,生成指令表;步骤S4:输出所述指令表。

【技术特征摘要】
1.一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,包括:步骤S1:将梯形图映射成AOV图;步骤S2:根据所述AOV图构建逻辑树;步骤S3:对所述逻辑树进行遍历,生成指令表;步骤S4:输出所述指令表。2.根据权利要求1所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述步骤S1具体包括:步骤S11:建立用于记录编辑过程中的梯形图信息的双向链表,所述编辑过程中的梯形图信息包括由图元组成的行以及行与行之间的关系;步骤S12:确定顶点信息,所述顶点信息包括顶点编号、顶点位置、顶点数目、顶点弧头、顶点弧尾、顶点类型和链接信息;步骤S13:确定每一个顶点的直接前驱和直接后继;步骤S14:由步骤S13确定的顶点、顶点的直接前驱和直接后继,构建完整的AOV图。3.根据权利要求2所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述双向链表包括A双向链表和B双向链表,所述A双向链表用于存储梯形图中每一行的图元,所述B双向链表用于存储梯形图行与行之间的关系。4.根据权利要求3所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述A双向链表包括用于存储梯形图图元的基本单元以及用于将基本单元连接起来的前驱指针和后驱指针。5.根据权利要求4所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述B双向链表包括向上指针、向下指针和向右指针,所述向右指针用于链接所述A双向链表中的基本单元,所述向上指针、向下指针用于不同的B双向链表之间的链接。6.根据权利要求2所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述步骤S12具体包括:把梯形图的图元确定为顶点,把图元之间的链接线段看作弧,按照从左到右、从上到下的顺序依次扫描梯形图,即可以确定顶点信息。7.根据权利要求6所述的一种基于物流生产线控制的PLC梯形图到指令表的转换方法,其特征在于,所述步骤S13具体包括按照顶点编号依次确定每一个顶点的直接前驱和直接后继,确定每个顶点的直接前驱和直接后继...

【专利技术属性】
技术研发人员:张宝魏东梅李学敏杨涛陶栩卓亮庞毅飞张婧卞长智李欣朋
申请(专利权)人:四川中烟工业有限责任公司西南科技大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1