張建,孟冬,劉禹
(中國船舶集團第七一三研究所,鄭州 450000)
進入21世紀以來,制造業在國民經濟中占據越來越重要的地位,制造業是立國之本、強國之基。制造業的出路在于技術創新,國家現在提出:要用舉國之力大力發展“卡脖子”技術問題。我國的制造業已經由傳統制造業全面邁入數字化、自動化時代。在當代制造業中,處于基礎性地位的應屬數控技術[1]。數控技術是一種先進制造技術,數控編程和數控仿真是數控加工過程中兩個重要的環節[2]。數控機床逐步由兩軸向三軸、五軸發展,機床類型逐步由車床、銑床,向加工中心、五軸聯動機床、車銑復合機床升級。對于多軸機床,由于存在空間刀軸旋轉情況,需要先通過空間坐標計算,編寫后置處理程序文件,通過后置處理文件,才能將刀路文件轉化為機床識別的數控加工程序,這是所有多軸機床都需要做的前期準備工作;后處理是數控加工中一個重要環節,其主要任務是將CAM軟件生成的加工刀位軌跡源文件轉成特定機床可接受的數控代碼(NC)文件[3]。數控加工程序編制完成后,需要進行仿真驗證。多軸數控加工程序相對復雜,如何保證數控加工程序的正確性,消除數控機床的安全隱患,成為制造企業面臨的現實問題[4]。編寫多軸機床后置處理文件并進行多軸機床數控加工程序仿真,需要采用數學和線性代數等知識進行計算。本文以某車銑復合多軸機床為例,進行五軸后置處理及仿真技術算法研究。
數控機床的運動是通過數控程序來驅動的,數控程序是數控機床能識別的一系列數字或符號指令。數控程序的編制分為手工編程和自動編程。初期數控程序都是手工進行編制,手工編程方法是根據零件的圖樣和工藝路線,參照機床操作系統的類型,直接編寫的加工程序。手工編程只能編制簡單、二維、三軸的加工程序,對于復雜的多軸、三維立體加工程序只能在計算機上采用編程軟件進行編程,也就是自動編程。自動編程時,首先使用建模軟件建立被加工零件的三維立體模型,然后使用加工軟件采用合適的工藝路線,編制零件的加工走刀軌跡,由加工軟件生成刀具路徑軌跡文件,這個文件叫刀具位置源文件,即CLSF文件(cutter location source file),CLSF文件是不能夠被機床的數控操作系統直接識別的,需要使用轉換器將CLSF文件編譯成數控機床能夠使用的數控程序,這就是后置處理。簡單的三軸程序直接進行后置處理即可,復雜的多軸程序需要編程者根據使用的機床結構類型,先進行空間角度計算和坐標位置變換計算,得出專用公式,然后采用合適的編程語言,將該公式寫入后置處理轉換器文件中,最后再使用該文件進行后置處理。
眾所周知,空間有6個自由度,所以,空間坐標系有6個坐標軸:3個線性軸(X軸、Y軸、Z軸)和3個旋轉軸(繞X軸旋轉的A軸,繞Y軸旋轉的B軸,繞Z軸旋轉的C軸)。
數控機床按坐標系中坐標軸的數量,分為兩軸機床、三軸機床和多軸機床(四軸及四軸以上)。按加工方式數控機床分為數控車床、數控銑床、加工中心、五軸加工中心、車銑復合機床等。
對于兩軸或三軸數控機床,只有X軸、Y軸、Z軸的線性移動,沒有旋轉軸,刀軸矢量是固定不變的,用軟件編程時的刀心軌跡和實際機床運動時的刀心軌跡一樣,不需要進行坐標轉換計算。
五軸機床主要采用X、Y、Z、A、B、C中任意5個坐標的線性插補運動[5],即五軸機床有3個線性軸(X軸、Y軸、Z軸)和2個旋轉軸(繞X軸和Y軸旋轉的A軸和B軸,或者繞Y軸和Z軸旋轉的B軸和C軸,或者繞X軸和Z軸旋轉的A軸和C軸)。由于有旋轉軸,當工件發生旋轉或刀具產生擺動時,工件上被加工點位置,即刀心位置,在旋轉前和旋轉后在機床坐標系下的位置是不一樣的。機床的結構不同,刀具的旋轉中心點也就不同,刀具和主軸的總擺長也不同。刀軸矢量在旋轉前和旋轉后也發生了變化,機床的結構不同,實際的旋轉軸也不同,刀具矢量的算法也不同。這屬于三維空間坐標系變換問題,需要根據機床的實際結構及尺寸,計算出刀具的旋轉角度及旋轉前后這兩個位置的線性坐標差值,從而推導出特定五軸機床的特定公式,采用合適的編程語言,將該公式寫入后置處理轉換器文件中,當進行編程和仿真時,通過編程軟件設計好刀具軌跡路徑,調用編寫好的后置處理器文件,生成數控加工程序,與機床的控制系統相匹配。同樣,根據計算結果,在進行五軸機床加工仿真時,做相應的數控機床數學模型結構配置和運動模型動態配置。
進行五軸后處理之前,應了解機床的種類型式[6]。不同結構的五軸數控機床,坐標系變換算法是不一樣的。本文就以某車銑復合機床為例,闡述五軸機床后置處理及仿真技術的算法。
圖1為某車銑復合機床的結構示意圖。

