王泰吉,李世濤,宋福田,徐 鵬
(南車青島四方機車車輛股份有限公司,山東 青島 266111)
?
基于VERICUT的三菱龍門機床(MVR33-39DX)加工仿真環境研究
王泰吉,李世濤,宋福田,徐鵬
(南車青島四方機車車輛股份有限公司,山東 青島 266111)
在應用VERICUT軟件構建虛擬環境仿真數控程序時,有時會遇到機床廠商為了機床的一些特殊功能而設定的一些特殊指令,這些指令通常需要在VERICUT軟件中單獨做出定義。介紹了MVR33-39DX數控龍門銑床中一些特殊指令在VERICUT軟件中的配置方式。
附件頭;VERICUT;數控
VERICUT是一款專為制造業設計的CNC數控機床加工仿真和優化軟件。取代了傳統的切削試驗部件方式,VERICUT軟件通過模擬整個機床加工過程和校驗加工程序的準確性,來清除編程錯誤和改進切削效率[1-2]。
MVR33-39DX是三菱重工生產的帶有多個附件銑頭的龍門銑床。該機床具備功率大、精度高、加工區域大和自動化程度高等特點,適用于多種工況的加工要求。本文主要討論MVR33-39DX機床在VERICUT仿真中附件銑頭的更換和坐標變換指令的實現[3]。
機床MVR33-39DX共有5個銑頭,通過指令“M95”+“T”+“銑頭編號”的方式更換。因為更換銑頭的過程比較復雜,所里采用定義子程序的方式來實現VERICUT仿真中銑頭的更換。首先在機床高級設定里定義“M95”代替為“G65 P9021”,使得指令執行時,可以調用O9021子程序運行(見圖1)。然后可以創建子程序O9021并添加到系統中。

圖1 銑頭更換指令
在VERICUT項目樹中對各個銑頭的位置進行定義,所有銑頭統一配置在“C2”組件下(見圖2)。每個銑頭都有一個獨立的主軸和刀具。如果銑頭包含旋轉軸,還應對旋轉軸做配置。

圖2 銑頭配置
由于機床有多個銑頭,所以每個銑頭的刀具組件都要分配給不同的刀具索引號碼(見圖3),這樣在更換銑頭時,就可以通過刀具索引激活不同的刀具組件,以確定在換刀時刀具的安裝位置。

圖3 銑頭刀具設定
主軸組件(spindle)的方向要根據各個銑頭的真實方向做出定義。如直角銑頭,刀具為水平方向安裝,那么主軸組件的Z方向應被定義為水平的方向(見圖4)。如不能顯示組件坐標系的方向,可以在圖形區域單擊右鍵,顯示所有軸,以勾選組件的方式打開組件坐標系的顯示。

