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