王 健,陳 琳
(佛山市技師學院,廣東佛山 528237)
孔系在端蓋、法蘭、箱體、通用夾具等零件中是非常常見的,傳統(tǒng)的加工方法是利用鉆模在普通鉆床上加工,但這種加工方法工人勞動強度大、工序分散效率相對較低、孔的相對位置誤差也較大。隨著數(shù)控機床的不斷普及,由于其對工人的勞動強度低、工序集中、效率高、操作方便靈活的特點,越來越多的孔系零件被安排在數(shù)控機床上加工。但普通加工程序數(shù)據(jù)繁雜,要怎樣對數(shù)控加工程序進行簡化,避免計算錯誤,且易于修改,才能完成孔系的加工。
以FANUC為例的鉆孔循環(huán)指令(見表1)。
表1 FANUC為例的鉆孔循環(huán)指令
在數(shù)控加工中,孔加工的動作循環(huán)基本已經(jīng)標準化。一般動作可分為:孔位置定位、快速移至R面、工進加工和快速退回等,如圖1 所示。系統(tǒng)將這樣一系列的加工動作預(yù)先編好程序存儲在系統(tǒng)中,再通過孔加工循環(huán)代碼調(diào)用實現(xiàn)簡化編程工作。這樣的動作循環(huán)G代碼稱為循環(huán)指令。
圖1 盤類零件
以FANUC系統(tǒng)鉆孔循環(huán)為例格式如下:
G98(G99)G90(G91)G_X_Y_Z_R_F_Q_K_
參數(shù)說明:
(1)X、Y為加工孔位置坐標。
(2)Z為孔底坐標,G90時Z為孔底坐標,G91時Z為R點位置到孔底的距離(一般為負值)。
(3)R為安全平面位置。G90 時為R面的坐標位置,G91時為初始點到R面的距離(一般為負值)。
(4)F為鉆孔切削進給速度。
(5)當G83時Q為每次進給深度。
(6)K為鉆孔重復(fù)次數(shù)。
本文主要研究的主要內(nèi)容是在傳統(tǒng)的圓周、矩形陣列孔系加工編程中,程序繁多、數(shù)據(jù)計算量大、數(shù)值復(fù)雜等問題,導(dǎo)致加工中容易出錯引發(fā)事故;通過運用增量編程、宏程序編程、子程序編程、極坐標編程的多種方法簡化程序,以具體的編程過程來對比論證該方法的簡潔實用性。
圓周孔系是指按一定規(guī)律分布在圓周上的一系列的孔,若孔的尺寸相同,則使用孔的固定循環(huán)指令也相同,不同的是每一個孔的位置不同。同一個孔工序的不同(如鉆中心孔、鉆孔、攻螺紋等)只需更換刀具和循環(huán)指令即可。所以,編程時的關(guān)鍵和難點在于如何確定孔的位置。
坐標編程法是指通過數(shù)學計算的方式計算出加工孔的位置坐標值,再將所計算的位置坐標值等數(shù)據(jù)編入鉆孔循環(huán)程序段中,運行該程序,鉆孔即可完成。使用這種方法計算量較大,數(shù)據(jù)繁瑣且容易計算錯誤,程序段多,在系統(tǒng)中輸入程序時,由于數(shù)據(jù)及數(shù)據(jù)的小數(shù)位較多,極易造成輸入錯誤,從而導(dǎo)致零件加工報廢甚至損壞機床。
編程過程如下:根據(jù)圖1所示零件計算得出孔1、2、3的中心坐標并編程:
孔1:(X153.341,Y41.088)。
孔2:(X112.253,Y112.253)。
孔3:(X41.088,Y153.341)。
根據(jù)計算坐標數(shù)據(jù)編程如下:
………
G0 X153.341 Y41.088 (定位至孔1)
G98 G90 G83 X153.341 Y41.088 Z-120. R10.Q5. F100.(加工孔1)
X112.253 Y112.253 (定位并加工孔2)
X41.088 Y153.341 (定位并加工孔3)
………
由上述程序段可以看出,如要完成圓周12個孔的鉆孔加工,至少需要12個以上的鉆孔程序段,程序數(shù)據(jù)復(fù)雜,空位置數(shù)值小數(shù)多,容易出錯。這種編程方法在有規(guī)律的孔系中顯得笨拙,但在沒有規(guī)律的孔系中只能選擇這種編程方法。而且使用這種絕對定位的方式不會產(chǎn)生累積誤差,孔的定位精度較高。
宏程序可以運用變量進行編程,在程序中可以對變量進行賦值,同時變量之間還可以進行算術(shù)與邏輯運算,改變執(zhí)行順序。
極坐標可將一般的直角坐標位置轉(zhuǎn)變?yōu)榘霃胶徒嵌缺磉_,減少了對圓周孔系的位置計算。
宏程序的變量及變量引用、變量運算:
變量表示方法(FANUC 為例):一個變量由“#”和變量序號組成,如#1、#2、#101、等。#1-#99 為局部變量,#100-#999為公共變量,#1000以上為系統(tǒng)變量。
變量引用:將地址附后的數(shù)值用變量來代替的方法稱為變量引用。如:X#1 Y#2 F#5等。
變量運算:變量之間可進行數(shù)學運算和邏輯運算,運算的次序依次為函數(shù)運算(SIN、ASIN、COS等)、乘和除運算(*、/、AND 等)、加和減運算(+、-、OR等)。如:#1=#2-#3*SIN[#4]。
條件表達式:
格式:IF[(條件表達式)] GOTOn ;
如:IF[#10 GT 0] GOTO 2;表示如果表達式條件滿足時,將轉(zhuǎn)移到N2的程序段。如果條件不滿足,將執(zhí)行下一個程序段。
極坐標指令格式
G16 X Y (開啟極坐標編程)
G15(取消極坐標編程)
X為圓弧半徑值
Y為角度值
如圖2 中的零件,可以通過極坐標的轉(zhuǎn)換確定每個孔的中心位置,簡化了計算工作,再使用變量簡化程序。現(xiàn)以FANUC系統(tǒng)為例,編寫圖1零件的圓周孔系加工程序。
O0001 程序名
N10 G90 G54 G0 Z100; 程序開始
N20 M3 S250 M8; 主軸正轉(zhuǎn)、轉(zhuǎn)速250r/min、冷卻液開
N30 #1=15; 初始角度賦值#1變量15°
N40 #2=30; 角度增量賦值#2變量30°
N50 #3=158.75;圓周孔系所在的圓弧半徑值
N60 G0 G16 X#3 Y#1; 啟用極坐標編程,定位至孔位置
N70 G98 G83 Z-120. R5. Q5. F100;開始鉆孔循環(huán)
N80 #1=[#1+#2]; 更新角度變量
N90 IF[#1 LE 360] GOTO 60; 條件判斷
N100 G15 G90 G80 G0 Z100; 取消極坐標編程、抬刀
N110 M30;
由上述程序可見,用宏程序和極坐標編程,省略了計算過程,避免了計算產(chǎn)生的錯誤,程序簡潔,一個完整的程序也只有11個程序段,前5段為程序頭及變量賦值,程序的長短與孔的個數(shù)無關(guān)。通用性強。如要加工不同圓周、不同數(shù)量或不同深度的孔系,都只需改變相應(yīng)的變量賦值就可以,不需修改程序,可作為企業(yè)不同系列圓周孔系的很好模板。
固定循環(huán)的增量方式編程是指以增量的形式對固定循環(huán)中的數(shù)值進行指定,對相對位置固定的孔系加工編程應(yīng)用相當方便,只需在一個循環(huán)指令中指定相對的位置及重復(fù)的次數(shù)即可,再與極坐標相結(jié)合完成圓周孔系的編程。
增量方式在固定循環(huán)中的應(yīng)用(FANUC為例):
G98(G99) G91 G83 X_Y_Z_R_Q_K_F_;
參數(shù)說明:
G91:增量方式
G83:鉆孔固定循環(huán)
X、Y:G91時為當前位置到加工孔的距離
Z:G91 時Z為R點位置到孔底的距離(一般為負值)。
R:為安全平面位置。G90 時為R面的坐標位置,G91時為初始點到R面的距離(一般為負值)。
F:為鉆孔切削進給速度。
Q:當G83時Q為每次進給深度。
K:為鉆孔重復(fù)次數(shù)。
如圖2 所示零件,同樣使用極坐標的方式確定加工孔的位置坐標,再使用增量的方式簡化加工程序段。以FANUC為例編寫圖2加工程序:
O0001 程序名
G90 G54 G0 Z100; 程序開始
M3 S250 M8; 主軸正轉(zhuǎn)、轉(zhuǎn)速250r/min、冷卻液開
G16 G98 G83 X158.75. Y15. Z- 120. R5.Q5. F100;啟用極坐標方式,定位并加工出孔1。
G98 G91 G83 Y30. Z- 125. R- 95.Q5 K11 F100;啟用增量方式,角度增量30°,重復(fù)11次,加工余下11個孔。
G15 G90 G80;
M30;
由上述程序可以看出,使用增量方式與極坐標結(jié)合的方法,相對于上一種方法更為簡潔,免去了計算過程同時還大大減少了程序段,修改與較為方便,只需改變增量的大小和重復(fù)次數(shù)即可。
加工中心上經(jīng)常會遇到如圖2所示的矩形孔系零件,這些孔呈一定規(guī)律排列,要對此類孔系零件進行加工,利用手工編程程序段相對復(fù)雜、繁多,在輸入時容易出錯。下面以FANUC系統(tǒng)為例對矩形陣列孔系進行編程,充分利用子程序、宏功能等,對復(fù)雜的手工編程進行簡化,體現(xiàn)程序的簡潔性和準確性。
圖2 矩形孔系零件
傳統(tǒng)坐標編程法通過每一個加工孔坐標輸入到孔加工程序中,運行程序加工出所需孔,在孔較多的孔系零件中,這種編程方法數(shù)據(jù)量非常大,程序段多,在輸入時耗費時間及容易出現(xiàn)輸入錯誤,從而發(fā)生浪費或事故。根據(jù)圖3所示零件各孔位置尺寸計算坐標并編程:
圖3 矩形孔系零件
(以零件左下角作為原點)
O0001
G90 G54 G0 Z100;
M3 S700;
G83 X6 Y4 Z-15 R5 Q2 F100;
X12;
X18;
X24;
………
X6 Y11;
Y18;
Y25;
………
G80 G0 Z100;
M30;
由上述程序可以看出,傳統(tǒng)的坐標編程法在孔較多的孔系中顯得笨拙,上圖100個孔完全使用傳統(tǒng)坐標編程的話程序段至少需要100段以上,而且需要計算各孔的位置坐標,但在沒有規(guī)律排列及較少的孔加工中應(yīng)用相對方便,且能保證較高的位置精度。
根據(jù)圖3 零件所示,所有加工孔的結(jié)構(gòu)尺寸都相同,不同的只是所加工孔的位置,若將孔加工循環(huán)的程序以增量的形式編寫成子程序,再用宏功能重復(fù)調(diào)用孔加工的子程序,這樣不但編程簡單方便,而且不易出錯,也大大簡化了程序,在日常生產(chǎn)中使用非常方便。
以FANUC系統(tǒng)為例子程序功能介紹:
當加工程序需要多次運行一段同樣的軌跡時,可將這段軌跡編成子程序存儲在機床的程序存儲器中,每次在程序中需要執(zhí)行這段軌跡時便可以調(diào)用該子程序。
子程序格式:
O×××× 子程序名
………;
………; 程序內(nèi)容
M99; 返回主程序
在主程序中,調(diào)用子程序的格式:
M98 P×××××;
M98為調(diào)用指令,地址P后面的數(shù)字中,后四位為調(diào)用的子程序的程序名,前面幾位則為調(diào)用的重復(fù)次數(shù)(調(diào)用一次不用指定),例如:
M98 P51001; 調(diào)用1001號子程序,調(diào)用5次。
M98 P1001; 調(diào)用1001號子程序,調(diào)用1次。
宏功能及增量方式在圓周孔系中以有相應(yīng)介紹,在此不再作相應(yīng)解釋。
下面就以圖3零件為例,使用子程序、宏功能及增量方式相結(jié)合的方法進行孔加工程序的編程:
O0002 主程序名
N10 G90 G54 G0 Z100; 程序開始
N20 M3 S700 M8; 主軸正轉(zhuǎn),轉(zhuǎn)速700r/min,冷卻液開
N30 #1=6; 初始變量賦值
N40 #2=4; 初始變量賦值
N50 #3=7; 孔位增量變量賦值
N60 G98 G83 X#1 Y#2 Z-15. R5 Q2 F100;定位并加工第一個孔
N70 M98 P1001; 調(diào)用子程序,調(diào)用1次
N80 #2=[#2+#3]; 更新變量,加工下一排孔
N90 IF[#2 LE 70] GOTO 60; 條件判斷
N100 G90 G80 G0 Z100; 抬刀
N110 M30; 程序結(jié)束
O1001; 子程序名
G98 G91 G83 X6. Z-20. R-95. Q2 K9 F100.;
增量方式加工循環(huán),重復(fù)9次加工出一排余下9個孔
G90 G0 Z100; 抬刀
M99; 返回主程序
由上述程序看出,通過子程序、宏功能及增量方式相結(jié)合的編程方法大大減小了程序的復(fù)雜性,簡化了程序,100 個孔一條完整的程序也才只有十多段程序,避免了孔位計算減小了勞動強度。
通過上述各種編程方法的比較,傳統(tǒng)坐標編程比較原始,計算量較大容易出錯,但在沒有規(guī)律排列的孔系中,是唯一的方法,孔的相對位置精度容易保證;在圓周孔系中使用極坐標簡化了孔位置的計算,使用宏功能及增量方式減少了程序量,適應(yīng)不同直徑圓周分布、不同數(shù)量的孔加工;矩形陣列孔系中,使用子程序方式減少了孔坐標的重復(fù)輸入,增量方式避免了孔位置坐標的計算,使用宏功能簡化了程序。對操作工人來說更簡單易懂,體現(xiàn)更強大的優(yōu)越性,不但程序簡單,而且計算方便,通用性也很強。