在正常情況下,工件坐標系原點可以設在任何地方,只要此原點與機床坐標系原點有一定的關系即可。但在實際操作時,萬一出現指令值為零或接近零時,刀具就會直指零或接近零的位置。在銑削加工時,刀具將奔向機床工作臺面或夾具基面:在車削加工時,將奔向卡盤基面。這樣,刀具將穿透工件直指基準面。此時,若為快速移動,則必發生事故。
FANUC系統一般設定:當省略小數點時,為zui小輸入單位,通常為μm。當疏漏了小數點時,則輸入的值將縮小成千分之一,此時,輸入的值就會接近于零。或者,由于其他原因,使刀具本應離開工件但實際并未離開工件而進入工件之內。出現這種情況時,工件坐標系零點應設在工件以外或在工作臺(或夾具)基面上,其結果將是不一樣的。
編程員和操作者在書寫程序時,對小數點要倍加小心。
FANUC系統在省略小數點時為zui小設定單位,而大多數國產系統及歐美的一些系統,在省略小數點時,則為mm,即計算器輸入方式。若你習慣了計算器輸入方式,則在FANUC系統上就會出現問題。不少編程員和操作者,可能兩種系統都要使用,為防止因小數點而使尺寸變小的情況,應在計算器輸入方式的程序中,也加上小數點。這樣做,對某類系統是多余的,但養成習慣后,就不會因為小數點而出現問題。
為了使小數點醒目,在編程時往往把孤立的小數點寫成“.0”的形式。當然,系統在執行時,數值的小數點以后的零被忽略。
操作者在調整工件坐標系時,應把基準點設在所有刀具物理(幾何)長度以外,至少應在zui長刀具的刀位點上。
對于工件安裝圖上的工件坐標系,操作者在機床上是通過設置機床坐標系偏移來獲得的。亦即,操作者在機床上設定一個基準點,并找到這一基準點與編程員設定的工件坐標系零點之間的尺寸,并把這一尺寸設為工件坐標系偏移。
在車床上,可把基準點設在刀架旋轉中心、基準刀具刀尖上或別的位置。如果不附加另外的運動,則編程員指令的零,即為刀架(機床)的基準點移動到偏程的零位置。此時,若基準點設在刀架旋轉中心,則刀架必與工件相撞。為保證不相撞,則機床上的基準點不但應設在刀架之外,還應設在所有刀具之外。這樣即使刀架上裝有刀具時,基準點也不會與工件相撞。
在銑床上,X、Y軸的基準點在主軸軸心線上。但是,Z軸的基準點,可以設在主軸端或在主軸端之外的某點上。若在主軸端,當指令為零時,主軸端將到達坐標系的零位置。此時,主軸端的端面鍵將與工件相撞:若主軸上再裝有刀具,則必與工件相撞。為保證不相撞,則Z軸上的基準點應設在所有刀具長度之外。即使不附加別的運動,基準點也不會撞工件。
操作者在調整刀具長度偏置時,應保證其偏置值為負值。
編程員在指令刀具長度補償時,車削用T代碼指令,而銑削用G43指令,即把刀具長度偏置值加到指令值上。在機床坐標軸的方向上,規定刀具遠離工件的運動方向為正,刀具移近工件的方向為負。操作者把刀偏值調整為負值,是指令刀具移向工件。程序中指令刀具向工件趨近時,除了指令值之外,還要附加刀具的偏置值,這個附加的值是移向工件的。此時,萬一此值被疏漏,刀具就不會到達目標點。
為使刀具偏置值為負值,則在規定機床上的基準點時,必須設在所有刀具長度之外,至少應在基準刀具的刀位(尖)點上。
取消刀具長度偏置(補償)時,應使刀具在工件之外。
有時,在加工中間要取消刀具長度偏置。例如,在加工中心上,若發出G28、G30和G27指令時,機床返回換刀點進行自動換刀。為保證準確到達換刀位置,在指令中要取消刀具長度偏置,如G30Z-G49:其中,Z—為刀具移動的中間點。刀具在到達中間點時要取消刀具長度補償。這個中間點若是選得不妥,則刀具刀尖可能并未離開工件,或者反而移向工件,此時就可能發生事故。在編程時,刀具長度一般并未確定,如果指令的值不足以使刀尖遠離工件,則將出現危險。此時,應采用增量值編程,讓增量值大于所有的刀具長度補償值。如刀具長度補償值為200mm,指令G30G49G91Z200.0。若按照前面所建議的方法設定機床上的基準點和調整刀具長度偏置(補償)的話,只要指令點在工件之外,則刀尖必定遠離工件。
刀具號與刀具補償號要便于核對。
刀具號用T代碼指令,其補償號由操作者在系統偏置數據區內設定。車削系統用T代碼加2位數或4位數,其中,高位數指令刀具號,低位數指令刀具補償號。在銑削系統中由T代碼指令刀具號,由H代碼指令刀具長度補償,用D代碼指令刀具補償半徑,且H和D代碼用的是同一組數據,刀具號與補償號之間是互相獨立的,編程員可自主。
為了便于核對和設定,除了特殊用途外,車削系統的刀具號與補償號相同,例如:T11或T101等。即1號刀具用1號補償值。銑削系統用T1調用刀具,用H1調用刀具長度補償值,用D21調用刀具半徑補償值(如果刀具少于20把時)。即1號刀具用1號長度補償值,用21號半徑補償值,便于編程和設定操作,也便于記憶,以減小出錯機率。