圖1 某車銑復合機床控制軸示意圖
該車銑復合機床屬于多軸機床,共有9個坐標軸,上刀塔包含3個線性軸X1、Y、Z1和1個旋轉軸B,下刀塔包含2個線性軸X2、Z2,主軸包含一個旋轉軸C1,副主軸包含一個線性軸Z3及一個旋轉軸C2。根據機床結構,主軸及上刀塔為通道1,副主軸與下刀塔為通道2。當聯動加工時屬于五軸聯動機床(X1、Y、Z1三個線性軸,刀具軸擺動的B軸,工件回轉的C1軸)。
加工時參與聯動的模塊(機床、工件、刀具等)既要線性平移,又要空間旋轉,因此,需要計算回轉軸的角度及刀心點在機床加工轉動后的實際坐標值,這就需要考慮機床擺長、工件回轉中心點、刀具長度補償等問題。編程時使用CAM軟件生成刀具位置源文件(CLSF文件),刀位源文件中刀位的給出形式為刀心坐標和刀軸矢量[7],通過后置處理,將它們轉換為機床的運動坐標,包括各軸的旋轉角度和旋轉后的實際坐標值。同樣,在仿真軟件中也需要相似的計算,包括回轉角度的計算,以及機床仿真轉動后的實際坐標值計算。
使用計算機編程軟件(CAM軟件)編程時,CAM軟件生成的刀具位置源文件(CLSF文件)基本都是類APT語言,如下:
GOTO/-115.902,254.042,185.934,-0.518,0.303,0.799
可以將該語句解釋為:GOTO/X,Y,Z,I,J,K。
X、Y、Z表示刀心在工件坐標系的坐標值,需要轉換成旋轉后的坐標值;I、J、K為刀軸矢量在X、Y、Z坐標軸的分量(機床坐標系和工件坐標系的方向一致),這就需要將I、J、K換算成B、C的角度。具體算法如下:
該車銑復合機床的C角度是通過工件的旋轉來完成的,C軸的旋轉范圍是0°~360°,而B角度是通過刀具的擺動來完成的,B軸的旋轉范圍是0°~180°;而國際標準規定,機床的運動指的是刀具相對于工件的運動。
如圖2所示,為了方便計算,先將刀軸矢量OP平移到坐標系的原點,由于繞Z坐標軸旋轉C角度,所以需要將刀軸矢量OP投影到XY平面,即OP1,又由于繞Y軸旋轉B角度,所以需要將刀軸的投影矢量OP1旋轉到XZ平面,得到矢量OP2。矢量OP在X、Y、Z軸向的分量分別為:i、j、k。因此得出:

圖2 旋轉軸B、C的角度計算
特殊情況:當i=0,j≥0時,C=90°;當i=0,j≤0時,C=270°。
根據該車銑復合機床的結構特點,計算坐標值時分為兩條路線:一條路線是工件的旋轉。計算原理是:將工件坐標系的原點平移到C軸的回轉中心→繞C軸旋轉C角度→平移回工件坐標系的原點。另一條路線是刀具的旋轉。計算原理是:將刀具繞PIVOT回轉中心旋轉B角度,計算出刀尖在工件坐標系的坐標。最后將兩條路線所得到的坐標值相加。
設刀心在工件坐標系的值分別為X0、Y0、Z0。工件坐標系原點與C軸回轉中心的距離分別為dx、dy、dz;刀具的長度為H1;PIVOT的長度為H2。
為了簡化該車銑復合機床五軸聯動的算法,先要解決一般四軸機床的通用算法問題。
1)繞Z軸旋轉的坐標變換。
如圖3所示,工件加工 點 從P1(X1,Y1)點 圍繞Z軸轉了C角度轉到P2(X2,Y2)點,可以得出:

