楊紹奎
(中山火炬職業技術學院,廣東中山 528436)
長期以來,從出版的教科書和發表的論文來看,關于數控機床的對刀原理及其實質的闡述一直存在錯誤,集中體現在“對刀就是測量工件原點在機床坐標系的坐標”或者“對刀就是測量刀具刀位點在工件坐標系中的坐標”等錯誤的闡述或解釋。幸運的是在數控編程傳授中這種錯誤解釋并不影響對刀的正確操作,但是對于學習者正確理解對刀原理以及數控系統對刀具的控制方式和深刻理解各種對刀操作有誤導作用,造成教授者解釋不清,學習者難于明白的局面。其實,數控系統在對刀時并沒有測量工件原點(W點)在機床坐標系的坐標,也沒有測量刀具刀位點(T點)在工件坐標系中的坐標。
以數控車床為例來說明,在圖1所示數控車床返回機床參考點(R點)時,數控系統通過傳感器捕捉R點,并使用預置在系統內部的R點機床坐標(Xjr,Zjr)建立機床坐標系MXZ,并同時顯示系統控制的機床坐標。系統控制的機床坐標不是R點的坐標(因R點是固定的),而是刀具參考點即E點的機床坐標(E點是機床返回到R點時刀架內或刀架延伸部分內與R點重合的那一個點),所以E點的機床坐標(Xje,Zje)被監視。安裝工件和刀具后,從圖1可知:

式中:Zjw和Zrt是不變的未知量,很顯然無法從1個方程式中解出2個未知量,也就是說數控系統雖然建立了機床坐標基準MXZ,但卻無法知道或測量W點的機床坐標Zjw。T點的工件坐標Zgt是可以測量的,但數控系統僅測量它是沒有意義的。在FANUC系統等編程或操作說明書中闡述了對刀方法,但沒有闡述其原理,這正是本文要闡述的。

機床坐標系是系統內建的第一個坐標參照系統,其坐標原點稱為機床原點,也叫M點;該坐標系中的坐標以“機床坐標”的形式在CRT上顯示。機床坐標系是一個固定的坐標系(用戶不能移動或改變M點的位置),機床坐標系的建立為數控機床的運動控制提供了統一且唯一的參照基準。
機床參考點也叫R點,R點在機床上是固定的,其機床坐標(Xjr,Zjr)預置在CNC系統內;在稱為“返回機床參考點”的操作過程中,CNC通過傳感器精確定位R點后并調用R點的機床坐標(Xjr,Zjr)建立機床坐標系MXZ,見圖1。
在R點建立機床坐標系后,數控系統還以R點為原點內建了另一個浮動的坐標參照系統,稱為相對坐標系,如圖2中的RXZ,其坐標原點稱為相對原點。該坐標系中的坐標以“相對坐標”的形式在CRT上顯示。

刀具參考點是機床在返回到R點時刀架內或刀架延伸部分內與R重合的那一點,也叫E點,E點在刀架上是固定的,在機床內是運動的。E點的相對坐標記為(Xre,Zre),如圖2。相對坐標系用來記錄刀架移動后相對位置編碼器的輸出值(刀架移動量),可見數控系統在機床坐標系中的運動控制是在相對坐標系建立后確立的。
在R點位置,數控系統將相對坐標清零,運動控制點即是刀架上的E點。由圖2可知,任意時刻E點的機床坐標與相對坐標的關系,為式(2)所示。CRT上顯示的正是E點的機床坐標和相對坐標。
在刀具安裝后,刀具T點相對于E點的位置關系是固定不變的,因此T的運動軌跡和E點的運動軌跡是完全相似的,如圖3的②和③。因此數控系統控制E點后就間接或相對地控制了T點(刀具)。

絕對坐標系是數控系統在R點時內建的另一個浮動的坐標參照系統,其原點稱為絕對原點,也叫A點。A點的機床坐標(a,c)預置在CNC系統內,在R點建立機床坐標系后,CNC調用A點的機床坐標(a,c)建立絕對坐標系,如圖2的AXZ。該坐標系中的坐標以“絕對坐標”的形式在CRT上顯示。絕對坐標系具有以下屬性:

(1)絕對坐標系被數控系統作為用戶程序的執行坐標系,即數控系統把用戶程序中的坐標視為絕對坐標,所以絕對坐標也稱為執行坐標。
(2)A點的機床坐標(a,c)在數控系統內部為變量,用戶可以給a和c賦予不同的值,從而改變A點的位置。也就是說用戶可以通過面板操作或G代碼來改變機床坐標(a,c),從而移動絕對坐標系。
由圖2和公式(2)可求出任意時刻E點的絕對坐標(執行坐標)的表達式,公式(3),E點成為用戶程序的執行點。

