APP下载

机床数控化中PLC控制程序的模块化编制

2009-07-16王紫东

新媒体研究 2009年8期

[摘要]机床PLC控制程序采用模块化编程,通过编制不同功能的子程序完成了PLC对机床顺序动作的控制,通过利用PLC的应用指令和内部特殊继电器实现了加工计数器和计时器功能程序段的设计,并编制了机床报警自诊断程序,通过利用时间继电器实现了检测开关在电磁阀动作后一定时间内的动作是否到位检测,确定开关有故障而发出报警信号。

[关键词]机床数控化 PLC 控制程序

中图分类号:TP2文献标识码:A文章编号:1671-7597(2009)0420015-01

一、控制主程序和子程序的总体思路

机床PLC控制程序编制的总体思路如下:采用模块化编程方式,分别编制不同控制功能的子程序块,如:手动点动程序块、自动循环程序块等,在机床处于不同的操作状态时执行相应的功能子程序,缩短了程序运行时的扫描执行时间并且使得程序在编制调试和故障诊断时变得简单易于查找。在控制PLC程序开头有一个负责调度管理的主程序,该程序没有具体的动作控制功能,只是不断根据外部的选择输入条件来执行数据传送和调用功能子程序完成相应的控制任务。主程序内的调用子程序的标号指针(P)可以在P0-P62,P64-P127之间任意指定,当调用条件满足时执行调用子程序指令CALL,程序流程向子程序标号指向的步跳转,执行完子程序后通过执行SRET指令程序流程返回上一级跳转的位置完成调用。子程序的标号及程序内容要在主程序结束指令FEND之后进行编写。可以执行子程序内的嵌套子程序调用,最多可达到5级嵌套子程序调用。

本程序采用在主程序下编写几个并列的功能子程序来执行不同的操作,如:P0为机床状态及夹具操作程序块用于机床状态的逻辑监控;P4为机床输出管理程序块,负责部分输出点的输出控制,在机床电源开信号给上以后就开始执行调用。

二、设定加工计时器

在P0子程序中设置了零件加工时间计时器,当机床运行标志M107接通时,开始以M8013(内部固定秒脉冲)对计数器C101进行脉冲计数,直到运行标志M107断开或复位。C101中的当前值单位是秒,要以分/秒显示则要进行二进制除法运算[DIV C101 K60 D110],该指令表示将C101中的16位数据除以常数60,将结果商数存入16位数据寄存器D110中,将余数存入16位寄存器D111中。在显示面板调用D110,D111中的数据就可以看到加工时间节拍。C101的最大设定计数值为999,若当前值超过999时,C101常开点闭合将当前值复位置零。同时在每次启动加工时M103将接通脉冲执行型[P],数据传送指令[MOVP K0 C 101],该指令只在M103从OFF→ON的第一个扫描周期内执行将常数0送入C101,将加工计时器内的当前值清零,在以后的程序扫描周期内即使M103保持ON也不执行任何传送操作。

三、设定加工计数器

累计加工计数器DD202可在每次全机运行结束M133置“1”时,对32位数寄存器D202,D203使用[DINCP D202]指令加1,该脉冲执行型指令只在M133从,“0→1”时执行一次,以后的程序扫描中即使M133为“1”该指令也不执行。32位寄存器的正数数值范围为1 -2,147,483,647,足以满足机床寿命周期内加工计数的需求,不需要在使用中间置零。每日加工计数器则需要在第二天的加工开始之前清零。

每日加工计数器使用16位字单元D201,使用脉冲执行型二进制加一指令[INCP D201 ]对其进行数值累加。使用PLC内的内置时钟的日期保存寄存器D8016,将D8016的日期数值传送到字单元D204当中作为程序执行时的日期,然后使用当前日期时间D8016与程序上次执行时间D204进行数据比较[CMP D8016 D204 M204],将数据比较结果按照“>、=、<”,三种状态输出到M204,M205,M206。

当D8016>D204时,M204=1,M205=0,M206=0;

当D8016=D204时,M204=0,M205=1,M206=0;

当D8016

在程序中使用M205常闭触点,若当前日期与上次程序执行日期不相等时,对每日加工计数寄存器D201执行数据传送指令[MOV KO D201],将常数K0送入D201当中对其进行清零,之后进行新的一天的加工计数。

四、编制报警诊断程序

机床的运行状态自诊断程序在子程序P21中编制,主要监控夹具开关的通断状态是否及时,主轴功率及主轴皮带断裂监控,油压及高压冷却等辅助系统的运行状态。在夹具开关的通断状态监控中,采用内部时间继电器在驱动电磁阀动作后开始计时,如果相应的检测开关未在时间继电器规定的时间内发讯,则发出报警,提示该开关损坏或电磁阀输出回路有问题或液压系统有问题。在皮带断裂和功率监控报警设计中,因为这种报警是非常危险的,即使在运行中偶尔发生一次,控制系统也要马上对该报警自保并立即停止加工循环,由维护人员进行检查确认后才能按复位按钮消除报警。在油压监控中,对压力继电器的常开触点进行监控,当实际压力低于压力开关设定值时触点动作,但并不马上报警,而是有一个时间延时,如果在规定时间内压力恢复则不发出报警,这是为了防止有些大流量的液压元件动作时造成系统油压突然波动降低而出现误报警。

在程序内机床的报警分为一般故障报警和严重故障报警,一般故障报警不影响本次加工循环的运行,可以在加工结束后再进行处理,严重故障报警一旦发生,马上中断当前的加工运行停下来等待故障处理后才能启动继续加工。例如油泵空开异常报警,说明油泵的主回路空气开关可能断开,此时油泵可能没有电源导致液压系统没有了油压,工件的夹紧被释放,如果此时继续加工将产生严重的后果,因此必须强制结束加工循环退回原位等待检查。在程序内两个滑台的运行基本上是独立的,其中一个伺服系统的故障不会影响到另一个系统的运行,也可以在手动情况下选择一/二头单独进行加工循环。由于电气系统必须建立坐标系后才能运行,在机床送电之后首先不能执行任何操作,必须等待两个滑台都完成原点归复建立坐标系后才能进行其余操作。机床的夹具操作必须在滑台都处在原位时才能进行,否则不能进行任何夹具的动作操作。当机床出现紧急情况要复位程序时,按“复位”按钮清除加工程序,并终止机床的加工循环,按“返回”按钮使滑台返回原位;“急停”按钮只能切断外部的直流24V电源,机床加工程序不能清除。

参考文献:

[1]何景瓷、许建平,PLC控制程序的模块化设计,机床电器,2004(5):32-33.

[2]彭道刚、杨平、杨艳华,现场总线技术的现状与展望,机电一体化,2004(2):6-10.

作者简介:

王紫东,男,天津人,本科,天津工业大学计算机技术与自动化学院自动化051,研究方向:自动化。