劉振超
(柳州鐵道職業(yè)技術(shù)學(xué)院,柳州 545007)
圓周孔系在端蓋、法蘭、箱體等零件中是非常常見(jiàn)的,傳統(tǒng)的加工方法是利用鉆模在普通鉆床上加工,但工人勞動(dòng)強(qiáng)度大、工序分散效率相對(duì)較低。隨著數(shù)控機(jī)床的普及,由于其勞動(dòng)強(qiáng)度低、工序集中、效率高、操作方便靈活的特點(diǎn),越來(lái)越多的孔系零件被安排在數(shù)控機(jī)床上加工。但如何使數(shù)控加工程序簡(jiǎn)化,使操作工人能容易讀懂便于修改,這是編程人員要思考的問(wèn)題。
在數(shù)控加工中,孔加工的動(dòng)作循環(huán)已經(jīng)典型化。例如,鉆孔、鏜孔的動(dòng)作順序是孔位平面定位、快速引進(jìn)、工作進(jìn)給和快速退回等,如圖1所示。將這樣一系列典型加工動(dòng)作預(yù)先編好程序存儲(chǔ)在系統(tǒng)中,再用包含G代碼的一個(gè)程序段調(diào)用,可簡(jiǎn)化編程工作。這種包含了典型動(dòng)作循環(huán)的G代碼稱為循環(huán)指令。
圖1 孔加工固定循環(huán)動(dòng)作示意圖
FANUC系統(tǒng)固定循環(huán)指令的通用格式如下:
G98(G99)G _ X_Y_ Z_R_Q_P__K_F_L
參數(shù)說(shuō)明:
1)X、Y為孔位數(shù)據(jù),指被加工孔的位置。
Z為孔底數(shù)據(jù), G90時(shí),Z為孔底坐標(biāo);G91時(shí),Z為R點(diǎn)到孔底的距離(多為負(fù))。
2)R為安全平面位置。G90時(shí),是 R面的坐標(biāo)值;G91時(shí),是初始點(diǎn)到R面的距離(常為負(fù))。
3)Q 在G73或G83時(shí)指定每次進(jìn)給深度,在G76或G87時(shí)指定刀具的讓刀量,是增量值。
4)K在G73或G83時(shí)指定每次退刀量,K>0。
5)P指定刀具在孔底的暫停時(shí)間,單位為秒。
6)F為切削進(jìn)給速度。
7)L指定固定循環(huán)的次數(shù)。
部分G代碼的含義是:
G81:一般鉆孔循環(huán)指令,用于一般定點(diǎn)鉆。
G82:帶停頓的鉆孔循環(huán)指令,執(zhí)行該指令使孔的表面更光滑,孔底平整。常用于做沉頭臺(tái)階孔。
G74:左旋攻螺紋循環(huán)。
單一孔的加工,只要執(zhí)行一個(gè)固定循環(huán)指令即可。
所謂圓周孔系,是指分別在圓周上的一系列孔。如果孔的結(jié)構(gòu)尺寸相同,則孔的固定循環(huán)指令相同,不同的是每一個(gè)孔所在的位置不同。同一個(gè)孔要完成不同的工序,如鉆中心孔、鉆孔和攻螺紋等,只要更換刀具和相應(yīng)的固定循環(huán)指令即可,孔位置并沒(méi)有變??紫导庸ぞ幊痰年P(guān)鍵和難點(diǎn)是確定孔的位置,在這里以鉆孔工序?yàn)槔?,提出了孔系編程的四種方法。
坐標(biāo)編程法是通過(guò)數(shù)學(xué)計(jì)算獲得孔位置的坐標(biāo)值,將坐標(biāo)值的數(shù)據(jù)編入鉆孔循環(huán)G82程序段,然后運(yùn)行該程序,鉆孔即可完成。這種方法計(jì)算量大,數(shù)據(jù)繁瑣且容易出錯(cuò),程序段多,在加工現(xiàn)場(chǎng)輸入程序時(shí),由于數(shù)據(jù)小數(shù)較多易造成輸入錯(cuò)誤,從而使零件報(bào)廢。如圖2所示盤類零件,通過(guò)計(jì)算得孔1、2、3的中心坐標(biāo)分別是:
孔 1 :(X153.341,Y41.088);
孔 2 :(X112.253 ,Y112.253);
孔 3 :(X41.088, Y153.341 )。
圖2 盤類零件
根據(jù)孔位置坐標(biāo)數(shù)據(jù)編寫的程序如下:
…
G00 X153.341Y41.088 (定位到孔1)
G99 G82 G90 R5 Z-120 P2 F100 (鉆孔)
G00 X112.253 Y112.253 (定位到孔2)
G99 G82 G90 R5 Z-120 P2 F100 (鉆孔)
G00 X41.088 Y153.341 (定位到孔3)
G99 G82 G90 R5 Z-120 P2 F100 (鉆孔)
…
根據(jù)上述程序段推斷,要完成圓周12個(gè)孔的鉆孔工序,則至少需要24個(gè)鉆孔的程序段,程序冗長(zhǎng)且數(shù)據(jù)復(fù)雜,容易出錯(cuò)。這種編程方法對(duì)有規(guī)律的孔系顯得笨拙,但對(duì)一些沒(méi)有規(guī)律的孔系的編程卻是必然的方法選擇,而且這種絕對(duì)定位的方式?jīng)]有積累誤差,孔的定位精度較高。
宏程序可以運(yùn)用變量編程,能夠?qū)ψ兞窟M(jìn)行賦值,同時(shí)變量間還可以進(jìn)行算術(shù)與邏輯運(yùn)算,改變程序執(zhí)行順序。
宏程序的變量及變量引用、變量運(yùn)算簡(jiǎn)介。
1)變量表示方法:一個(gè)變量由“#”和變量序號(hào)組成,如#1、#2、#101等。
2)變量引用:將地址符后的數(shù)值用變量來(lái)代替的方法稱為變量引用。如X#4、Y#5、F#101等。
3)變量運(yùn)算:變量之間可進(jìn)行數(shù)學(xué)運(yùn)算和邏輯運(yùn)算,運(yùn)算次序依次是函數(shù)運(yùn)算(SIN、ASIN、COS等)、乘和除運(yùn)算(*、/、AND等)、加和減運(yùn)算(+、-、OR等)。
例如:#1=#2+#3*SIN[#4]。
4)條件表達(dá)式:
格式:IF〔〈條件表達(dá)式〉〕GOTO n ;
例如:IF [ #10 GT 0 ] GOTO 2 ;這種格式表示如果表達(dá)式指定的條件滿足時(shí),轉(zhuǎn)移到標(biāo)有順序號(hào)n的程序段。如果指定的條件不滿足,執(zhí)行下個(gè)程序段。
5)循環(huán)
格式:WHILE[〈條件表達(dá)式〉] DO m ;(m=1,2,3)
如: WHILE[〈條件表達(dá)式〉] DO m ;
…
ENDm;
當(dāng)指定的條件滿足時(shí),執(zhí)行WHILE從DO到END之間的程序。否則轉(zhuǎn)而執(zhí)行END之后的程序段。DO后的號(hào)和END后的號(hào)是指定程序執(zhí)行范圍的標(biāo)號(hào)。
如圖2中的零件,可以通過(guò)變量之間的運(yùn)算確定每個(gè)孔的中心位置,這就大大簡(jiǎn)化了計(jì)算工作,使程序得到簡(jiǎn)化?,F(xiàn)以FANUC系統(tǒng)的B類宏程序?yàn)槔?,編寫圖1零件的圓周孔系加工程序。
O1209(程序名)
N10G90G54G0Z100;(程序開始)
N20M03S200M08; (主軸以200r/min正轉(zhuǎn),冷卻液開)
N30#1=15; (當(dāng)前角度為15°)
N40#2=30; (角度遞增值為30°)
N50#3=360;(最終角度)
N60#4=158.75;(圓周孔系所在的圓弧半徑值)
N70#7=120;(鉆孔深度)
N80WILE[#1LE#3] DO1;(條件判斷)
N90#5=#4*COS#1;(計(jì)算孔位置的X坐標(biāo)值)
N100#6=#4*SIN#1; (計(jì)算孔位置的Y坐標(biāo)值)
N110G00X#5Y#6; (定位到要加工孔的上方)
N120G99 G82 G90 R5 Z-#7 P2 F100 ;(開始鉆孔循環(huán))
N130#1=#1+#2;(更新角度變量)
N140END1;(循環(huán)結(jié)束)
N150G00Z100;(抬刀)
N170M05M09; (主軸停,關(guān)冷卻液)
N180M30; (程序結(jié)束)
由此可見(jiàn),用宏功能編程,程序簡(jiǎn)潔,一個(gè)完整程序也就18個(gè)程序段,而且其中5段是變量賦值,程序的長(zhǎng)度與孔的個(gè)數(shù)無(wú)關(guān)。宏程序不但精悍,而且功能強(qiáng)大,通用性強(qiáng)。如上例,要加工在不同圓周分布、不同個(gè)數(shù)的孔系或者孔深不同等,都可以通過(guò)改變相應(yīng)的變量賦值就可以,不需要改變程序,對(duì)一些企業(yè)加工的系列孔系產(chǎn)品具有很好模板的作用。
分析圖2零件就可知道,12個(gè)孔的結(jié)構(gòu)尺寸一樣,孔加工循環(huán)的動(dòng)作一樣,所不同的僅僅是孔位置的不同。如果把孔加工循環(huán)的程序?qū)懗勺映绦颍儆米鴺?biāo)選擇功能確定每一個(gè)孔的位置,然后調(diào)用孔加工的子程序,這樣編程既簡(jiǎn)單明了,編程方便,而且還不容易出錯(cuò),在生產(chǎn)中使用起來(lái)非常方便。
FANUC系統(tǒng)旋轉(zhuǎn)指令介紹:
指令格式 :
G68 X__Y__P__(建立坐標(biāo)旋轉(zhuǎn)功能)
G69 (取消坐標(biāo)旋轉(zhuǎn)功能)
其中:
X、Y、Z 是旋轉(zhuǎn)中心的坐標(biāo)值;
P為旋轉(zhuǎn)角度,單位是(°),0≤P≤360.°逆時(shí)針旋轉(zhuǎn)時(shí)為“+”,順時(shí)針旋轉(zhuǎn)時(shí)為“—” 。
利用子程序與坐標(biāo)旋轉(zhuǎn)功能相結(jié)合,加工圖1零件的程序如下:
O1210;(程序名)
N10 G54G90Z100;(工件坐標(biāo)系選擇)
N20 M03 S200;(主軸以200r/min正轉(zhuǎn))
N30 T0202;(刀庫(kù)的2號(hào)刀位2號(hào)刀補(bǔ))
N40 G90 G00 Z100;(快速移動(dòng)到安全高度Z100處)
N50 G00 X0 Y0 Z0;(快速定位到工件坐標(biāo)零點(diǎn))
N60 G68 X0 Y0 P15;(旋轉(zhuǎn)15o定位到第1個(gè)孔所在角度)
N70 M98 P2222;(調(diào)用子程序鉆孔)
N80 G68 X0 Y0 P45; (旋轉(zhuǎn)45o定位到第2個(gè)孔所在角度)
N90 M98 P2222; (調(diào)用子程序鉆孔)
N100 C68 X0 Y0 P75;(旋轉(zhuǎn)75o定位到第3個(gè)孔所在角度)
N110 M98 P2222; (調(diào)用子程序鉆孔)…
N280 G68 X0 Y0 P345;
N290 M98 P2222;
N300 G00 X0 Y0 Z100; (快速抬刀)
N310 M05; (主軸停)
N320 M30; (程序結(jié)束)
O2222;(子程序名)
N10 G99 G82 X158.750 Y0 R5 Z-120 P2000 F100;(鉆孔循環(huán))
N20 G69; (取消旋轉(zhuǎn)功能)
N30 M99;(子程序結(jié)束,返回主程序)
由程序O1210可見(jiàn),程序基本在重復(fù)G68 X0Y0P_及M98P2222兩個(gè)程序段,編程過(guò)程不需要繁雜的計(jì)算過(guò)程,用口算即能很快編制出程序,高效實(shí)用,簡(jiǎn)單清楚,比傳統(tǒng)的坐標(biāo)編程法要簡(jiǎn)練得多。但這種程序編寫方法,孔數(shù)越多程序越長(zhǎng),不但程序的長(zhǎng)度與孔的數(shù)量成正比,而且,一般孔加工如果需要經(jīng)過(guò)點(diǎn)中心孔、鉆孔、攻螺紋等多個(gè)工序,程序的長(zhǎng)度同時(shí)與工序數(shù)也成正比。
其實(shí)零件中每個(gè)孔的位置在圓周上是均勻分布的,任意兩孔之間角度增量相等,如果把角度增量設(shè)為變量,則每個(gè)孔的位置就可以通過(guò)變量運(yùn)算來(lái)確定。運(yùn)用旋轉(zhuǎn)功能與宏程序結(jié)合編寫的程序如下:
O1211;(程序名)
N10 G54G90Z100;(工件坐標(biāo)系選擇)
N20 M03 S200;(主軸以200r/min正轉(zhuǎn))
N30 T0202;(刀庫(kù)的2號(hào)刀位2號(hào)刀補(bǔ))
N40 G90 G00 Z100;(快速移動(dòng)到安全高度Z100處)
N50 G00 X0 Y0 Z0;(快速定位到工件坐標(biāo)零點(diǎn))
N60 #1=15; (當(dāng)前角度值)
N70 #2=30; (角度變量增量值)
N80 WILE[#1LE360] DO1; (條件判斷)
N90 G68 X0 Y0 P#1;(旋轉(zhuǎn)15o定位到第1個(gè)孔所在角度)
N100 G99 G82 X158.750 Y0 R5 Z-120 P2000 F100;(鉆孔循環(huán))
N110 G69; (取消旋轉(zhuǎn)功能)
N120 #1=#1+#2;(更新角度變量)
N130 END1; (結(jié)束循環(huán))
N300 G00 X0 Y0 Z100; (快速抬刀)
N310 M05; (主軸停)
N320 M30; (程序結(jié)束)
由程序O1211可知,由于旋轉(zhuǎn)功能與宏程序的結(jié)合,程序變得更加簡(jiǎn)潔,與單純的宏程序相比,程序更簡(jiǎn)單、清楚、易懂,編程也更容易。
通過(guò)比較四種編程方法可知,坐標(biāo)編程法比較原始,計(jì)算量大容易出錯(cuò),但在無(wú)規(guī)律的孔系加工中,這是唯一可選的方法;利用機(jī)床的用戶宏功能編寫的宏程序精簡(jiǎn)、靈活、可適應(yīng)不同直徑圓周分布、不同孔數(shù)的加工,特別適合只是尺寸不同的系列零件生產(chǎn);用子程序與坐標(biāo)旋轉(zhuǎn)功能結(jié)合的編程方法表現(xiàn)出簡(jiǎn)單清楚、高效實(shí)用的特點(diǎn),對(duì)操作工人來(lái)說(shuō)這是最容易讀懂的程序;利用機(jī)床系統(tǒng)的選轉(zhuǎn)功能與宏程序結(jié)合編程的方法,體現(xiàn)更強(qiáng)大的優(yōu)越性,不但程序短小精悍,而且計(jì)算非常簡(jiǎn)單,程序靈活性、通用性都很強(qiáng)。
[1] 孫德茂. 數(shù)控機(jī)床銑削加工直接編程技術(shù)[M]. 北京: 機(jī)械工業(yè)出版社, 2004.
[2] 陳華, 陳炳森. 零件數(shù)控銑削加工[M]. 北京: 北京理工大學(xué)出版社, 2010.
[3] 張兆隆. 數(shù)控加工工藝與編程[M]. 北京: 機(jī)械工業(yè)出版社, 2008.