當編制圖4所示工件的加工程序時,必須在工件圖紙上設置一個坐標系。這個在工件圖紙上設置的坐標系稱為編程坐標系,其坐標原點稱為編程原點,也稱為P點。
例如在工件的右端面中心設置一個編程坐標系,編制了一個從P→1→2→3→4的用戶程序,即假定了T點從P點出發,經過1點、2點和3點最終到達4點。用戶程序的編制是基于編程坐標系PXZ的,它與機床(機床坐標系、工件和刀具的裝夾位置)是無關的。
當工件和刀具在機床上裝夾以后,要運行用戶程序P→1→2→3→4,必須在工件上相應于編程坐標系的位置建立另一個用戶坐標系,這個坐標系稱為工件坐標系WXZ,其原點稱為工件原點,也叫W點,如圖3。顯然對用戶而言,工件坐標系WXZ是用戶程序的執行坐標系,而T點是用戶程序的執行點。

用戶程序的運行是基于工件坐標系WXZ的,它與機床(機床坐標系、工件和刀具的裝夾位置)是有關的。如果數控系統知道W點的機床坐標,那么用戶程序指定的坐標可換算成機床坐標,用戶程序就可在機床坐標系中執行。現在W點的機床坐標無法測量,那么用戶程序怎樣才能正確執行呢?
如上所述,對用戶而言,工件坐標系WXZ是用戶程序的執行坐標系,T點是用戶程序的執行點,對數控系統而言,絕對坐標系AXZ是用戶程序的執行坐標系,E點是用戶程序的執行點。數控系統執行用戶程序是把用戶程序指定的坐標視為絕對坐標(Xae,Zae),并按公式(3)解出(Xre,Zre),然后控制E點運動。由于絕對坐標系AXZ并不在希望的位置,E點執行用戶程序的結果并不是用戶所希望的結果,如圖3的①。
由于T點相對于E點有固定不變的位置關系,T點的運動軌跡和E點的運動軌跡完全相似,如圖3的②和③。如果能使絕對坐標系AXZ相對于工件坐標系WXZ的位置關系相同于E點相對于T點的位置關系,那么數控系統控制E點在AXZ中執行用戶程序的結果會導致T點在WXZ中得到同樣的結果,如圖5的②和③,而這正是用戶所希望的結果。

用戶可以在機床坐標域中移動絕對坐標系到任意位置,所以這點是可以做到的。這正是數控系統內建絕對坐標系并把它作為用戶程序執行坐標系的原因。

如圖6所示,E點相對于T點有固定不變的位置關系,若使T點在工件坐標系WXZ中有工件坐標(i,j),于此同時使E點在絕對坐標系中有絕對坐標(i,j)。可以證明從此A點相對于W點的位置關系等同于E點相對于T點的位置關系,這就是對刀原理。
在工件坐標系中具有工件坐標(i,j)的點稱為對刀點,對刀就是使T點與對刀點(間接或直接)重合。
在對刀位置,E點的相對坐標(Xre,Zre)有確定的值,根據對刀原理,令Xae=i,Zae=j,由公式(3)解出A點的新機床坐標(a,c),有:

公式(4)是數控系統移動絕對坐標系的計算式。圖5所示即是機床R點的坐標為(270,900),對刀點的工件坐標為(0,0)并由公式(4)移動絕對坐標系后的情況,E點在AXZ坐標系中的坐標為(0,0)。此時在AXZ中運行用戶程序,則CNC控制E點在AXZ中走出軌跡②,同時T點會在WXZ中走出軌跡③,這正是用戶希望的結果。
通過對刀建立工件坐標系,數控系統并沒有測量工件原點在機床坐標系的坐標,也沒有測量刀具刀位點在工件坐標系中的坐標,而是在系統內部通過改變A點的機床坐標(a,c)來移動執行坐標系AXZ到某一確定位置,用執行坐標系AXZ來模擬工件坐標系WXZ,用刀具參考點E來模擬刀具刀位點T。
由此可見,用戶對工件坐標系和T點的操作等價于系統對絕對坐標系和E點的操作,在數控機床廠家的編程說明書中將絕對坐標系說成是工件坐標系正是基于此,但兩者絕不是等同的。這一過程對用戶是不透明的,使用戶看起來似乎是等同的,所以才有在前文中提到的關于對刀原理的錯誤解釋。
數控系統的偏置補償也是基于和應用對刀原理,FANUC系統的G54~G59和G92指令在數控系統內部本質上也是對A點的機床坐標(a,c)的操作。
[1]陳光明,吳洪彬.數控車床的對刀原理及對刀方法[J].機床與液壓,2002(3):179-181.
[2]王建平,黃凳紅.數控加工中的對刀方法[J].工具技術,2005,39(2):73-75.
[3]張秀平.數控機床的對刀原理及常用對刀方法[J].機械制造與自動化,2010(4):73-75.
[4]蒙斌.數控機床通過對刀建立工件坐標系的原理及過程[J].機械工程與自動化,2005(6):92-94.
[5]許春香,黃桂琴,王亞輝.數控編程與操作[M].北京:清華大學出版社,2010.
[6]榮瑞芳,關雄飛.數控加工工藝與編程[M].西安:西安電子科技大學出版社,2006.
[7]FANUC.FANUC 0i Mate-MC 操作說明書 B-64144CM/01[Z].
[8]廣州數控設備有限公司.GSK980TD車床CNC使用手冊[Z].2006.