加工中心主要用來加工形狀復雜、工序多、精度要求高的零件,因而加工一個零件要用幾把或十幾把刀具甚至更多。由于每把刀具的直徑、大小和長度都是不同的,在對被加工零件確定工件坐標系零點后,有必要引入刀具補償功能,以保證在加工過程中各把刀能下降到正確的高度和以正確的刀具路徑進行切削加工。
刀具補償可分為刀具長度補償和刀具半徑補償。長度補償是指主軸軸向的補償,也就是銑刀軸向的補償;對于銑刀徑向的補償,由于每把銑刀的直徑和大小不一樣,所以在直徑方向的補償叫半徑補償。
1 刀具半徑補償
(1)半徑補償意義
陜西數(shù)控加工中心在程序運行時將刀具當做一個點做軌跡運動。比如用刀具R3銑邊長100 mm的正方形凸臺時,程序按邊長100 mm的正方形尺寸輸入,而刀具軸心的軌跡是邊長106 mm的正方形,則工件上銑削的是符合圖紙尺寸的100 mm的正方形。假如不用刀具半徑補償功能,則加工時刀具軸心的軌跡是邊長100 mm的正方形,則工件上銑削出的是邊長為94 mm的正方形凸臺,不符合圖紙尺寸的要求。
(2)指令格式
G17/G18/G19 G00/G01 G41/G42 IP_D_
G41:刀具半徑左補償
G42:刀具半徑右補償
半徑補償僅能在規(guī)定的坐標平面內(nèi)進行,使用平面選擇指令G17、G18或G19可分別選擇XY、ZX或YZ平面為補償平面。半徑補償必須規(guī)定補償號,由補償號D存入刀具半徑值,則在執(zhí)行上述指令時,刀具可自動左偏(G41)或右偏(G42)一個刀具半徑補償值。由于刀補的建立必須在包含運動的程序段中完成,因此以上格式中,也寫入了G00(或G01)。在程序結(jié)束前應取消補償。
(3)刀具半徑補償?shù)膽?
刀具半徑補償有B功能和C功能兩種補償形式。由于B功能刀具半徑補償只根據(jù)本段程序進行刀補計算,不能解決程序段之間的過渡問題,要求將工件輪廓處理成圓角過渡,因此工件尖角處工藝性不好;C功能刀具半徑補償能自動處理兩程序段刀具中心軌跡的轉(zhuǎn)接,可完全按照工件輪廓來編程,因此現(xiàn)代CNC數(shù)控機床幾乎都采用C功能刀具半徑補償。
刀具半徑補償?shù)姆较蛟趺磁袛嗄?判斷的方法:"順著刀具運行的方向"上看去,刀具在工件的左面為左補償,刀具在工件的右面為右補償。補償可以為"負",當?shù)毒甙霃窖a償取負值時,G41和G42的功能互換。
刀具的半徑值預先存入存儲器Dxx中,xx為存儲器號,當一個程序需用到幾把刀時,建議刀具號Txx和存儲器Dxx相對應,即T1號刀具半徑補償值相應地使用D01號存儲器,這樣加工時不容易搞錯。執(zhí)行刀具半徑補償后,數(shù)控系統(tǒng)自動計算,并使刀具按照計算結(jié)果自動補償。在加工的過程中,如果零件輪廓尺寸與圖紙尺寸有差別,就可以通過修正存儲器Dxx中的半徑補償值,再重新運行程序以達到要求。取消刀具半徑補償用G40,也可用D00取消刀具半徑補償。
使用中需注意:建立、取消刀補時,G41、G42、G40指令必須與G00或G01指令共段,即使用G41、G42、G40指令的程序段必須同時使用G00或G01指令,而不得同時使用G02或G03,并且建立、取消刀補時所運行的直線段的長度要大于所要補償?shù)牡毒甙霃街?,否則補償功能不起作用;在補償方式中,寫入2個或更多刀具不移動的程序段(輔助功能,暫停等等),刀具將產(chǎn)生過切或欠削。
2 刀具長度補償
(1)刀具長度補償?shù)囊饬x
例如,要鏜一個Φ40mm的孔,確定要用到兩把刀,先用鉆頭鉆到Φ38 mm,再用鏜刀鏜到Φ50mm,此時機床已經(jīng)設定工件零點,而編程時一般都是讓刀具快速下降到Z3的高度開始切削,若是以鉆頭對刀確定工件座標系的Z原點,則鉆頭鉆削時不會撞刀。當換上鏜刀時,如果沒有設定刀具長度補償而程序中同樣設定快速下降到Z3,這時當鏜刀比鉆頭短時,就會出現(xiàn)鏜孔鏜不通的現(xiàn)象,而當鏜刀比鉆頭長時就會出現(xiàn)撞刀。
不設定刀具長度補償而在程序中通過修改Z地址值來保證加工零點的正確很容易出錯,因為程序長了各段地址代碼值不統(tǒng)一是很難檢查出錯誤的,而且在加工的過程中若刀具磨損了需要修改程序,若一個零件加工過程中同一把刀要加工幾個不同的面,那當這把刀磨損之后則要修改所有與這把刀相關(guān)的程序。而在編制程序中用上了刀具長度補償指令之后,當?shù)毒甙l(fā)生磨損后,只需在相應的刀具長度補償號中修改長度補償值就可以了,不需要再修改程序,這樣既提高了工作效率,也保證了程序的安全運行。
(2)刀具長度補償G43、G44、G49
系統(tǒng)規(guī)定除Z軸之外,其他軸也可以使用刀具長度補償,但同時規(guī)定長度補償只能同時加在一個軸上,要對補償軸進行切換,必須先取消對前面軸的補償。
指令格式:
G43α___H___:(α指X、Y、Z任意一軸),刀具長度補償"+"。
G44α___H___:刀具長度補償"-"。
G49或H00:取消刀具長度補償。
指令中用G43、G44指令偏移的方向,用H指令偏置量存儲器的偏置號;G43指令叫正向補償,即當用G43對刀具長度補償值指定一個正值時,刀具按照正向移動;G44指令叫負向補償,即當用G44對刀具長度補償值指定一個正值時,刀具按照負向移動。G43和G44是模態(tài)G代碼。它們一直有效,直到指定同組的G代碼為止。執(zhí)行程序前,需在與地址H所對應的偏置量存儲器中存入相應的偏置值。以Z軸補償為例,若指令 GOO G43 Z100.0 H01,并于H01中存入"-200.0",則執(zhí)行該指令時,將用Z坐標值100.與H01中所存"-200."進行"+"運算,即100.0+(-200.0)=-100,并將所求結(jié)果作為Z軸移動值。加工程序每調(diào)用不同的刀具的時候,都要先取消掉原先的刀具補償,再把新調(diào)用的刀具長度補償進去;而在程序結(jié)束前也要記得插入取消指令G49或H0.
(3)CNC系統(tǒng)中刀具長度補償功能與其他指令的關(guān)系
①刀具長度補償與半徑補償功能的關(guān)系
如果在零件的數(shù)控加工程序中,既有刀具長度補償又有刀具半徑補償(在控制器中補償)指令時,必須把含有長度補償?shù)某绦蚨螌懺诤邪霃窖a償?shù)某绦蚨吻懊?,否則半徑補償無效。
例如,在下面的程序段中:
N50 GOOG41X20Y20D02
N60 GOOG43Z10
數(shù)控系統(tǒng)不執(zhí)行刀具半徑補償。若改為:
N50 GOOG43Z10
N60 GOOG41X20Y20D02
則數(shù)控系統(tǒng)既執(zhí)行刀具半徑補償又執(zhí)行刀具長度補償指令。
②刀具長度補償與其它指令的關(guān)系
a.G43,G44指令只能用于直線運動之中,在非直線運動語句中使用時會產(chǎn)生報警;
b.G43,G44為同組模態(tài)指令,它們會自動取消上次刀具長度補償而不需要用專門的G49指令,為了安全起見,在一把刀加工結(jié)束或程序段結(jié)束時,都應取消刀具長度補償;
c.刀具長度補償必須伴隨獨立的插補運動(GOO,GO1,G81,G83等)才能有效。
(4)刀具長度補償值的確定
不同的設備系統(tǒng),有不同的對刀方式,而不同的對刀方式,刀具長度補償?shù)暮x是不一樣的。如某加工中心系統(tǒng),配上自動測量儀,它的長度補償是補償?shù)毒叩恼嬲L度,即主軸錐孔端面中心至刀具刃口較底端的長度;而某系統(tǒng)中機上手動對刀時長度補償是指補償?shù)毒邚哪骋籞軸向基準高度下降到工件座標原點的距離,它補償?shù)牟皇堑毒叩恼嬲L度,而是刀具下降的距離。不同的刀具有不同的長度補償值;而機內(nèi)手動對刀時同一把刀加工不同工件編程原點的零件時也有不同的長度補償值,這些不同的補償值可以分別寄存在不同的長度補償號H里面, 以備機床運行時程序隨時調(diào)用。
①機內(nèi)手動對刀測量方式
讓Z軸回到機床參考點,這時機床座標系中X,Y,Z軸數(shù)值都為零,選擇一個工件座標系(G54~G59任選一個都可),這時把Z值輸為零,再把刀具裝入主軸,依次確定每把刀具與工件在機床坐標系中的ZO平面相接觸,即利用刀尖(或刀具前端)在Z方向上與工件坐標系原點的距離值作為長度補償值,即主軸下降后此時機床坐標系的Z坐標值直接作為每把刀的刀具長度補償值,注意數(shù)值的正負號不能漏。
②機外刀具自動預調(diào)儀測量方式
機外刀具自動預調(diào)儀測量方式是在刀具預調(diào)儀上測出的主軸端面至刀尖的距離,輸入CNC的刀具長度偏置寄存器中作為刀長補償值,此時的刀長補償值是刀具的真正長度,是正值。
③自動測長裝置十機內(nèi)對刀方式
設標準刀具的長度補償值為零,把在刀具預調(diào)儀上測出的各刀具長度與標準刀具的長度之差分別作為每把刀的刀具長度補償值.其中,比標準刀具長的記為正值,比標準刀具短的補償值記為負值。
先通過機內(nèi)對刀法測量出基準刀在返回機床參考點時刀位點在Z軸方向與工件坐標系原點的距離,并輸入工件編程座標系中。