一种梯形图数据结构描述及扫描解析方法技术

技术编号:9642945 阅读:145 留言:0更新日期:2014-02-07 02:11
一种梯形图数据结构描述及扫描解析方法。其方法包括:1)将引脚作为梯形图图形元素的图形属性成员,并且连接线元素包含并入、并出类型引脚;2)将父节点、子节点元素作为梯形图图形元素的模型属性成员,并且连接线元素包含水平、垂直子类型;3)采用梯形图图形元素组成的“十字链表”和“二叉树”数据结构描述和记录梯形图中所有元素的图形属性与模型属性;4)遍历“十字链表”与“二叉树”计算梯形图图形元素之间(含连接线元素)的拓扑关系;5)遍历“二叉树”计算梯形图图形元素之间(连接线元素除外)的逻辑关系。本发明专利技术在描述梯形图图形元素之间拓扑关系同时记录了逻辑关系,简化了解析算法,提高了转化成中间语言的效率。

【技术实现步骤摘要】
【专利摘要】。其方法包括:1)将引脚作为梯形图图形元素的图形属性成员,并且连接线元素包含并入、并出类型引脚;2)将父节点、子节点元素作为梯形图图形元素的模型属性成员,并且连接线元素包含水平、垂直子类型;3)采用梯形图图形元素组成的“十字链表”和“二叉树”数据结构描述和记录梯形图中所有元素的图形属性与模型属性;4)遍历“十字链表”与“二叉树”计算梯形图图形元素之间(含连接线元素)的拓扑关系;5)遍历“二叉树”计算梯形图图形元素之间(连接线元素除外)的逻辑关系。本专利技术在描述梯形图图形元素之间拓扑关系同时记录了逻辑关系,简化了解析算法,提高了转化成中间语言的效率。【专利说明】
本专利技术属于PLC软件开发
,具体涉及一种梯形图的数据结构描述及扫描解析方法。
技术介绍
PLC (可编程逻辑控制器)是一种取代继电器执行逻辑运算及其他顺序控制功能,控制各种类型的机械或生产过程的电子装置。具有可靠性高、编程简单、使用方便、功能完善、通用性好等特点。梯形图是PLC使用得最多的图形编程语言,被称为PLC的第一编程语言。梯形图与电器控制系统的电路图相似,直观易懂,很容易被工厂电气人员掌握,特别适用于开关量逻辑控制。但是,梯形图不能直接被PLC所识别,无法在PLC中直接运行。因此需要将梯形图转化为PLC能够识别的形式。目前,已公开的各种文献中提到的梯形图转换成中间语言的方法中,梯形图数据结构描述较为复杂,并且,采用的梯形图转换成树形数据结构的转换算法通常比较复杂(例如:先将梯形图映射为AOV图再进行转化),生成的树结构中包含辅助信息;以至于解析梯形图逻辑关系的算法通常时间复杂度较高,影响了转换效率。因此,对于图形元素之间串、并联关系复杂的梯形图转换受到限制,不能很好的应用到逻辑关系相对复杂的梯形图程序。
技术实现思路
本专利技术主要针对现有PLC软件开发中梯形图数据结构复杂、辅助信息较多、并且梯形图扫描算法复杂、解析效率较低等缺点。提出了一种面向对象的易于实现、简单、高效的基于图形元素“十字链表”和“二叉树”数据结构的描述和扫描解析梯形图拓扑关系和逻辑关系的方法。梯形图图形元素实例化过程中,采用基于图形元素“十字链表”来描述图形属性的同时,使用图形元素“二叉树”记录梯形图的模型属性,并且通过扫描图形元素“十字链表”和“二叉树”来解析梯形图图形元素之间的拓扑关系和逻辑关系。在介绍本申请的技术方案之前,首先对本申请中出现的技术特征名称解释或定义如下:图形元素:就是组成梯形图的各种“图形符号”,包括连接线、网络、触点、线圈、运算块、跳转、标号、返回、注释等;连接元素:梯形图中触点、线圈等其它图形元素通过“连接线”进行连接,包含水平和垂直两个方向,分别对应着连接线两端的图形元素之间是“串联”和“并联”关系;水平类型:水平方向连接左、右两个图形元素的连接线类型;垂直类型:垂直方向连接上、下两个图形元素的连接线类型;前、后向元素:梯形图中某一图形元素的左、右侧对应的图形元素,其中左边的图形元素称为本元素的前向元素,右边的图形元素称为本元素的后向元素;引脚的四个类型(输入、输出、并入、并出):①输入引脚:连接前向元素的引脚称为图形元素的输入引脚;②输出引脚:连接后向元素的引脚称为图形元素的输出引脚;③并入引脚:对于连接线元素(水平或垂直)连接左侧垂直连接线的引脚称为连接线元素的并入引脚;④并出引脚:对于连接线元素(水平或垂直)连接右侧垂直连接线的引脚称为连接线元素的并出引脚;本专利技术解决其技术问题是采取以下技术方案实现:本专利技术采用梯形图图形元素组成的“十字链表”和“二叉树”对梯形图的数据结构进行描述,通过遍历图形元素“十字链表”和“二叉树”对梯形图的拓扑关系和逻辑关系进行解析。,其特征在于,所述方法包括以下步骤:(I)定义图形元素在梯形图中的图形属性,将引脚作为梯形图中触点元素、运算块元素、跳转元素、返回元素、线圈元素的图形属性成员;在梯形图编辑时,图形元素之间通过引脚相互连接,连接线元素除含有输入、输出引脚属性外,还包含并入、并出类型引脚,并且通过并入、并出类型引脚的所属图形元素的图形属性能够得到相应的连接线元素;引脚的图形属性中除所属图形元素图元属性外,还包含所连接的对端引脚和连接的对端的图形元素;触点元素、运算块元素包含输入、输出引脚;线圈元素、返回元素、跳转元素只包含一个输入引脚;(2)定义图形元素在梯形图中的模型属性,连接线元素的模型属性包括元素子类型(水平类型、垂直类型),父节点元素,左子节点元素,右子节点元素;触点元素、运算块元素、线圈元素、返回元素、跳转元素的模型属性中只包括父节点元素,其自身只作为叶子节点兀素;(3)梯形图图形元素实例化过程中,设置图形元素的前向、后向图形元素,对于连接线元素还要设置并入、并出本连接线元素的其它连接线元素,这样整个梯形图就可以采用“十字链表”数据结构来描述梯形图所有图形元素的图形属性;设置图形元素父节点元素,左子节点元素,右子节点元素,对于连接线元素要设置左子节点元素、右子节点元素、父节点元素;对于其他图形元素设置父节点元素,这样整个梯形图就可以采用“二叉树”数据结构来记录梯形图所有图形元素的模型属性;(4)通过遍历梯形图图形元素组成的“二叉树”和“十字链表”,扫描解析出梯形图图形元素的相对位置的静态关系和包括嵌套在内的并联逻辑关系,并且结合梯形图编辑过程的操作,进一步计算出梯形图编缉过程中图形元素相对位置变化的动态拓扑关系;(5)采用中序遍历算法扫描记录梯形图图形元素之间逻辑关系的“二叉树”,并且结合图形元素的类型及连接元素子类型计算出“二叉树”上由触点组成的串、关联关系,计算出运算块元素、跳转元素、返回元素执行的判断条件,以及线圈元素的赋值关系。本专利技术的优点及积极效果是:本专利技术提出了一种梯形图的数据结构描述及扫描解析方法,具有如下优点和积极效果:(I)定义的梯形图图形元素数据结构简单、易于实现;(2)梯形图图形元素的图形、模型属性描述层次清晰,易于封装;(3)梯形图图形元素图形属性解析简单,通过扫描梯形图图形元素组成的“十字链表”和“二叉树”即可计算出表示梯形图图形元素间的拓扑关系;(4)梯形图图形元素模型属性解析简单,通过扫描梯形图图形元素组成的“二叉树”即可很容易的计算出梯形图图形元素间的复杂的逻辑关系;(5)梯形图图形元素组成的“二叉树”不包含辅助信息,转化成中间语言的遍历解析算法简单、易于实现,大大提高了梯形图转化成中间语言的效率。【专利附图】【附图说明】图1为梯形图编译数据流示意图。图2为连接线元素特征示意图,其中:a为单条水平连接线;b为水平连接线与左侧垂直连接线;c为水平连接线与右侧垂直连接线;d为水平连接线与左侧、右侧垂直连接线。图3为梯形图示例。图4为梯形图“十字链表”拓扑关系图,其中:a为跳转、线圈、返回兀素在链表中的节点;b为触点元素在链表中的节点;c为连接线元素在链表中的节点;d为整个梯形图所有元素组成的链表。图5为梯形图“二叉树”逻辑关系图。【具体实施方式】以下结合说明书附图及具体实施例对本专利技术方法做详细说明:如图1所示,本专利技术实现的梯形图数据结构描述和扫描解析方法的示意图。梯形图图形元素实例化过程中,采用梯形图图形元素组成“十字链表”本文档来自技高网
...

【技术保护点】
一种梯形图数据结构描述及扫描解析方法,其特征在于:采用梯形图图形元素组成的“十字链表”和“二叉树”对梯形图的数据结构进行描述,通过遍历图形元素“十字链表”和“二叉树”对梯形图的拓扑关系和逻辑关系进行解析。

【技术特征摘要】

【专利技术属性】
技术研发人员:李琨王长江王沿海王鼎李维
申请(专利权)人:北京四方继保自动化股份有限公司
类型:发明
国别省市:

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

1