将梯形图程序转换为指令列表程序的方法及系统技术方案

技术编号:2775411 阅读:459 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种将梯形图程序转换为指令列表程序的方法及系统,该方法为:生成梯形图(LD)程序中各网络内元件及其元件间连接关系的描述数据,形成各网络的LD元件集合和连接关系集合;分别从各网络的LD元件集合中的一个元件开始,依据连接关系集合中描述的元件之间的连接关系遍历网络内的所有元件的描述数据,生成用节点的描述数据描述网络内元件之间的逻辑关系的二叉树;分别从各二叉树的根节点开始遍历所有节点,根据节点描述的逻辑关系生成各节点对应的指令列表(IL)程序命令。

Method and system for converting ladder program to instruction list program

The invention discloses a ladder program conversion method and system for instruction list program, the method for generating ladder diagram (LD) program in the network element and the connection among the components to describe the data, the formation of LD network element in each set and connection set; a component separately from the LD element the network in the collection, on the basis of connecting all the components description data traversal within the network connection between the description in the set of components, used to describe the data generating node describes the logical relationship between network elements in the two binary tree traversal of all nodes respectively; starting from the root node of each of the two fork tree, generation each node according to the corresponding logic node description instruction list (IL) program command.

【技术实现步骤摘要】

本专利技术涉及一种将梯形图程序转换为指令列表程序的方法及系统
技术介绍
可编程逻辑控制器在当今的各行各业中具有广泛的应用,如汽车、化工、纺织等等。它由输入端子、处理器和输出端子组成,主要功能是读入输入端子的电信号,转换为数字信号后在处理器中按照用户事先预设的逻辑进行处理,处理结果转换为电信号输出到输出端子上,再驱动其它设备完成相应的功能。在可编程逻辑控制器中,用户可以使用设备供应商提供的开发语言编写自己的用户程序,下载到可编程逻辑控制器中运行,达到自己所需要的设备控制效果。从目前主流的可编程逻辑控制器编程软件来看,梯形图(LD)和指令列表(IL)是两种最主要的用于编写可编程逻辑控制器处理逻辑的用户开发语言。LD是一种图形编程语言,它由输入触点、各种连接线和输出线圈组成,使用输入触点开关的逻辑组合来控制输出线圈,一个简单的LD程序如图1所示左边的母线表示电源的能流,输入触点X0和X1并联后再和触点X2串联的结果,决定能流是否能够接通到输出线圈Y0是否生效。输入触点X0或者X1需要有一个接通,并且触点X2是接通的,则能流就可以通过触点输出到线圈Y0。LD的优点是图形化、直观,可以很容易的看出输入控制元件和输出元件之间的逻辑关系,对于刚接触可编程逻辑控制器的电气工程师可以很容易的学习和使用;其缺点是编程效率比较低,需要逐个选择需要的逻辑元件和输入元件参数。IL是一种文本编程语言,它使用文本指令的方式装载输入触点和将结果输出到输出线圈中,和图1对应的IL语句如下 LD X0OR X1ANDX2OUTY0“LD X0”指令将X0触点的值装载到能流点中;“OR X1”指令将X1触点的值和当前能流点的值相并联以后的结果赋予当前能流点;“AND X2”指令将当前能流点的值和X2触点的值相串联后的结果赋予当前能流点;“OUT Y0”指令将当前能流点的值输出到Y0线圈中。IL的优点是编程效率高,在LD中输入一个图形元件,在IL中只需要输入对应的一行指令代码即可;其缺点是不直观,从很多行的IL程序中,很难一下看出输入元件和输出元件简的关系。LD图形语言转换到IL文本语言存在的问题从上面的示例可以看到,虽然是两种差别很大的编程方法,但是可以完成相同的处理逻辑,并且从LD图形到IL文本直观上有着一定对应关系LD图形上首先直接连接左母线的元件和IL中的“LD”指令对应;图形上一个元件和另一个元件的并联连接和IL中的“OR”指令对应;图形上一个元件和另一个元件的串联连接和IL中的“AND”指令对应;图形上的输出线圈和IL中的“OUT”指令对应。在软件系统中,LD图形语言需要一种合理的数据结构来保存和维护用户编写的LD程序,可以方便的保存用户加入的各种元件,高效的识别元件之间的逻辑结构,快速的显示到计算机屏幕上供用户查看和修改;IL文本语言的数据结构只要可以正确保存字符串就可以了,用户对程序的修改也就是对数据结构中字符串的修改。由于两种编程语言的特点,用户在对可编程逻辑控制器编程时,常常根据编程效率或者检查方便性的需要在LD和IL语言之间切换,如何快速、稳定的从LD语言转换到IL是其中一个很重要的问题。
技术实现思路
本专利技术提供一种将梯形图程序转换为指令列表程序的方法及系统,以实现LD语言和IL语言间的快速转换。实现本专利技术的技术方案一种将梯形图程序转换为指令列表程序的方法,包括如下步骤A、生成梯形图(LD)程序中各网络内元件及其元件间连接关系的描述数据,形成各网络的LD元件集合和连接关系集合;B、分别从各网络的LD元件集合中的一个元件开始,依据各网络的LD元件集合和连接关系集合生成用节点的描述数据描述网络内元件之间的逻辑关系的二叉树;C、分别从各二叉树的根节点开始遍历所有节点,根据节点描述的逻辑关系生成各节点对应的指令列表(IL)程序命令。一种将梯形图程序转换为指令列表程序的系统,包括用于处理数据的计算机装置,该系统还包括第一装置,用于在计算装置中生成包含一个或多个网络的梯形图(LD)程序并保存;第二装置,用于生成LD程序中各网络内元件及其元件间连接关系的描述数据,形成各网络的LD元件集合和连接关系集合;第三装置,用于从各网络的LD元件集合中的一个元件开始,依据各网络的LD元件集合和连接关系集合生成用节点的描述数据描述网络内元件之间的逻辑关系的二叉树;第四装置,用于从各二叉树的根节点开始遍历二叉树的所有节点,根据节点描述的逻辑关系生成各节点对应的指令列表(IL)程序命令,形成IL程序文本。本专利技术定义了三种数据结构LDDataStruct、MidDataStruct和ILDataStruct,通过两个转换过程,将LDDataStruct经过MidDataStruct最终转换为ILDataStruct。由于LDDataStruct是专为保存LD图形程序设计的数据结构,可以完全满足LD图形程序中对LD元件的图形、位置和元件间连接关系的维护。ILDataStruct是专用于保存IL指令文本的数据结构,也可完全满足IL指令程序的编辑和维护要求。在转换方面,通过引入MidDataStruct中间二叉树数据结构,将LDDataStruct中的数据完全转换为ILDataStruct,转换过程处理了必须的元件和逻辑结构,通过中间数据结构的引入,使得转换过程更加易于理解和实现。所有的步骤中,对元件和逻辑关系只访问一次,达到了较高的转换效率。附图说明图1为一个简单的LD程序;图2为图1经转换后生成的树结构示意图;图3为转换示意图;图4为图1经转换后的示意图;图5A、图5B为本专利技术的流程图。具体实施例方式在提供可编程逻辑控制器编程环境的软件系统中,将用户程序从LD程序转换为IL程序的实质,也就是将软件系统中表示LD程序的数据结构转换到表示IL程序的数据结构。因此在转换中存在的问题,一是确定表示LD和IL程序的合理数据结构;二是要找出一种将表示图形的数据结构转换为表示文本的数据结构的方法。首先确定能够表示LD图形语言的数据结构LDDataStruct和IL文本语言的数据结构ILDataStruct,其次为了完成LDDataStruct和ILDataStruct两种数据结构间的转换,引入一种中间数据结构MidDataStruct,通过数据结构间的算法转换,MidDataStruct可以不丢失任何程序信息的表示LDDataStruct中的内容,也可以方便的转换为ILDataStruct数据结构。下面详细说明每种数据结构的内容和数据结构之间的转换方法。1、数据结构LD图形语言的数据结构-LDDataStructLD图形语言是由多个输入触点元件、输出触点元件和元件间的连接线组成,连接线也可以看作是一种元件,数据结构首先必须正确保存这些元件的类型和位置;其次,为了可以方便快速的识别元件间的逻辑关系,数据结构还应该保存元件之间的连接关系根据上面对LD图形语言程序的保存需要,LD的数据结构由两个部分组成,一个是LD元件的集合,一个是元件之间连接点的集合,其中LD元件和连接点的数据结构表示如下LD程序的数据结构名称LDDataStruct成员ArrayLDElem-LD元件集合,保存用户加入的所有LD元件ArrayConnectPoint-LD元件间连接点集合本文档来自技高网
...

【技术保护点】
一种将梯形图程序转换为指令列表程序的方法,其特征在于包括如下步骤:A、生成梯形图(LD)程序中各网络内元件及其元件间连接关系的描述数据,形成各网络的LD元件集合和连接关系集合;B、分别从各网络的LD元件集合中的一个元件开始, 依据各网络的LD元件集合和连接关系集合生成用节点的描述数据描述网络内元件之间的逻辑关系的二叉树;C、分别遍历各二叉树的所有节点,根据节点描述的逻辑关系生成各节点对应的指令列表(IL)程序命令。

【技术特征摘要】

【专利技术属性】
技术研发人员:王孟腾祝裕福李占军张泉马泉伟毛继科雷刚
申请(专利权)人:艾默生网络能源有限公司
类型:发明
国别省市:94[中国|深圳]

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

1