圖4 主軸組件方向
銑頭的更換主要包含如下3個部分。
1)記錄更換銑頭的編號,并與主軸上現在的銑頭號進行對比,以判斷更換銑頭的動作執行順序(代碼如下)。如主軸上的銑頭與更換的銑頭相同,則跳轉到9000程序段,結束子程序;如不同,則先執行卸載銑頭部分,再執行加載新銑頭部分;如主軸上沒有銑頭,則直接執行更換新銑頭部分。在該部分還要對主軸上刀具的狀態做出相應的處理。如在更換銑頭時,主軸上已有刀具的,是發出報警還是執行換刀動作,將刀具送回刀具庫。在本例中不做具體判斷,而是直接執行“T0 M6”指令,將刀具送回刀具庫。
T0 M6
#10100=#20 (T-New head)
IF[#10100 EQ #20100] GOTO 9000
CGTECH_MACRO "CaxisMachineMotion" "" 0.0
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "XaxisMachineMotion" "" 0.0
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "YaxisMachineMotion" "" -4000
CGTECH_MACRO "ProcessMotion"
(Check which head is loaded)
IF #20100 EQ 1000 GOTO 101000
IF #20100 EQ 1100 GOTO 101100
IF #20100 EQ 1200 GOTO 101200
IF #20100 EQ 1300 GOTO 101300
IF #20100 EQ 1500 GOTO 101500
GOTO 4000
……
N4000
(check for new head)
IF #10100 EQ 1000 GOTO 201000
IF #10100 EQ 1100 GOTO 201100
IF #10100 EQ 1200 GOTO 201200
IF #10100 EQ 1300 GOTO 201300
IF #10100 EQ 1500 GOTO 201500
GOTO 9000
2)卸載主軸上現有的銑頭。卸載1000號銑頭的代碼如下(其他銑頭卸載代碼僅與卸載1000號銑頭的位置和銑頭名稱不同):
N101000
(Return Head 1000)
CGTECH_MACRO "TurnOnOffGagePivotOffset" "" 0
CGTECH_MACRO "C2AxisMachineMotion" "" 0.0
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "WaxisMachineMotion" "" -900
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "ZaxisMachineMotion" "" -900
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "YaxisMachineMotion" "" -5000
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "ConnectCompName" T1000
CGTECH_MACRO "ConnectToCompName" Spindle_holder_T1000
CGTECH_MACRO "ZaxisMachineMotion" "" 0.0
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "WaxisMachineMotion" "" 600.
CGTECH_MACRO "ProcessMotion"
3)加載要更換的銑頭。更換1000號銑頭的代碼如下(其他銑頭更換代碼僅與更換1000號銑頭的位置和銑頭名稱不同)。銑頭更換后都要跳轉到9000程序行,該程序行后的代碼主要用來定位主軸從主軸庫更換完畢后移動的位置以及一些機床輔助功能的開啟(具體代碼略)。
N201000
(Load Head 1000)
CGTECH_MACRO "C2AxisMachineMotion" "" 0.0
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "WaxisMachineMotion" "" -900
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "ZaxisMachineMotion" "" -785
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "YaxisMachineMotion" "" -5000
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "ZaxisMachineMotion" "" -900
CGTECH_MACRO "ProcessMotion"
CGTECH_MACRO "ConnectCompName" T1000
CGTECH_MACRO "ConnectToCompName" C
CGTECH_MACRO "ActiveTool" "" 1000
CGTECH_MACRO "PivotOffsetCompName" "C"
CGTECH_MACRO "TurnOnOffGagePivotOffset" "" 1
GOTO 9000
子程序中的VERICUT宏ConnectCompName用來定義連接的銑頭。宏ConnectTocompName用來定義銑頭與組件連接。在卸載銑頭時,將銑頭連接到銑頭的原組件位置上,加載銑頭時,將銑頭連接到主軸組件“C”上。宏ActiveTool用來激活對應銑頭上的刀具,使得換刀指令能將刀具換到當前使用的銑頭上。宏PivotOffsetCompName用來定義計算偏執的組件名稱。宏TrunOnOffGagePivotOffset用來打開偏執計算。
坐標變換主要用于直角銑頭和五軸銑頭,該功能能通過指令“G65 P9711 X_ Y_ Z_ A_ B_ (X、Y、Z:坐標偏移的位置;A:繞X軸旋轉的角度;B:繞Z軸旋轉的角度)”來移動、旋轉坐標系,并使主軸的方向能自動的定義到旋轉坐標系的Z軸方向。首先要定義子程序O9711并將程序添加到VERICUT軟件中。子程序O9711的內容如下:
IF #10100 EQ 1000 GOTO 666
IF #10100 EQ 1200 GOTO 666
IF #10100 EQ 1100 GOTO 777
IF #10100 EQ 1300 GOTO 777
IF #10100 EQ 1500 GOTO 888
N666
G68X#24Y#25Z#26I0J0K0
GOTO 999
N777
C=#2
G68X#24Y#25Z#26I0J0K1.0R[-#2+90]
G68X0.Y0.Z0.I1.J0K0R[-#1+90]
GOTO 999
N888
C=#2 A=#1
IF[#1 LT 0] GOTO 775
G68X#24Y#25Z#26I0J0K1.0R[-#2+90]
G68X0.Y0.Z0.I1.J0K0R[#1]
GOTO 999
N775
G68X#24Y#25Z#26I0J0K1.0R[-#2-90]
G68X0.Y0.Z0.I1.J0K0R[-#1]
GOTO 999
N999 M99
程序開始首先要對主軸上的銑頭做出判斷,加長銑頭、直角銑頭和五軸銑頭分別對應程序段N666、N777和N888。在程序段N666中,加長銑頭只對應坐標系的偏移,無旋轉動作;在N777程序段中,直角銑頭的C軸旋轉角度定義為B參數的數值,坐標系在偏移后繞Z軸旋轉90°-B的參數值;在程序段N888中,五軸銑頭C軸旋轉角度定義為B參數的數值,A軸旋轉角度定義為A參數的數值,坐標系在偏移后繞Z軸旋轉90°-B的參數值,再繞A軸旋轉A參數的數值。
該機床還有G65 P9710 C_ 指令。該指令中的C后面的值為工作偏置的寄存器號碼。所以只需創建O9710子程序,子程序內容如下:
O9710
IF #3 EQ 54 GOTO 54
IF #3 EQ 55 GOTO 55
IF #3 EQ 56 GOTO 56
IF #3 EQ 57 GOTO 57
IF #3 EQ 58 GOTO 58
IF #3 EQ 59 GOTO 59
N54 G54
M99
N55 G55
M99
N56 G56
M99
N57 G57
M99
N58 G58
M99
N59 G59
M99
G65 P8100指令使Z軸回機床零點,并取消刀具的半徑和長度補償。創建O8100子程序,子程序內容如下:
O8100
G91 G28 Z0.0
G49 G40
G69 G90
M9
M99
在配置如更換銑頭等程序時,經常要使用變量對當前的一些狀態做出記錄和判斷。在程序調用時也需要對一些參數進行傳遞。如在本例的三菱龍門機床中,就使用了#10100來記錄要更換的銑頭的號碼,使用#20100來記錄當前機床上正在使用的附件頭。通過對這2個變量值進行判斷來確定機床的動作。在變量的使用中,應注意和控制系統的變量能夠區分開。如三菱的龍門為發那科系統,不僅要避免和用戶程序中的變量沖突,而且應注意不能和系統的變量同名。同時變量#1~#33為系統局部變量,這些變量僅僅在當前程序有效,所以不能用來作為狀態記錄和判斷的變量使用。
參數在不同程序之間的傳遞要使用VERICUT宏MacroVar來實現。該宏可以把程序中A~Z后面對應的數值賦給變量#1~#26(變量的對應關系可參考發那科用戶手冊中自變量的指定)。這也是上述提到的要把“M95”代替成“G65 P9021”的一個原因。這樣執行程序“M95 T1500”就相當于執行了“G65 P9021 T1500”,不但調用了9021子程序,同時也把T后的1500傳遞給了子程序9021的局部變量#20。所以在9021程序中有#10100=#20這樣的賦值,來對要更換的銑頭號碼做出記錄。在銑頭更換完畢后,又有#20100=#20(這里也可以使用#20100=#10100)的賦值,來記錄當前主軸上的銑頭號碼。
在應用VERICUT軟件仿真一些結構特殊的機床時,常會遇到由機床廠商定義的一些特殊指令或子程序。因為這些功能沒有包含在標準的控制器中,就需要在配置機床時單獨地做出定義。本文通過自行建立的子程序解決了機床更換附件頭和坐標變換等問題,使得構建的機床能夠仿真該機床的所有加工程序。避免了錯誤程序在車間的使用,極大地提高了程序的正確性和可靠性。同時,通過VERICUT的仿真,也為合理規劃加工流程,改善工藝路線提供了很大的幫助。
[1] 劉東曉,董曉,張傳峰. 基于VERICUT的數控加工仿真驗證[J]. 新技術新工藝, 2015(12):97-100.
[2] 楊勝群. VERICUT數控加工仿真技術[M].2版.北京:清華大學出版社,2010.
[3] 王啟忠. Vericut中構建多銑頭龍門銑床[J]. 金屬加工(冷加工),2009(5):32-34.
責任編輯鄭練
Research of the Processing Simulation Environment with Mitsubishi Gantry Machine Tools (MVR33-39DX) based on VERICUT
WANG Taiji, LI Shitao, SONG Futian, XU Peng
(CSR Qingdao Sifang Locomotive & Rolling Stock Co., Ltd., Qingdao 266111, China)
When building a virtual CNC machine simulation environment in VERICUT, sometimes some machines have a few special commands for special features. These commands need to be configured in the VERICUT control system. Describe how to define special commands in the VERICUT control system for the MVR33-39DX CNC milling machine.
attachments, VERICUT, NC

TG 659
A
王泰吉(1983-),男,工程師,主要從事動車組車體加工工藝等方面的研究。
2015-11-13