佛新崗
(西安航空職業(yè)技術(shù)學(xué)院,陜西 西安 710089)
隨著制造業(yè)的快速發(fā)展,越來(lái)越多的企業(yè)開始大量購(gòu)進(jìn)數(shù)控機(jī)床,逐步取代傳統(tǒng)普通機(jī)械加工機(jī)床,以提高產(chǎn)品加工質(zhì)量,降低生產(chǎn)成本。經(jīng)過(guò)分析研究發(fā)現(xiàn),其中數(shù)控車床的應(yīng)用非常廣泛,然而數(shù)控車床的編程格式因數(shù)控系統(tǒng)的不同而不同,而且多數(shù)CAM軟件沒有提供數(shù)控車床的專用后置處理文件,生成的NC程序代碼需要按照特定數(shù)控系統(tǒng)的編程標(biāo)準(zhǔn),經(jīng)過(guò)人工修改之后,才能用于實(shí)體加工,這在很大程度上限制了數(shù)控車床的使用效率。為了提高產(chǎn)品的編程效率和準(zhǔn)確性,部分學(xué)者對(duì)數(shù)控車床的后置處理進(jìn)行了研究:文獻(xiàn)[1]、文獻(xiàn)[2]研究了華中系統(tǒng)數(shù)控車床的基本編程結(jié)構(gòu)后置處理;文獻(xiàn)[3]、文獻(xiàn)[4]研究了FANUC系統(tǒng)數(shù)控車床的后處理開發(fā)基本流程;文獻(xiàn)[5]研究了DTM系統(tǒng)數(shù)控車床的基本結(jié)構(gòu)后置處理;文獻(xiàn)[6]研究了西門子802D系統(tǒng)數(shù)控車床后處理相關(guān)設(shè)置等,但對(duì)于數(shù)控車床編程中循環(huán)指令格式,特別是針對(duì)螺紋加工指令研究甚少。本文針對(duì)FANUC0i系統(tǒng)數(shù)控車床的特定編程格式,應(yīng)用UG/Post Builder開發(fā)專用后置處理程序文件,以簡(jiǎn)化編程過(guò)程。
圖1所示為加工零件示意圖,在UG軟件中采用外徑粗車、外徑開槽、外徑螺紋銑工序生成的刀路如圖2所示,若直接采用軟件自帶的數(shù)控車床通用后置處理,則生成的NC程序如下。
圖1 加工零件示意圖
外徑加工程序:
%
N0010 G94 G90 G20
N0020 G50 X0.0 Z0.0
:0030 T01 H00 M06
N0040 G94 G00 X20. Z5.
N0050 X15.5 Z2.2
N0060 G97 S800 M03
N0070 G01 Z2. F200.
N0080 Z-55.
N0090 Z-55.2
N0100 G00 X16.5
N0110 Z2.2
N0120 X15.
N0130 G01 Z2.
N0140 Z-38.7975
N0150 G02 X15.1 Z-38.8 I.1 K1.9975
……
N2300 Z.2
N2310 X.5
N2320 X.6414 Z.3414
N2330 M02
%
螺紋加工程序:
%
N0010 G94 G90 G20
N0020 G50 X0.0 Z0.0
:0030 T03 H00 M06
N0040 G94 G00 X13. Z.5
N0050 G97 S800 M03
N0060 G95 G01 X9.7075 F.5
N0070 G33 Z-22. I0.0 K1.
N0080 G01 X13. F1.5
N0090 G94 G00 Z.5
......
N0430 G33 Z-22. I0.0 K1.
N0440 G01 X13. F1.5
N0450 M02
%
由此可以看出,軟件自帶通用后處理生成的NC程序格式不符合數(shù)控系統(tǒng)編程規(guī)范,不能直接進(jìn)行加工,需要編程人員二次修改,且程序冗長(zhǎng),不利于閱讀和編輯。
主要存在問(wèn)題如下:①X軸編程尺寸默認(rèn)為半徑值,應(yīng)為直徑值;②無(wú)程序名;③刀具調(diào)用(TXX HXX M06)不符合規(guī)定;④加工單位(G20)設(shè)置不正確;⑤無(wú)復(fù)合循環(huán)指令(G71/G72/G70),導(dǎo)致程序冗長(zhǎng);⑥螺紋加工指令(G33)錯(cuò)誤,應(yīng)修改為G32或G92指令。
首先創(chuàng)建FANUC數(shù)控車床后處理文件,名稱為SKCC,單位為mm,如圖3所示。
圖3 創(chuàng)建后處理
(1)X軸設(shè)置。在“機(jī)床”選項(xiàng)下將X軸設(shè)置為直接編程,如圖4所示。
圖4 X軸設(shè)置
(2)程序名設(shè)置。FANUC數(shù)控系統(tǒng)程序名是以字母O加1~4位數(shù)字構(gòu)成,在“程序和刀軌”選項(xiàng)下選擇“程序”標(biāo)簽,選中“程序起始序列”,單擊%所在塊,在彈出的對(duì)話框中,右擊%選擇編輯,輸入“O$mom_tool_number”,如圖5所示。
圖5 程序名設(shè)置
(3)刀具調(diào)用設(shè)置。數(shù)控車床加工一般選擇T指令試切對(duì)刀,G54或G92格式應(yīng)用較少,所以后處理中用T指令建立加工坐標(biāo)系,具體格式為T0101,其中T指令后面前兩位數(shù)字為刀號(hào),后兩位為刀具補(bǔ)償號(hào)。在“程序和刀軌”選項(xiàng)下選擇“程序”標(biāo)簽,選中“工序起始序列”,將“T H01 M06”塊中只保留T指令,并將其內(nèi)容由“$ mom_tool_number”修改為“$mom_tool_number*100+$mom_tool_number”,如圖6所示。
圖6 刀具設(shè)置
FANUC0i數(shù)控系統(tǒng)車床編程指令中粗車復(fù)合循環(huán)指令主要指的是G71/G72/G73[7],UG軟件自帶數(shù)控車床通用后處理其實(shí)包含了復(fù)合循環(huán)功能,前面后處理NC程序中沒有出現(xiàn),原因在于UG生成刀路過(guò)程中“機(jī)床控制”模塊里的“運(yùn)動(dòng)輸出”設(shè)置有誤,應(yīng)該把“圓形”修改為“機(jī)床加工周期”[8],如圖7所示。
圖7 車削循環(huán)設(shè)置
對(duì)于FANUC0i數(shù)控系統(tǒng)車床來(lái)說(shuō),精車復(fù)合循環(huán)指令格式為“G70 P Q”,所以在UG軟件中可以省去精加工編程,直接在后處理中進(jìn)行處理。將“N/C數(shù)據(jù)定義”選項(xiàng)中的精車復(fù)合循環(huán)塊“turn_cycle_finishing”添加到“程序和刀軌”選項(xiàng)下“雜項(xiàng)”里粗車復(fù)合循環(huán)的輪廓終點(diǎn)“turn_cycle_contour_end”定制命令的結(jié)尾處,輸入“PB_CMD_turn_cycle_finishing”[9],如圖8所示。
圖8 精車循環(huán)設(shè)置
FANUC0i數(shù)控系統(tǒng)車床螺紋加工指令常用G32或G92。其中G32指令屬于單步運(yùn)動(dòng),修改也較簡(jiǎn)單,在“程序和刀軌”選項(xiàng)中“運(yùn)動(dòng)”模塊里將通用后處理中的車螺紋指令G33修改為G32就可以了,如圖9所示;而G92指令屬于單一循環(huán)運(yùn)動(dòng),可以簡(jiǎn)化程序,所以后處理中將螺紋加工指令設(shè)置為G92,具體操作如下:
圖9 G32螺紋加工指令設(shè)置
(1)新建G92螺紋加工循環(huán)指令。在“N/C數(shù)據(jù)定義”選項(xiàng)中新建塊“thread_move_92”,指令格式為“G92 X Z F”。
(2)屏蔽線性與快速移動(dòng)[10]。在G00與G01的輸出塊里面添加輸出條件,如圖10所示,在條件命令塊里輸入以下內(nèi)容,意思為:當(dāng)操作類型為車螺紋時(shí),塊不輸出,否則輸出。
圖10 GOO、GO1指令屏蔽設(shè)置
# This custom command should return
# 1 :Output
# 0 :No output
global mom_operation_type
if{$mom_operation_type == "Turn Threading" }{
return 0
}else{
return 1
}
(3)添加定位指令。在車螺紋操作下面,G00、G01都屏蔽了,但是車螺紋之前必須有個(gè)定位指令,所以在“N/C數(shù)據(jù)定義”選項(xiàng)中新建一個(gè)快速定位塊“l(fā)athe_goto_star”,指令格式為“G00 X Z ”,并在快速移動(dòng)里面輸出一次。要實(shí)現(xiàn)輸出一次,那么在“程序和刀軌”選項(xiàng)下的“運(yùn)動(dòng)”中的“快速移動(dòng)”塊里添加定制命令,輸入以下內(nèi)容:
global mom_operation_type
global num
set num 1
if{$mom_operation_type =="Turn Threading" && $num ==1 }{
MOM_do_template lathe_goto_star
incr num
}
(4)添加車螺紋定制命令。在“程序和刀軌”選項(xiàng)下的“運(yùn)動(dòng)”中的“車螺紋”塊里刪除原來(lái)默認(rèn)的“G33X Z F”螺紋加工格式指令,然后新建定制命令,輸入以下內(nèi)容:
global mom_operation_type
#MOM_output_literal "$mom_operation_type"
if{$mom_operation_type == "Turn Threading" }{
MOM_do_template thread_move_92
}
將圖1中加工零件的刀路重新通過(guò)定制的專用后處理文件進(jìn)行后處理,生成的NC程序如下。對(duì)比通用后處理生成的NC程序,簡(jiǎn)潔明了,完全符合FANUC數(shù)控系統(tǒng)車削編程規(guī)則。將NC程序?qū)氲接铨垟?shù)控仿真軟件中進(jìn)行仿真驗(yàn)證,結(jié)果如圖11所示。
圖11 仿真加工
外徑加工程序
O1
N10 T0101
N20 G97 S800 M03
N30 M08
N40 G00 X40. Z5.
N50 G71 U.5 R1.
N60 G71 P70 Q80 U.2 W.2 F200.
N70 (CONTOUR DATA START)
G01 X0.0 Z1.
Z0.0
X17.
X20. Z-1.5
Z-24.
X26. Z-34.
Z-37.
G02 X30. Z-39. R2.
G01 Z-55.
X32.
N80 (CONTOUR DATA END)
N90 G70 P70. Q80.
N100 G00 X150. Z200.
N110 M05
N120 M09
N130 M30
螺紋加工程序
O3
N10 T0303
N20 G97 S800 M03
N30 M08
N40 G00 X26. Z.5
N50 G92 X19.415 Z-22. F1.5
N60 X19.006
N70 X18.719
N80 X18.518
N90 X18.378
N100 X18.279
N110 X18.211
N120 X18.151
N130 X18.1
N140 X18.05
N150 G00 X150. Z200.
N160 M05
N170 M09
N180 M30
本文基于UG軟件通用后處理模塊中的FANUC數(shù)控車床后處理模板,結(jié)合TCL語(yǔ)言研究了FANUC0i數(shù)控車床編程后處理定制方法,重點(diǎn)討論了復(fù)合循環(huán)加工指令、螺紋加工指令等關(guān)鍵技術(shù)的后處理研究。結(jié)果表明:該后處理生成的NC程序經(jīng)過(guò)驗(yàn)證,完全符合數(shù)控車床的編程格式,無(wú)需編程人員修改,提高了編程效率和質(zhì)量,具有很強(qiáng)的實(shí)踐性。