陳 萌,賈廣鵬,劉 樂
(中國重汽集團濟南動力部,山東濟南 250220)
德國FIBRO GSA公司的桁架機械手(圖1)采用SINUMERIK 840D系統(tǒng),垂直軸采用SITEMA安全鎖緊機構(gòu),X/Z軸2個直線軸采用西門子直線電機驅(qū)動,A/C軸是旋轉(zhuǎn)軸,可以實現(xiàn)縱向和橫向的機床上料。機械手最大的特點是可以根據(jù)機床的請求信號實現(xiàn)自動上料,無需手動操作,大大提高了生產(chǎn)線的自動化程度并降低了手動操作的不可靠性。
圖1 桁架機械手
機械手到指定工位上料或下料時,如果工件位置不準確或工裝定位不準等都會使機械手的上料或者下料動作無法完成,嚴重的還可能發(fā)生機械手與工件碰撞,造成很大的損失。因此加工過程中,機械手除了對工件的位置有開關(guān)和機床的通訊信號外,還通過加工程序?qū)ι狭匣蛳铝线^程進行碰撞監(jiān)控,及時感知上下料時的異常情況,避免發(fā)生大的碰撞。加工程序在不同過程中,通過讀取系統(tǒng)參數(shù)$AA_LOAD[Z]讀取Z軸的負載,通過對Z軸的負載進行實時監(jiān)控以避免對機床造成更大的破壞。
_N_MMAC_DEF 宏指令定義(機床制造商)
LOAD_AX3/LOAD_AX4 在上述文件中定義的宏指令
MAXLOADON.SPF 監(jiān)控軸功率最大值的功能開啟
MAXLOADOFF.SPF 監(jiān)控軸功率最大值的功能關(guān)閉
MAXLOADPRT.SPF 記錄功率的最大值、日期和時間
L_AUTO.SPF 加工程序
HP_START.MPF 主程序
使用該系統(tǒng)參數(shù)$AA_LOAD[Z]的前提條件是:
N19320 $ON_TECHNO_FUNCTION_MASK='H2'
N36730 $MA_DRIVE_SIGNAL_TRACKING[AX3]=1
19320 的 bit1=1,36730=1 激活系統(tǒng)參數(shù)$AA_LOAD[Z]。
MAXLOADON.SPF:
將測量的伺服軸的最大功率存在R參數(shù)中,
R551:Axis 1/z.B.Axis X1
R553:Axis 3/z.B.Axis Z1
R554:Axis 4/z.B.Axis Z2
圖2組態(tài)的是碰撞監(jiān)控的軸、宏指令和R參數(shù)的對應(yīng)關(guān)系。
如表1所示,測量值一般應(yīng)加上10%后存儲在R參數(shù)中,但累加值一般不應(yīng)低于3。在全局用戶數(shù)據(jù)中可以查看(圖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 碰撞監(jiān)控的軸、宏指令和R參數(shù)的對應(yīng)關(guān)系
表1 測量值與應(yīng)用值
圖3 全局用戶數(shù)據(jù)
msg("Channel"<<$p_channo<<":Power-maximum(in%)of axis"<<ld_m_ax<<"will be saved in R"<<550+lv_i<<"")
endif
如果L_ATUO.SPF中調(diào)用MAXLOADON(Z1),則ld_m_ax=Z1,所以lv_i=3、r599=3,即Z軸的最大功率存儲在R553。
MAXLOADOFF.SPF 關(guān)閉功率測量
MAXLOADPRT.SPF 記錄測量的相關(guān)數(shù)據(jù),并且寫到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]則刪除余程,并發(fā)出報警66287"Kanal%1:überlast Achse%4"/“通道%1:%4軸過載”。
L_AUTO.SPF:(卸載工件碰撞監(jiān)控部分)
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< 測量關(guān)
N1660 MAXLOADPRT (0,LV_NPV,02,R553);>ML5<記錄測量數(shù)據(jù)
通過分析可以看到,機械手在上料下料過程中Z軸的負載只要超出標準值,系統(tǒng)就會立刻刪除余程,并發(fā)出報警,有效地避免了碰撞給機械手帶來重大的損失,并且該次監(jiān)控的時間、日期、零點偏置、加工標志和功率都被記載到MAXLP_N.SPF中,通過查看記錄可以對一段時間的加工過程有一個詳細的了解,查看機械手的負載是否穩(wěn)定,如果波動頻繁可以從傳動結(jié)構(gòu)或機床的定位不準確等項找出問題并改善。