袁士平
(北京航空制造工程研究所,北京100024)
五軸聯(lián)動加工中心能高效率、高質(zhì)量地完成復雜工件的五面加工,在飛機主機、發(fā)動機、模具等行業(yè)得到了廣泛的應用。要實現(xiàn)五軸加工,首先要規(guī)劃刀具軌跡,使刀具的運動軌跡光滑連續(xù)無干涉,一般靠自動編程軟件實現(xiàn)。自動編程軟件輸出刀位源文件(cutter location source file,簡稱CLSF),刀位源文件描述了編程坐標系下的刀具位置、刀軸矢量、刀具轉(zhuǎn)速、進給速度等信息。但刀位源文件是APT 格式的文本文件,機床的數(shù)控系統(tǒng)無法識別。后置處理的任務就是把刀位源文件中的刀具路徑信息轉(zhuǎn)換為機床可識別的數(shù)控加工程序(G 代碼文件)。因為五坐標機床結構形式多樣,控制指令各不相同,坐標求解過程復雜,所以后置處理是實現(xiàn)五坐標加工的關鍵技術之一。
筆者公司現(xiàn)有的五軸加工中心如圖1 所示,該機床采用了臥式的正交布局,機床平移坐標X、Y、Z向行程約1.5 m,刀具主軸繞X軸擺動(定義為A軸),范圍+30°~-90°,轉(zhuǎn)臺繞Y軸轉(zhuǎn)動定義為B軸,角度范圍-9999°~+9999°。該機床的數(shù)控系統(tǒng)為NUM760,能實現(xiàn)五軸聯(lián)動,但不帶RTCP 功能,編程坐標系與機床坐標系的轉(zhuǎn)換關系復雜,是制約其加工能力的主要問題。
工作流程如圖2 所示。后置處理程序首先顯示界面,等待用戶輸入需要處理的刀位文件、DAT2 值、刀長;然后依次讀入刀位文件的每一行,將相關數(shù)據(jù)填充到內(nèi)存數(shù)據(jù)結構中;求解機床坐標值,將結果寫入內(nèi)存數(shù)據(jù)結構;根據(jù)機床坐標值和數(shù)控程序的格式構造G代碼并寫入NC 程序文件。下面分別介紹各個功能模塊的原理。
應用程序界面模塊的作用是顯示用戶界面,等待用戶輸入DAT2、刀長、轉(zhuǎn)心距等信息。本例用Visual Studio 創(chuàng)建標準的Windows界面如圖3。
該模塊負責讀取、解析刀位文件,并將刀位文件中的數(shù)據(jù)填充到結構化的內(nèi)存數(shù)據(jù)結構中。該模塊依次讀取刀位文件中的一行,根據(jù)該行的首詞用switch -case 語句分別處理該行的信息。
(1 ) 首 詞 為FORM、 GOTO、 GOHOME:代表該行為直線位移。該行的參數(shù)有兩種情況:GOTO/x、y、z、i、j、k或GOTO/x、y、z。x、y、z為刀尖點的坐標值,需要用double. Parse(string)命令解析該坐標值。i、j、k為刀軸矢量,如果該參數(shù)為空,表明該刀具位置的刀軸矢量未發(fā)生變化,i、j、k保持上一個值。
(2)首詞為CIRCLE:代表此軌跡為圓弧。其格式為CIRCLE/x、y、z、i、j、k、r、t、f、d、e、[TIMES,n]。首先保存圓弧起點坐標、圓心坐標、插補軸矢量、進給速度,再讀取下一行,取得圓弧的終點坐標。
后置處理的過程中,程序要與大量的數(shù)據(jù)打交道,數(shù)據(jù)結構尤其重要。根據(jù)數(shù)控程序中數(shù)據(jù)的特點,定義如圖4 的數(shù)據(jù)結構,并把數(shù)據(jù)保存在相應的類中。
坐標求解模塊進行坐標變換、進給速度轉(zhuǎn)換。讀取并處理數(shù)據(jù)類,將機床坐標值、進給速度值等需要計算的量填充到數(shù)據(jù)類中。后置處理的關鍵算法是根據(jù)機床的結構形式,求解機床坐標值。主要包括轉(zhuǎn)動、平移坐標的求解兩部分。
機床A、B軸角度與刀軸矢量的關系如圖5 所示,其中刀軸矢量為單位矢量。故有:
A=arcsin(J/1)(A取值范圍:-90°≤A≤90°)
由表1 可計算B坐標取值范圍在±180°內(nèi)的值:
表1 B 角的計算
計算B 軸的角度時,需要考慮B坐標值的取值范圍。轉(zhuǎn)臺的角度m與m±360 ×n(n為整數(shù))實際上是同樣的位置。當轉(zhuǎn)臺運動到±180°附近時,如果程序路徑中要求繼續(xù)回轉(zhuǎn),B坐標值應超過±180°,否則轉(zhuǎn)臺大幅回轉(zhuǎn),會與工件碰撞。當后置處理系統(tǒng)計算某個點B坐標在±180°范圍內(nèi)的值B’時,必須與上一個點的值進行比較,轉(zhuǎn)臺以最短路徑運動。即求出B±360 ×n(-10 <n<10)與上一個B坐標值最接近的值。具體算法為
B= min[Blast-(B’±360 ×n)](n為整數(shù),-10<n<10,B取值范圍-3780 <B<3780,B’為上一個點位的B 坐標值)
工件安裝在轉(zhuǎn)臺上,轉(zhuǎn)臺旋轉(zhuǎn)將導致刀具與工件的相對位置發(fā)生變化,一般有2 種方法可補償這種變化。
(1)高檔數(shù)控系統(tǒng)一般具有RPCP 功能,即五軸機床工件旋轉(zhuǎn)中心編程(rotation around part center point)。工作臺旋轉(zhuǎn)時,機床X、Z坐標能自動跟蹤,刀尖點與工件的相對位置不變。如SIEMENS 系統(tǒng)的TRAORI指令、HEIDENHAIN530I 系統(tǒng)的M128 指令、NUM 系統(tǒng)的G151S0 指令。這種情況下,數(shù)控程序中的X、Z坐標值使用刀位文件中的坐標值即可。
表2 刀位文件與NC 代碼
(2)另一種情況下,數(shù)控系統(tǒng)不具有RPCP 功能,由后置處理程序來補償轉(zhuǎn)臺轉(zhuǎn)動對平移坐標的影響。如圖6 所示,機床處于B=0 位置時,轉(zhuǎn)臺中心在機床坐標系下的坐標值為DAT1,工件坐標系相對轉(zhuǎn)臺中心的相對坐標值為DAT2。對某一臺機床來講,DAT1為固定值,DAT2隨工件擺放位置的變化而變化。
如圖7 所示,轉(zhuǎn)臺中心在工件坐標系XOZ下的坐標為P1(X1,Z1),即(-XDAT2,-ZDAT2)。轉(zhuǎn)臺轉(zhuǎn)過角度B時,刀尖點P(X,Y)在轉(zhuǎn)臺的帶動下運動到P’(X’,Y’)。由計算機圖形學的二維旋轉(zhuǎn)公式,可得:
當A= -90°,即主軸立式時,X、Z、B軸中只要有任意2 軸運動即可實現(xiàn)XOZ平面內(nèi)的加工,這時后置處理有多個解,需要優(yōu)化機床的運動。如圖8所示的機匣類工件,端面上需要鉆孔、鉸孔、插銑、銑邊,如果用XZ軸聯(lián)動加工,不僅工件的分度精度不好,而且機床將在Z-向超過行程范圍。所以本后置處理開發(fā)了B軸代替X軸運動的功能,加工端面時,X始終為0,靠B軸實現(xiàn)工件的分度。在式(1)中,令X'=0,即可計算出對應的B值。
主軸端面到A軸轉(zhuǎn)動中心的距離稱為轉(zhuǎn)心距(pivot)。由于這個距離和刀具長度的存在,A軸轉(zhuǎn)動將導致平移坐標Y的變化。通常消除這個位移有兩種辦法,一種是數(shù)控系統(tǒng)的RTCP 功能,另一種是在后置處理中考慮樞軸中心距。
(1)啟用RTCP 功能后,控制系統(tǒng)會自動計算并保持刀具中心始終在編程的XYZ位置上,轉(zhuǎn)動坐標的每一個運動都會被XYZ坐標的一個直線位移所補償,數(shù)控程序中的刀尖點坐標直接使用刀位文件中的值即可。如圖9a[2]所示。
(2)未啟動RTCP 功能時,控制點在A擺轉(zhuǎn)動中心上,如圖9b 所示。后置處理過程中,需要把刀位文件中刀尖點的坐標值Y、Z換算成轉(zhuǎn)動中心的坐標值Y’、Z’,由三角函數(shù)可得出計算公式:
式中:TL為刀具長度;PL為轉(zhuǎn)心距。
具有旋轉(zhuǎn)軸的自由曲面的加工,進給速度控制一般使用G93,其進給率F為時間倒數(shù),其計算公式為F=V/D(F為進給速率;V為編程的進給速度,mm/min,D為路徑長度,mm),其中(Δx、Δy、Δz為輪廓點間的距離)。
實際計算中:所取的Δx、Δy、Δz為刀位文件中的刀位點間的距離。這種算法在直線運動距離較短,而回轉(zhuǎn)運動角度較大時,會出現(xiàn)實際進給速度大大高于刀位文件中編程速度的情況。在平移坐標XYZ不動,僅回轉(zhuǎn)刀具軸變化時,甚至會出現(xiàn)D=0,進給速度F無窮大的極端情形。這種情況下,不僅機床可能報錯,而且加工的表面質(zhì)量也不好。
為了避免進給速度的這種情況,把轉(zhuǎn)動角度1°等同于直線進給1 mm 處理,引進到算法中,其算法為:
NC 文件輸出模塊負責根據(jù)機床的G 代碼格式,將內(nèi)存數(shù)據(jù)結構中的NC 點位信息填充到G 代碼文件中。處理前的刀位文件和處理完的適合NUM760 系統(tǒng)的NC 代碼如表2 所示。
轉(zhuǎn)臺-擺頭結構五軸聯(lián)動加工中心的后置處理程序主要分為界面顯示、刀位文件讀取與解析、坐標求解、G 代碼構造、數(shù)控程序文件輸出等模塊。后置處理程序的核心算法一是根據(jù)刀具矢量I/J/K計算機床轉(zhuǎn)動坐標A/B/C,二是將刀尖點的平移坐標X/Y/Z轉(zhuǎn)換到機床的控制點上,三是將進給速度mm/min 轉(zhuǎn)換為時間倒數(shù)進給率1/min。啟用數(shù)控系統(tǒng)的RTCP、RPCP 功能后,具有后置處理算法簡單,改變工件坐標系位置、刀長時不必修改數(shù)控程序的特點,將是五軸后置處理程序設計的方向。
[1]NX7 Help Library[Z].
[2]菲迪亞C 級用戶及編程手冊V3MDO1377[Z].