书签 分享 收藏 举报 版权申诉 / 15

一种PLC梯形图矩阵编辑显示方法.pdf

  • 上传人:1***
  • 文档编号:4604416
  • 上传时间:2018-10-22
  • 格式:PDF
  • 页数:15
  • 大小:1.52MB
  • 摘要
    申请专利号:

    CN201510114206.1

    申请日:

    2015.03.17

    公开号:

    CN104656543A

    公开日:

    2015.05.27

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):G05B 19/05申请日:20150317|||公开

    IPC分类号:

    G05B19/05

    主分类号:

    G05B19/05

    申请人:

    浪潮集团有限公司

    发明人:

    李维钊; 曹猛

    地址:

    250100山东省济南市高新区浪潮路1036号

    优先权:

    专利代理机构:

    济南信达专利事务所有限公司37100

    代理人:

    张靖

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种PLC梯形图矩阵编辑显示方法,用特定的文本描述梯形图的所有逻辑关系,将上述的文本转化成图块,特定的文本转化成的图块包含了以下信息:图块的坐标、图块的宽高、图块的功能码:触点、线圈、功能模块或者是这几种模块的逻辑组合、图块与其他图块的逻辑关系:“与”逻辑、“或”逻辑;编辑时根据逻辑关系更改文本描述,画图时根据图块的信息将该图块显示到编程工具的图像显示区,根据特定的文本描述的逻辑关系,将所有图块显示出来,然后更新显示即可完成LDD梯形图的编辑。本发明基于简单的二维矩阵进行设计,无需进行复杂的语法检查,逻辑树和遍历等复杂的算法,大大减小了出错概率和编译时间,提高了执行效率。

    权利要求书

    1.  一种PLC梯形图矩阵编辑显示方法,其特征在于,所述方法操作过程如下:
    1)用特定的文本描述梯形图的所有逻辑关系,如下所示:
    LAND{N,
    LLD@Lib=libname,Name=componentname1,Version=componentversion,FBID=functioncode@
    LLD@Lib=libname,Name=componentname2,Version=componentversion,FBID=functioncode@
    ……
    LLD@Lib=libname,Name=componentnameN,Version=componentversion,FBID=functioncode@}
    其中:LAND表示“与”关系, LLD表示一个“元件”,Lib表示所属功能库,Name表示元件名称,Version表示元件版本,FBID表示元件功能码;
    2)将上述的文本转化成图块,特定的文本转化成的图块包含了以下信息:
    图块的坐标:X,Y;
    图块的宽高:W,H;
    图块的功能码:触点、线圈、功能模块或者是这几种模块的逻辑组合;
    图块与其他图块的逻辑关系:“与”逻辑、“或”逻辑;
    3)编辑时根据逻辑关系更改文本描述,画图时根据图块的信息将该图块显示到编程工具的图像显示区,根据特定的文本描述的逻辑关系,将所有图块显示出来即完成了LDD梯形图的显示,然后更新显示即可完成LDD梯形图的编辑。

    2.
      根据权利要求1所述的一种PLC梯形图矩阵编辑显示方法,其特征在于,所述图块类型分为:元件图块、与图块、或图块和混杂图块,其中:
    元件图块,是一个单独的元件,元件图块是“与图块”或“或图块” 的特例,也是其分支;
    与图块,图块中元件与元件之间只存在与关系,即串联关系,与分支的数量N>1,且每个分支都是元件图块;
    或图块,图块中元件与元件之间只存在或关系,即并联关系,分支的数量N>1,且每个分支都是元件图块;
    混杂图块,由与图块、或图块和元件图块混合组成,总体上具有明确逻辑关系的图块,称为混杂图块;混杂图块具有明显的层次特性。

    3.
      根据权利要求1或2所述的一种PLC梯形图矩阵编辑显示方法,其特征在于,所述图块具有以下特性:逻辑性、层次性和行列特性,其中:
    逻辑性,图块中相邻元件之间只存在“与”和“或”逻辑关系,逻辑关系定义了图块中元件之间的连接关系;
    层次性,一个图块能够包含图块,被包含的图块称为子图块,同图块一样,子图块具备图块的各种特性;
    行列特性定义了图块的大小,假设每个元件的图形大小一样,组成图块的元件按照从上到下,从左到右的规则排列后,形成一个M行N列的矩阵,通过逻辑关系和行列特性,可以完整地定义一个网络。

    4.
      根据权利要求3所述的一种PLC梯形图矩阵编辑显示方法,其特征在于:利用图块之间及图块内部的逻辑关系和层次关系,能够实现图块乃至网络的编辑,具体操作如下:
    首先要对梯形图文件进行解析,将文本形式的梯形图文件,以图块为基本单元,解析成具有一定格式的数据结构,一个图块对应一个数据结构,该数据结构完整描述了该图块的信息,包括:图块类型、元件功能号、分支数量、分支图块的数据结构地址指针、分支图块坐标、元件坐标、水平连线坐标、垂直连线坐标、图块的起始行列索引、图块在父级图块中的序号和图块的连接关系;
    对于不同类型的图块这些值的含义不同,将梯形图文件解析成上述数据结构,并且将这些数据结构按照图块在梯形图文件的顺序和层次关系,转换成双向链表后,就可以根据图块信息对该梯形图进行显示、选择和编辑了。

    5.
      根据权利要求4所述的一种PLC梯形图矩阵编辑显示方法,其特征在于,所述梯形图绘制过程如下:
    扫描梯形图文件,建立双向链表,双向链表的每一个节点代表一个元素;扫描过程中根据该元素的功能码以及前一个元素的坐标,计算出该元素的坐标及大小,将元素的坐标及尺寸信息记录到该节点,并记录元素之间的连接关系;扫描完成后,即可生成一张包含坐标信息及连接关系的双向链表;根据该双向链表即可实现梯形图的绘制。

    6.
      根据权利要求5所述的一种PLC梯形图矩阵编辑显示方法,其特征在于,为实现编辑界面的缩放和保证显示效果,系统显示采取三缓冲区技术:
    1)图形显示缓冲区:其大小为元件不进行任何缩放的网络大小,包含多个网络以及文本显示区域,但无文本显示;
    2)综合显示缓冲区:文本显示缓冲区作为中间显示缓存,在图形经缩放后,将显示句柄的字体设置成相应的大小,直接显示在经缩放后的图形上,形成图形和文本混合后的综合显示缓冲区;
    3)输出缓冲区:即最终显示在界面上的缓冲区。

    说明书

    一种PLC梯形图矩阵编辑显示方法
    技术领域
    本发明涉及计算机技术领域,具体涉及一种PLC梯形图矩阵编辑显示方法。
    背景技术
    可编程控制器PLC是一种专门为工业自动控制而开发的通用自动控制装置。它具有可靠性高、编程简单、使用方便、功能完善、通用性好等特点,并具有在线修改功能,给控制系统带来了很好的柔性。它可以灵活地以不同的组态来适应不同控制对象、控制规模和控制功能的要求,是实现“机电一体化”较理想的控制设备。一般的PLC控制系统分为两部分,一部分为编程环境:包括梯形图编辑显示,变量编辑,工程配置,程序编译等;另一部分为运行环境:主要将编程环境编译生成工程文件解释并执行。本方法主要涉及梯形图矩阵编辑显示。
    目前国内的PLC的梯形图编辑显示部分大部分都是基于国外的指令解释器,将PLC梯形图最终编辑成适合指令表转换的树状数据结构,编辑完毕用指令解释器扫描梯形图树状列表生成运行环境可识别的指令,算法复杂,效率低,故障点多。
    发明内容
    本发明要解决的技术问题是:本发明提供了一种基于PLC梯形图矩阵编辑显示方法,将PLC梯形图编辑显示基于简单的二维矩阵进行设计,无需进行复杂的语法检查,逻辑树和遍历等复杂的算法。大大减小了出错概率和编译时间,高了执行效率。
    本发明所采用的技术方案为:
    一种PLC梯形图矩阵编辑显示方法,所述方法操作过程如下:
    1)用特定的文本描述梯形图的所有逻辑关系,如下所示:
    LAND{N,
    LLD@Lib=libname,Name=componentname1,Version=componentversion,FBID=functioncode@
    LLD@Lib=libname,Name=componentname2,Version=componentversion,FBID=functioncode@
    ……
    LLD@Lib=libname,Name=componentnameN,Version=componentversion,FBID=functioncode@}
    其中:LAND表示“与”关系,即该大括号里面的所有元素为“与”的关系,LLD表示一个“元件”,Lib表示所属功能库,Name表示元件名称,Version表示元件版本,FBID表示元件功能码。网络的文本表示方法,可读性强,逻辑关系清晰明了。
    2)将上述的文本转化成图块,“图块”是梯形图中能够完成一定功能,且具有层次性和确定逻辑关系的一组元件的集合。
    一个网络由多个图块组成,网络本身也是一个图块。特定的文本转化成的图块包含了以下信息:
    图块的坐标:X,Y;
    图块的宽高:W,H;
    图块的功能码:触点、线圈、功能模块或者是这几种模块的逻辑组合;
    图块与其他图块的逻辑关系:“与”逻辑、“或”逻辑;
    3)编辑时根据逻辑关系更改文本描述,画图时根据图块的信息将该图块显示到编程工具的图像显示区,根据特定的文本描述的逻辑关系,将所有图块显示出来即完成了LDD梯形图的显示,然后更新显示即可完成LDD梯形图的编辑。
    所述图块类型分为:元件图块、与图块、或图块和混杂图块,其中:
    元件图块,是一个单独的元件,元件图块是“与图块”或“或图块” 的特例,也是其分支;
    与图块,图块中元件与元件之间只存在与关系,即串联关系,与分支的数量N>1,且每个分支都是元件图块;
    或图块,图块中元件与元件之间只存在或关系,即并联关系,分支的数量N>1,且每个分支都是元件图块;
    混杂图块,由与图块、或图块和元件图块混合组成,总体上具有明确逻辑关系的图块,称为混杂图块;混杂图块具有明显的层次特性,即混杂模块的组合可以生成更复杂的混杂模块。
    所述图块具有以下特性:逻辑性、层次性和行列特性,其中:
    逻辑性,图块中相邻元件之间只存在“与”和“或”逻辑关系,逻辑关系定义了图块中元件之间的连接关系;
    层次性,一个图块能够包含图块,被包含的图块称为子图块,同图块一样,子图块具备图块的各种特性;
    行列特性定义了图块的大小,假设每个元件的图形大小一样,组成图块的元件按照从上到下,从左到右的规则排列后,形成一个M行N列的矩阵,通过逻辑关系和行列特性,可以完整地定义一个网络;
    利用图块之间及图块内部的逻辑关系和层次关系,能够实现图块乃至网络的编辑,具体操作如下:
    首先要对梯形图文件进行解析,将文本形式的梯形图文件,以图块为基本单元,解析成具有一定格式的数据结构,一个图块对应一个数据结构,该数据结构完整描述了该图块的信息,包括:图块类型、元件功能号、分支数量、分支图块的数据结构地址指针、分支图块坐标、元件坐标、水平连线坐标、垂直连线坐标、图块的起始行列索引、图块在父级图块中的序号和图块的连接关系;
    对于不同类型的图块这些值的含义不同,将梯形图文件解析成上述数据结构,并且将这些数据结构按照图块在梯形图文件的顺序和层次关系,转换成双向链表后,就可以根据图块信息对该梯形图进行显示、选择和编辑了。
    所述梯形图绘制过程如下:
    扫描梯形图文件,建立双向链表,双向链表的每一个节点代表一个元素;扫描过程中根据该元素的功能码以及前一个元素的坐标,计算出该元素的坐标及大小,将元素的坐标及尺寸信息记录到该节点,并记录元素之间的连接关系;扫描完成后,即可生成一张包含坐标信息及连接关系的双向链表;根据该双向链表即可实现梯形图的绘制。
    为实现编辑界面的缩放和保证显示效果,系统显示采取三缓冲区技术:
    1)图形显示缓冲区:其大小为元件不进行任何缩放的网络大小,包含多个网络以及文本显示区域,但无文本显示;
    2)综合显示缓冲区:由于文本不支持缩放,因此,文本显示缓冲区作为中间显示缓存,在图形经缩放后,将显示句柄的字体设置成相应的大小,直接显示在经缩放后的图形上,形成图形和文本混合后的综合显示缓冲区;
    3)输出缓冲区:即最终显示在界面上的缓冲区,主要是为了避免屏幕闪烁。最终由三个缓冲区之间相互配合完成梯形图的显示。
    本发明的有益效果为:本发明将PLC梯形图编辑显示基于简单的二维矩阵进行设计,无需进行复杂的语法检查,逻辑树和遍历等复杂的算法,大大减小了出错概率和编译时间,提高了执行效率。
    附图说明
    图1为元件图块示意图;
    图2为与图块示意图;
    图3为或图块示意图;
    图4为顶层逻辑为“与”的混杂图块示意图;
    图5为顶层逻辑为“或”的混杂图块示意图;
    图6为与逻辑(s00 AND s01)示意图;
    图7为与逻辑(s00 OR s01)示意图;
    图8为顶层逻辑为“与”的混杂图块的逻辑关系(s00 AND (s01 OR s11) AND s02)示意图;
    图9为顶层逻辑为“或”的混杂图块的逻辑关系((s00 AND s01) OR s10)示意图;
    图10为图块层次关系示意图;
    图11为图块行列关系示意图。
    具体实施方式
    下面参照附图所示,通过具体实施方式对本发明进一步说明:
    实施例1:
    一种PLC梯形图矩阵编辑显示方法,所述方法操作过程如下:
    1)用特定的文本描述梯形图的所有逻辑关系,如下所示:
    LAND{N,
    LLD@Lib=libname,Name=componentname1,Version=componentversion,FBID=functioncode@
    LLD@Lib=libname,Name=componentname2,Version=componentversion,FBID=functioncode@
    ……
    LLD@Lib=libname,Name=componentnameN,Version=componentversion,FBID=functioncode@}
    其中:LAND表示“与”关系,即该大括号里面的所有元素为“与”的关系,LLD表示一个“元件”,Lib表示所属功能库,Name表示元件名称,Version表示元件版本,FBID表示元件功能码。网络的文本表示方法,可读性强,逻辑关系清晰明了。
    2)将上述的文本转化成图块,“图块”是梯形图中能够完成一定功能,且具有层次性和确定逻辑关系的一组元件的集合。
    一个网络由多个图块组成,网络本身也是一个图块,特定的文本转化成的图块包含了以下信息:
    图块的坐标:X,Y;
    图块的宽高:W,H;
    图块的功能码:触点、线圈、功能模块或者是这几种模块的逻辑组合;
    图块与其他图块的逻辑关系:“与”逻辑、“或”逻辑;
    3)编辑时根据逻辑关系更改文本描述,画图时根据图块的信息将该图块显示到编程工具的图像显示区,根据特定的文本描述的逻辑关系,将所有图块显示出来即完成了LDD梯形图的显示,然后更新显示即可完成LDD梯形图的编辑。
    实施例2:
    如图1-5所示,在实施例1的基础上,本实施例所述图块类型分为:元件图块、与图块、或图块和混杂图块,其中:
    元件图块,是一个单独的元件,元件图块是“与图块”或“或图块” 的特例,也是其分支,在本发明中,元件图块既不是与图块也不是或图块;
    与图块,图块中元件与元件之间只存在与关系,即串联关系,与分支的数量N>1,且每个分支都是元件图块;
    或图块,图块中元件与元件之间只存在或关系,即并联关系,分支的数量N>1,且每个分支都是元件图块;
    混杂图块,由与图块、或图块和元件图块混合组成,总体上具有明确逻辑关系的图块,称为混杂图块;混杂图块具有明显的层次特性,即混杂模块的组合可以生成更复杂的混杂模块。
    实施例3:
    在实施例1或2的基础上,本实施例所述图块具有以下特性:逻辑性、层次性和行列特性,其中:
    逻辑性,图块中相邻元件之间只存在“与”和“或”逻辑关系,逻辑关系定义了图块中元件之间的连接关系;如图6-9所示,是两种逻辑关系的示例;
    层次性,一个图块能够包含图块,被包含的图块称为子图块,同图块一样,子图块具备图块的各种特性,层次性示例如图10所示,图10中颜色最浅的阴影框,是最顶层的逻辑关系,逻辑关系为“与”,颜色深浅次之的三个阴影框是“与”关系的三个分支,其中中间一个“与”分支是一个“或”图块,另外两个是元件图块。颜色最深的阴影框代表第二个“与”分支,即“或”图块的两个“或”分支,也是两个元件图块;
    行列特性,行列特性定义了图块的大小,假设每个元件的图形大小一样,组成图块的元件按照从上到下,从左到右的规则排列后,形成一个M行N列的矩阵,通过逻辑关系和行列特性,可以完整地定义一个网络。如图11所示,实线框代表一个网格,图块的最大行数和最大列数代表了图块的大小;s代表网格中有元件,n代表没有元件;两位数字代表行列坐标,用(x,y)坐标表示,网格中的元素包括:元件、左连线、右连线、上连线、下连线,通过这种连接关系和功能特性描述,可以使用网格完整地描述一个网络,并据此完成网络的输出值计算。
    实施例4:
    在实施例3的基础上,本实施例利用图块之间及图块内部的逻辑关系和层次关系,能够实现图块乃至网络的编辑,具体操作如下:
    首先要对梯形图文件进行解析,将文本形式的梯形图文件,以图块为基本单元,解析成具有一定格式的数据结构,一个图块对应一个数据结构,该数据结构完整描述了该图块的信息,包括:图块类型、元件功能号、分支数量、分支图块的数据结构地址指针、分支图块坐标、元件坐标、水平连线坐标、垂直连线坐标、图块的起始行列索引、图块在父级图块中的序号和图块的连接关系;
    对于不同类型的图块这些值的含义不同,将梯形图文件解析成上述数据结构,并且将这些数据结构按照图块在梯形图文件的顺序和层次关系,转换成双向链表后,就可以根据图块信息对该梯形图进行显示、选择和编辑了。
    实施例5:
    在实施例4的基础上,本实施例所述梯形图绘制过程如下:
    扫描梯形图文件,建立双向链表,双向链表的每一个节点代表一个元素;扫描过程中根据该元素的功能码以及前一个元素的坐标,计算出该元素的坐标及大小,将元素的坐标及尺寸信息记录到该节点,并记录元素之间的连接关系;扫描完成后,即可生成一张包含坐标信息及连接关系的双向链表;根据该双向链表即可实现梯形图的绘制。
    实施例6:
    在实施例5的基础上,本实施例为实现编辑界面的缩放和保证显示效果,系统显示采取三缓冲区技术:
    1)图形显示缓冲区:其大小为元件不进行任何缩放的网络大小,包含多个网络以及文本显示区域,但无文本显示;
    2)综合显示缓冲区:由于文本不支持缩放,因此,文本显示缓冲区作为中间显示缓存,在图形经缩放后,将显示句柄的字体设置成相应的大小,直接显示在经缩放后的图形上,形成图形和文本混合后的综合显示缓冲区;
    3)输出缓冲区:即最终显示在界面上的缓冲区,主要是为了避免屏幕闪烁。最终由三个缓冲区之间相互配合完成梯形图的显示。
    以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

    关 键  词:
    一种 PLC 梯形 矩阵 编辑 显示 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种PLC梯形图矩阵编辑显示方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4604416.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1