圖3 繞Z軸旋轉的坐標值計算
用四階矩陣可以表示為
2)繞X軸旋轉的坐標變換。
3)繞Y軸旋轉的坐標變換。
該車銑復合五軸聯動的后置處理算法如下:
1)將工件坐標系的原點平移到C軸的回轉中心,變換矩陣為:
2)繞C軸旋轉C角度,變換矩陣為
3)平移回到工件坐標系的原點,變換矩陣為
則:
4)將刀具繞PIVOT回轉中心旋轉B角度,計算出刀尖在工件坐標系的坐標:
這樣最終坐標變換為
以上就是某車銑復合五軸聯動加工時的后置處理和仿真算法。
在數控加工程序編制完成后,要在電腦上進行模擬仿真,以確保程序的正確性,防止出現工件過切、刀具加工參數不合理、加工干涉、機床碰撞等錯誤。同時,通過加工程序仿真,可以及時了解加工時間,進一步為制訂生產計劃、提高生產效率提供依據。
在進行加工程序仿真之前,要了解機床的結構及運動特征,了解機床的控制系統,然后建立機床的數學模型和運動學模型。需要仿真時,添加刀具(含刀具的長度和半徑補償)、毛坯、設置工件坐標系,調入加工程序,進行仿真。
下面就以某車銑復合機床為例,簡單說明仿真技術處理。
參考圖1所示某車銑復合機床控制軸示意圖進行配置。該機床即有線性平移,又有空間旋轉。了解該機床的結構型式及各部件的所屬關系,建立與之匹配的虛擬數學結構模型。其數學模型首先是床身Base,床身上共有4條主線:一是車削第一旋轉主軸C1→夾具Fixture1→毛坯Stock1;二是銑削軸Z1→Y→X1→旋轉軸B→銑削主軸Spindle→銑削刀具Tool 1;三是下刀塔軸Z2→X2→下刀塔Turret→刀塔中的刀具Tool 2;四是車削軸Z3→車削第二旋轉主軸C2→夾具Fixture2→毛坯Stock2。具體配置明細如圖4所示。

圖4 某車銑復合機床的數學模型
數控機床的數學模型配置只是給出了機床的邏輯關系,完整的虛擬仿真機床還需要進行數控機床運動模型的動態配置。數控機床的運動模型配置包含機床的三維立體幾何模型構建和運動狀態配置。
數控機床的三維立體幾何模型構建是指通過測量或查閱廠家機床結構圖樣,得到機床的實際結構和幾何尺寸,然后利用三維造型軟件,構建機床的三維立體模型。
數控機床的運動狀態配置是指根據機床的運動狀態屬性來配置模擬機床的運動邏輯關系。當進行多軸聯動仿真時,參照前述的五軸后置處理算法結果,通過開發特定的功能代碼(宏指令),將其封裝在仿真控制器中。由各種宏的排列組合將這種算法邏輯執行于多軸指令中。
根據以上所配置的運動學關系分別通過導入模型文件為各軸添加模型[8],即將機床的數學模型、三維立體幾何模型、運動邏輯關系結合起來。
以某車銑復合機床為例舉例說明。該車銑復合機床的控制系統為SIEMENS 840D類型,圖5所示為該車銑復合機床的五軸聯動指令TRAORI的宏配置示例。

圖5 某車銑復合仿真控制器TRAORI配置
可以看出,宏編程語言與其他編程技術的語言有明顯的差異[9]。
其它的宏配置和TRAORI 的宏配置類似,因各種宏配置很多,這里不再一一例舉,根據需求進行配置即可。
數控加工技術是科學技術飛速發展的產物[10]。隨著數控加工技術的發展,數控機床的結構越來越復雜,加工方法、加工策略、加工工藝多樣化程度越來越高。對于多軸機床的后置處理算法和仿真技術處理,需要針對不同的機床進行計算,但只要掌握了多軸機床后置處理算法和多軸仿真技術的運算邏輯,就可以按照一定的基本流程進行解算和處理。本文主要是以某車銑復合機床為例,提供了解決多軸機床后置理和仿真技術算法的一般流程。此算法的流程,為所有多軸機床的后置處理和加工仿真提供了方式、方法;解決了算法問題,才能實現產品的數控加工,具有重要意義。