最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

数控系统中PLC梯形图与指令表的转换算法

发布时间:2014-05-30 作者:罗海据 吴永明 梁娟  来源:万方数据
关键字:数控系统 PLC 指令表 
为了满足数控机床系统中PLC梯形图向指令表转换的要求,将梯形图的构成形式分成母线、环、半环、环母线等结构元素,利用这些结构元素检验梯形图的合法性,分析梯形图和指令表之间的关系,设计梯形图向指令表快速转换的算法。应用实例表明:该算法效率高,实时性好,能满足数控机床系统的要求。

  在中高档的数控机床系统或者数控加工中心里,可编程逻辑控制器(PLC) 是一个不可缺少的配置。梯形图和指令表是PLC的常用编程语言。将控制系统的开关量逻辑与状态表示成梯形图,采用梯形图语言设计顺序控制逻辑,具有方便直观的优点,有利于系统维护与故障快速诊断。

  梯形图不能直接被计算机识别和执行,需要先将它转换成指令表才能够执行。目前梯形图转换为指令表的算法主要有两种:其一是基于二叉树的PLC梯形图转化为指令表的算法,该方法借助二叉树进行翻译,但存在编译效率不高的问题;其二是将梯形图映射到AOV图,该方法需要搜索链表,能够翻译复杂的梯形图,需要经过多次的扫描,实现起来比较复杂。

  一些商用PLC的梯形图结构比较复杂,如西门子S7-200、三菱等品牌的PLC功能强大,一般在个人计算机或专用的编程设备完成对梯形图的编辑和修改等操作。但对于数控机床系统而言,梯形图的编辑和修改一般在工厂车间的机床上完成,用户在现场直接修改调试,而且梯形图运行环境和数控系统内部关联比较大。另外在零件加工时,修改和编辑梯形图不能对数控系统其他模块造成影响,如译码、插补等实时性要求很高的模块,对梯形图的合法性检测和将梯形图转换成指令表的算法效率显得相当重要。因此,数控机床系统的PLC模块,要能够在屏幕上显示和修改梯形图,对梯形图的互换算法要求比较快。本文作者将梯形图的构成形式分成母线、环、半环、环母线等结构元素,利用这些结构元素检验梯形图的合法性,分析梯形图和指令之间的关系,并以此设计梯形图向指令表转换的算法。

1 梯形图的构成分析

  一个完整的数控系统的PLC梯形图由若干个独立功能的块组成,不仅包括了基本的输入触点和输出线圈,还包括了针对数控应用的特殊功能指令。PLC的梯形图由触点、输出线圈、功能指令、横线、竖线、点等基本元素构成。梯形图中触点之间的竖线占一个显示位置,那么触点之间非竖线的显示用点连接,这个点不影响梯形图的逻辑,但在用二维数组表示的梯形图形式时,它确实存在并且占用一个数据内存。因篇幅所限,文中只对不包含功能指令构成的梯形图进行讨论,如图1所示。

CNC用PLC基本梯形图
图1 CNC用PLC基本梯形图

  梯形图元素的位置用梯形图的行列位置坐标来表示,依次从左到右,从上到下遍历,并且认为竖线的位置是从第二行起,第一行是点元素。令最左边的竖线的列号是0,最上一行的行号是0,那么图1中左上角的触点X0000.0的坐标就是P(0,1)。因此,有如下定义:

  定义1:梯形图里由行的下标为0的所有的元素组成的集合称为梯形图母线,也就是梯形图的第0行。很明显,除第0行之外的触点都要直接或间接通过竖线连在母线上。

  定义2:从某一个触点起,按逆时针遍历梯形图回到当前触点,其中遍历元素个数最小,遍历路径的元素构成一个四边形,将所有这些遍历过的元素组成的集合称作环。在图1 里, 集合{竖线(1,2 ),X0001.0(1,3),点(1,4),X0001.1 (1,5),竖线(1,6),点(0,6),X00002(0,5),点(0,4),X00001(0,3 ), 点(0,2 )}构成一个环, {竖线(2,4 ),X00020(2,5),竖线(2,6),点(1,6),X00011(1,5),点(1,4)}组成一个环。

  定义3:在一个环里,行号最大、列号最小的触点称为环的起始触点,如上面两个环中,X00010、X000020 是起始触点。

  定义4:跟环的起始触点行号相同的所有元素组成的集合称为半环。如集合{竖线(1,2),X00010(1,3),点(1,4),X0001.1(1,5),竖线(1,6)}构成一个半环,{竖线(2,4),X00020(2,5),竖线(2,6)}组成一个半环。很明显,环的起始触点也是半环的起始触点。

  定义5:在某一个环里,除去半环的元素剩下的元素的集合称环母线。如{点(0,6),X00002(0,5),点(0,4),X00001 (0,3),点(0,2)},{点(1,6),X0001.1(1,5),点(1,4)}是环母线。很明显,一些元素属于某一个环母线,也属于某一半环。

  综上所述,梯形图块就是由母线和若干个半环构成的简单图形。为了保证梯形图逻辑的准确性和方便转换,作如下的约束:

  (1)一个梯形图块只能有一条母线;

  (2)一个半环内至少包含一个触点;

  (3)一条环母线内至少包含一个触点;

  (4)一个触点的左边不能是横线,实际上触点是可以和它左右两边的横线互换位置而不影响其逻辑的;

  (5)一个梯形图块里只有一个输出线圈串联在母线上,其他输出线圈只能并联到该线圈上;

  (6)如果某环的半环属于另外某环,但环母线不属于其他环,可以将环母线移动到半环下面,变成标准型。如图2 所示可以将X0001.0 移动到X00021的下方,转化为图3 的形状而不影响梯形图的逻辑;

梯形图

  (7)如果环与环之间存在交集,那么交集元素所属的半环或环母线的所有元素的行号只能是包含关系。如图4 所示,起始元素是X0002.0 和起始元素是X00011 的环存在歧义的,可以在梯形图转换的时候直接报错提示用户修改。

有歧义的梯形图
图 4有歧义的梯形图

3
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。