FIBRO桁架机械手碰撞监控解析
2019-07-09贾广鹏
陈 萌,贾广鹏,刘 乐
(中国重汽集团济南动力部,山东济南 250220)
1 机床简介
德国FIBRO GSA公司的桁架机械手(图1)采用SINUMERIK 840D系统,垂直轴采用SITEMA安全锁紧机构,X/Z轴2个直线轴采用西门子直线电机驱动,A/C轴是旋转轴,可以实现纵向和横向的机床上料。机械手最大的特点是可以根据机床的请求信号实现自动上料,无需手动操作,大大提高了生产线的自动化程度并降低了手动操作的不可靠性。
图1 桁架机械手
2 碰撞监控
2.1 实时监控
机械手到指定工位上料或下料时,如果工件位置不准确或工装定位不准等都会使机械手的上料或者下料动作无法完成,严重的还可能发生机械手与工件碰撞,造成很大的损失。因此加工过程中,机械手除了对工件的位置有开关和机床的通讯信号外,还通过加工程序对上料或下料过程进行碰撞监控,及时感知上下料时的异常情况,避免发生大的碰撞。加工程序在不同过程中,通过读取系统参数$AA_LOAD[Z]读取Z轴的负载,通过对Z轴的负载进行实时监控以避免对机床造成更大的破坏。
2.2 宏定义和几个工件程序
_N_MMAC_DEF 宏指令定义(机床制造商)
LOAD_AX3/LOAD_AX4 在上述文件中定义的宏指令
MAXLOADON.SPF 监控轴功率最大值的功能开启
MAXLOADOFF.SPF 监控轴功率最大值的功能关闭
MAXLOADPRT.SPF 记录功率的最大值、日期和时间
L_AUTO.SPF 加工程序
HP_START.MPF 主程序
使用该系统参数$AA_LOAD[Z]的前提条件是:
N19320 $ON_TECHNO_FUNCTION_MASK='H2'
N36730 $MA_DRIVE_SIGNAL_TRACKING[AX3]=1
19320 的 bit1=1,36730=1 激活系统参数$AA_LOAD[Z]。
MAXLOADON.SPF:
将测量的伺服轴的最大功率存在R参数中,
R551:Axis 1/z.B.Axis X1
R553:Axis 3/z.B.Axis Z1
R554:Axis 4/z.B.Axis Z2
图2组态的是碰撞监控的轴、宏指令和R参数的对应关系。
如表1所示,测量值一般应加上10%后存储在R参数中,但累加值一般不应低于3。在全局用户数据中可以查看(图3)。
GD_AXNAME1_S=X1
GD_AXNAME3_S=Z1
GD_AXNAME4_S=Z2
MAXLOADON():
id=12 whenever$aa_load[axname(ld_m_ax)]>$r[550+lv_i]do$r[550+lv_i]=$aa_load[axname(ld_m_ax)] ;将轴的最大的功率放到R[550+lv_i]
if not lv_nomsg
图2 碰撞监控的轴、宏指令和R参数的对应关系
表1 测量值与应用值
图3 全局用户数据
msg("Channel"<<$p_channo<<":Power-maximum(in%)of axis"<<ld_m_ax<<"will be saved in R"<<550+lv_i<<"")
endif
如果L_ATUO.SPF中调用MAXLOADON(Z1),则ld_m_ax=Z1,所以lv_i=3、r599=3,即Z轴的最大功率存储在R553。
MAXLOADOFF.SPF 关闭功率测量
MAXLOADPRT.SPF 记录测量的相关数据,并且写到MAXLP_N.SPF 中(N=0.1.2…..):
DATE|TIME|ZPS|STEP|POWER|
19.6.12|10:2:0|2|14|25.6|
19.6.12|10:2:2|2|15|22.69|
19.6.12|10:2:26|17|2|27.96|
19.6.12|10:14:1|6|12|28.03|
19.6.12|10:14:52|22|4|22.36|
19.6.12|10:15:30|2|14|25.54|
19.6.12|10:15:32|2|15|22.94|
19.6.12|10:15:56|17|2|28.26|
19.6.12|10:24:26|4|12|27.84|
19.6.12|10:25:17|20|4|22.57|
19.6.12|10:25:46|2|14|25.55|
ZPS:零点偏置 STEP:加工标志 POWER:功率
_N_MMAC_DEF:(定义宏指令)
define LOAD_AX1 as when ($aa_load[axname(gd_axname1_s)]>$r561)do deldtg setal(66287)
define LOAD_AX2 as when ($aa_load[axname(gd_axname2_s)]>$r562)do deldtg setal(66287)
define LOAD_AX3 as when ($aa_load[axname(gd_axname3_s)]>$r563)do deldtg setal(66287)
define LOAD_AX4 as when ($aa_load[axname(gd_axname4_s)]>$r564)do deldtg setal(66287)
define LOAD_AX5 as when ($aa_load[axname(gd_axname5_s)]>$r565)do deldtg setal(66287)
define LOAD_AX6 as when ($aa_load[axname(gd_axname6_s)]>$r566)do deldtg setal(66287)
define LOAD_AX7 as when ($aa_load[axname(gd_axname7_s)]>$r567)do deldtg setal(66287)
define LOAD_AX8 as when ($aa_load[axname(gd_axname8_s)]>$r568)do deldtg setal(66287)
如果负载超过R[560+lv_i]则删除余程,并发出报警66287"Kanal%1:überlast Achse%4"/“通道%1:%4轴过载”。
L_AUTO.SPF:(卸载工件碰撞监控部分)
N1610 MAXLOADON("Z1");+ML1+测量开启
N1620 R563=62.7 ;>ML2<标准值
N1630 LOAD_AX3 ;>ML3<检测是否超出最大值(R563),如果过载则立刻停止
N1640 G1 G64 Z1=0+GV_Z_VORHALT1 F=GV_F_Z_L1;运行到距目标位置20 mm的距离
N1650 MAXLOADOFF;>ML4< 测量关
N1660 MAXLOADPRT (0,LV_NPV,02,R553);>ML5<记录测量数据
3 结束语
通过分析可以看到,机械手在上料下料过程中Z轴的负载只要超出标准值,系统就会立刻删除余程,并发出报警,有效地避免了碰撞给机械手带来重大的损失,并且该次监控的时间、日期、零点偏置、加工标志和功率都被记载到MAXLP_N.SPF中,通过查看记录可以对一段时间的加工过程有一个详细的了解,查看机械手的负载是否稳定,如果波动频繁可以从传动结构或机床的定位不准确等项找出问题并改善。