朱艳琼 陈怀良 邹 涛 唐丙松 刘 莉
(①沈机集团昆明机床股份有限公司,云南昆明650203②昆明电缆集团股份有限公司,云南昆明650503)
在多轴同方向移动的机床运动中,容易产生干涉 碰撞现象,轻则碰坏工件,损坏刀具;重则使机床局部受损、精度降低、机床报废,甚至危及操作者的生命安全,其后果非常严重[1]。本文以某型数控龙门镗铣床为研究对象,针对多轴同方向移动防碰撞控制技术研究,运用西门子系统的异步子程序功能进行设计,实现机床防止碰撞的功能。
定立柱动横梁式数控龙门镗铣床总体布局为工作台沿床身作纵向移动(X轴)、横梁沿左右两立柱上下移动(W轴),在横梁上装有滑枕式镗铣头(主轴),滑枕式镗铣头的滑座沿横梁作横向移动(Y轴),滑枕沿滑枕座作垂直向移动(Z轴)。如图1所示,为了实现更加复杂、深度更大的加工,本文中的某型龙门镗铣床特别设计了滑枕带镗轴结构,镗轴可沿滑枕作垂直移动(Z1轴),使得垂直方向进给包括W轴(2 500 mm)、Z轴(1 250 mm)以及Z1轴(1 000 mm),叠加总行程达到了4 750 mm。
当机床各个进给轴在安全位置,由于机床滑枕端面安装了附件头,附件头长度会影响机床安全行程。如果操作不慎,容易与正下方的工作台发生碰撞。为避免此类情况发生,需设计防碰撞子程序,实时监控垂直向各进给轴的叠加行程,在到达危险区域时,停止机床进给,防止损伤机床、刀具和工件。
通过设置异步子程序所需的参数用于激活西门子840D系统的异步子程序功能,包括调整优先级、执行方式、响应方式等。在NC子程序中判断垂直向各进给轴叠加行程长度,包括附件头及刀具长度,在达到危险区域时,把进给轴的进给倍率变成0,让进给轴停下。通过基于西门子程序中断功能块的异步执行技术的PLC程序,利用程序中断功能块FB4,执行功能块FC9实现NC子程序的选择与执行。
当系统正常上电后,程序执行过程中,PLC选择并执行NC子程序,NC子程序实时比较叠加行程与危险行程的关系,利用运动同步指令使进给轴自动停下[2]。具体解决方案如图2所示:
当进给轴停止之后,通过机床面板上设置的按键,解除进给率修调的指令,手动将进给轴回退到安全的位置,实现保护机床部件的目的。
系统回参考点之后激活并运行防碰撞子程序,子程序中判断是否有附件头及其型号,根据不同型号选择不同的安全行程;如果未装载附件头而是刀具,则读取刀具长度并在安全行程中减去该值,以适应安装不同附件头及刀具的工况。该机床利用异步子程序来实现该功能。
MD11600 BAG_MASK,位0=0加工程序被异步子程序中断后,可切换操作方式
MD11602ASUP_START_MASK=3,ASUP 运行时可点动
MD11604 ASUP_START_PRIO_LEVEL=7,ASUP优先级
控制轴的运动需要用到运动同步指令,运动同步指令是指NC在作程序插补的同时,可以另外执行其他一些动作,这些动作的有效范围可以不受指令执行范围限制。按有效范围不同,同步指令分模态同步指令和非模态同步指令,非模态同步指令只在紧跟该指令后面的一条指令内有效,而模态同步指令执行后,只要没有取消该同步动作,在程序运行状态下一直有效[3]。
指令格式:
(ID=n KEYWORD condition)DO ACTION
括号内部分为可选项,如果有ID号,则为模态指令。没有ID则为非模态指令,对于需要不受工作方式限制的模态指令用IDS标识。ID号的范围为1~255。在执行时系统先按ID号从小到大执行模态指令,然后再执行非模态指令。
KEYWORD condition是为后面要执行的动作指令执行条件,如果没有指令条件,则该指令无条件执行。常用的条件有以下几种:
WHEN每一个插补周期系统检测要执行的条件,如果条件满足,则执行一次后面指令的动作,后面即使条件还满足,指令也不再执行。
WHENEVER系统每一个插补周期都检测指令的执行条件是否满足,只要条件满足就执行,后面的指令动作,不受次数限制。
EVERY当指令条件从不满足变成满足时,指令动作就执行一次。
FROM当指令执行的条件一满足,指令动作就执行,执行开始后,即使条件不再满足了,指令动作也照样执行。
对于指令要执行的条件,可以是各种系统变量间的逻辑运算,也可以是某个输入点的状态,比如:
WHENEVER$AA_IM[X]>5*SIN(30)DO ACTION
只要X轴的坐标值大于5和SIN(30)的乘积,系统就执行DO后面的指令动作。
对于指令后面的动作ACTION,常用的有:
STOPREOF停止译码功能取消
DELDTG删除余程
RDISABLE读入使能取消
POS[axis]= , FA[axis]=定位轴定位功能
$AA_OVR=, $AC_OVR=改变轴或者是路径进给倍率
根据解决方案,需要在NC程序中计算叠加行程长度并作出判断是否到达危险区域,还要考虑到是否安装了附件头和刀具。
名字:POSLIMIT.SPF,并放入子程序文件夹中。
内容:
其中,$A_IN[10]~[13]判断附件头的存在,UGUD[0]存储危险行程值,通常设定成1 000 mm,UGUD[1]~[3]存储 3个附件头的长度,$P_TOOLL读取当前刀具长度。
(1)修改OB100中FB1参数IN42(NCKomm)=TRUE。默认为FALSE。
(2)新建一个DB数据块DB136,用来存储子程序名和存放路径,见图3。
变量STAT0存储子程序路径SPF.DIR。
变量STAT1存储子程序名字POSLIMIT.SPF。
(3)创建一个功能调用FC100,用来调用功能块FB4和FC9。FB4是将NC子程序POSLIMIT.SPF与中断号建立对应关系;而FC9是在检测到PLC状态后,触发中断,从而激活异步子程序。
调用FB4:
CALL FB 4,DB126
Req :=m50.0触发FB4的条件是NC启动和已回参考点
PIService:=”PI”.ASUP 固定格式
Unit :=1通道1
Addr1 :=DB136.STAT0指定NC程序所在路径
Addr2 :=DB136.STAT1指定NC程序名
Addr3 :=
Addr4 :=
WVar1 :=W#16#1中断号
WVar2 :=W#16#1中断优先级
WVar3 :=
WVar4 :=
WVar5 :=
WVar6 :=
WVar7 :=
WVar8 :=
WVar9 :=
WVar10:=
Error :=M50.1出错标志
Done :=M50.2完成标志
State:=M51状态字
调用FC9:
CALL FC 9
Start:=M60.0触发中断的条件
ChanNo:=1通道号
IntNo :=1中断号
Activ:=M60.1正在执行FC9标志
Done:=M60.2完成标志
Error:=M60.3出错标志
StartErr:=M60.4出错标志
Ref:=MW61参考字(内部用)
(4)在OB1中调用FC100,并且通过按键来控制中断执行标志位:
CALL FC 100
AN I 6.3解除按键
= M60.0中断执行标志号
当系统上电,NC启动正常并回到参考点,子程序POSLIMIT.SPF被选择并执行。加工程序自动运行,当垂直向各轴到达危险区域时,将进给修调设置为0,使进给轴停下。按住机床面板上的“解除键”,系统则不再调用子程序,此时可通过手动方式将轴退回到安全位置。
3 扩展技术
多轴同方向移动防碰撞控制技术,可以运用到同一床身多个龙门框架的机床上,例如第一个龙门的X1向与第二个龙门X2向安全保护,以及各自龙门Z1向、Z2向与工作台或工件之间的安全保护。还可以运用到数控对置落地铣镗床、刨台式铣镗床、多个机械手臂、特殊功能附件上等。在技术发展的同时,可以使用数控系统自带的安全保护功能进行安全保护,也可以通过模型及处理方法运用到非伺服控制的移动轴或运动轴上,还可以通过加装检测元件,如RFID非接触式自动识别开关、测头等,形成空间多维防碰撞安全保护技术。
通过对多轴同方向移动防碰撞控制关键技术研究,开发的运动同步控制子程序适用于大型龙门镗铣床系列产品,实现了大型机床的附件头、刀具长度及垂直方向行程叠加计算和进给轴的实时控制,为大型数控龙门铣镗床实现安全控制奠定了良好的基础。该防碰撞控制技术已经在多台大、重型龙门镗铣床上获得成功应用,提升了机床的技术附加值、操作安全性和生产效率,优越性突出。