嵌入式可编程控制器的梯形图编辑软件设计方法技术

技术编号:7447104 阅读:279 留言:0更新日期:2012-06-20 22:43
本发明专利技术给出了一种嵌入式可编程控制器的梯形图编辑软件设计方法,提出了按照梯形图中“能流”的方向来扫描梯形图从而来建立二叉树的方法。本发明专利技术以二叉树为中心,实现了PLC用户控制程序的梯形图形式与指令表形式之间的转换,及指令表语言转换为二叉树的方法,完成了以二叉树为中心的梯形图和指令表的相互转换。最后在Windows平台下应用VC++6.0开发了嵌入式可编程控制器的一套编辑器,该编辑器可以实现梯形图绘制、梯形图语言与指令表语言相互转换等功能。

【技术实现步骤摘要】

本专利技术具体涉及一种嵌入式可编程控制器的梯形图编辑软件的设计方法,属控制系统及电子

技术介绍
长期以来,PLC始终处于工业控制自动化领域的主战场,为各种各样的自动化控制设备提供非常可靠的控制方案。随着工业的发展,可编程控制器在工业控制中的应用越来越广泛,对可编程控制器的要求也越来越高,因此开发新型的可编程控制器是未来的发展趋势。目前我国使用的PLC大部分来自于日本及欧美一些国家,国外PLC主要被西门子公司、A-B公司、施耐德公司、三菱公司、欧姆龙公司所垄断,PLC的核心技术一直掌握在这些国家及一些大型的外国公司手中。近些年,我国通过引进这些国家的技术进行消化吸收, 进行仿制,使我国的PLC产品有了一定的发展,目前小型的PLC已经批量生产,中型的PLC 也已经有了成品,大型的PLC目前还在研究中。有的产品不仅供应国内市场,还有的产品还出口。在PLC应用方面,我国是很活跃的,应用的行业也很广。目前有许多工业用自动控制产品、机电一体化产品开始转向以计算机为平台的控制方式。德国工业界最新推出了以计算机为平台的软PLC。软PLC实际利用软件来实现传统PLC的功能。软PLC的特点是(1)基于工业计算机的柔性可编程逻辑控制技术,可以充分利用最新计算机的高速、大容量、丰富功能及各种软件资源。(2)软PLC是开放可编程逻辑控制器,在实时控制、网络控制和分级控制领域可获得广泛的应用。(3)软PLC是实时多任务操作系统,能提供强有力的指令,更加快速的扫描和安全的操作。(4)开放的结构容易连接到I/O模块、PID模块、运动控制模块和装置、网络。软PLC最大的优势是具备柔性扩展能力,用户可以选择不同厂家生产的各种硬件产品,充分利用每一软件的最佳特性,组成最佳的控制系统。同时与硬件的连接也十分方便。有很多的I/O卡可以直接连接到软PLC计算机总线上。从而在软、硬件两方面可以达到工控机和PLC性能的完美结合,方便了性能扩展和人机交流,是PLC未来的一大发展趋势。到目前为止,我国的嵌入式可编程控制器已经有了很大的发展,武汉理工大学、北京工业大学、南京航天航空大学等著名学府在嵌入式可编程控制器的研究方面已经取得了一定的成绩。此外,黄石的科威自控公司已经成功的开发了以8051单片机为硬件平台的嵌入式可编程控制器,有了自主知识产权,产品已经进入市场销售。我国对PLC有巨大的市场需求,但是我国使用的PLC基本上都是国外的产品。随着工业的发展,新型和智能的可编程控制器必然是未来的发展趋势。开发自主的嵌入式可编程控制器不仅可以适应将来PLC的发展趋势,而且对我国打破国外垄断也有一定的意义。软PLC利用软件来实现传统PLC的功能,是PLC技术发展的最新趋势。但是目前嵌入式可编程控制器整体的设计还处于初步阶段,在理论研究和工程应用方面都有待于进一步完善。要开发研制出一种成熟的产品,还有很长的路要走,主要体现在以下几个方面1、如何将上位机梯形图转换成功的指令表转换为下位机能够识别的语言。2、继续完善梯形图向指令表语言转换的算法的优化。3、提高编辑器中梯形图指令的检错能力。4、能够设计一套面对上位机编辑器的独立的下载工具,使转换的代码能够下载到下位机中运行。
技术实现思路
梯形图是PLC最基本的,最形象化的编程语言,对于熟悉继电器的操作人员来说非常的方便。因此,本专利技术设计的嵌入式可编程控制器的梯形图编程语言仍然是梯形图,只不过要将梯形图语言转换成嵌入式下位机所能够识别的语言。本专利技术的目的在于根据现有技术存在的缺陷提供一种。本专利技术,其特征在于包括如下步骤步骤一元件库的设计;步骤二梯形图的绘制;步骤三元件属性的修改及删除;步骤四语法检查首先,要检测每个梯形图有没有是输出线圈或者执行线圈,如果没有,则报错;其次检查是否有短路、断路情况的发生顺次检查两相邻并联线间的支路是否有直线直接相连,可以通过扫描两个并联线之间是否有元件来判断,如果有元件则证明不是短路,如果元件的个数为零则就是短路,将扫描过的元件都进行记录,在检查扫描过程结束后如果发现还有未扫描到的元件,则就证明该元件所在的支路为断路;步骤五梯形图转化成指令表采用以“二叉树”为中心的方法来实现梯形图到指令表的转换;步骤六指令表转换成梯形图。步骤五所述二叉树的建立方法包括如下步骤第1步,首先确定扫描的方向,如果是从左到右的扫描,则分别记下元件的流入节点和流出节点的链表值;如果是从上到下的扫描,则将先扫描到的元件的流出节点和后扫描到的元件的流入节点记为一个值。判断扫描的方式是,判断先扫描到的元件的流出节点的纵坐标和下一个要扫描的元件的流入节点的纵坐标是否相同,如果相同是从上到下的扫描方向,否则,则是从左到右的扫描方式;第2步,若假如第一个节点流入节点链表和第二个节点的流入节点链表相同,第一个节点流出节点链表和第二个节点的流出节点链表相同,则两个节点是或的关系,建立 OR节点,建立一棵小的二叉树,两个元件分别为左右子树,先扫描到的为左子树;如果有多个元件并联,则按照先后顺序前两个元件并联后,并联结果和第三个元件并联,建立二叉树,以此类推;第3步,第一个节点的流入节点链表和第二个节点的流出节点链表相同,则两个节点是与的关系,建立AND节点,建立一棵小的二叉树,两个元件分别为左右子树,先扫描到的为左子树。如果有多个元件串联,则按照先后顺序前两个元件串联后,串联结果和第三个元件串联,建立二叉树,以此类推;第4步,建立的AND节点和OR节点,也可以根据此原理和其它元件建立新的逻辑关系,建立新的二叉树,以此类推,将梯形图转换成二叉树。第5步将二叉树转换成指令表语言。在建立二叉树的时候,串联块和并联块都作为数据保存到链表中,在实现树到指令集的转换过程中,采用后序遍历法对树进行遍历,将二叉树转换成指令表语言,也就是先访问树的左子树,然后依次后序遍历右子树和根结点。将指令表转换成梯形图时,在确认无语法和逻辑错误的情况下,首先要对指令表进行扫描,具体的实现步骤如下1)在确定语法没有错误的情况下,扫描指令表读取到LD或是LDN指令的时候, 申请一个节点建立二叉树,首个节点作为二叉树的左子树,同时根据指令以及步骤5中经扫描后保存在链表中的元件数据修改二叉树的节点数据;2)如果读取到AND或是AND NOT指令时,就是列增加指令,此时要求申请两个新的节点,一个作为二叉树的父节点,另一个作为二叉树的右子树,然后根据当前指令以及步骤 5中经扫描后保存在链表中的元件数据修改新二叉树各节点数据;3)如果读取到OR或是OR NOT指令时,就是行增加指令,此时同样要求申请两个新的节点,一个作为二叉树的父节点,另一个作为二叉树的右子树,然后根据当前指令以及步骤5中经扫描后保存在链表中的元件数据修改新二叉树各节点数据;4)如果读取到ALD指令或者是OLD指令,此时要求申请一新节点作为父节点,把当前二叉树和前一二叉树合并,形成一新的二叉树,其中前一个二叉树为左节点,当前二叉树为右节点,然后根据当前指令以及步骤5中经扫描后保存在链表中的元件数据修改新二叉树各节点数据;5)当逻辑块与单个节点进行操作时,单个节点相当于我们读到了 LD指令,要作为左子树;当多个逻辑块与单个节点进行操作时,我们要将单个节点和首个逻辑块进行操作, 然后依次与其本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:朱志宇常艳超张冰刘维亭秦冲魏海峰赵强袁文华
申请(专利权)人:江苏科技大学
类型:发明
国别省市:

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

1
相关领域技术