田立波,王文靜
(1.皖北經濟技術學校,安徽 臨泉 236400) (2.臨泉第四中學,安徽 臨泉 236400)
近年來隨著各類數控機床的普及,CAD/CAM軟件應運而生,許多數控編程人員對CAD/CAM軟件運用自如,但對機床自帶的宏命令望而生畏,而對于一些復雜的零件利用宏程序[1]加工要比利用CAD/CAM軟件編制的程序加工方便快捷[2]。例如一回轉體工件,其外圓上有多個孔的中心矢量過偏心孔的中心線。該種工件若使用CAD/CAM編程,工作量較大,因為每個孔的深度、角度位置都不一樣,所以每個孔都要進行一次編程操作[3],導致程序冗滯,不利于機床讀取和操作員查閱,工件的裝夾也很麻煩,并且每個孔位的坐標都要經過人工測量得到。相比之下利用宏程序加工此種工件則要高效得多。利用宏程序可將工件的加工路徑用數學公式進行表達,各加工參數一目了然,便于修改,機床讀取程序及計算加工路徑更迅速,加工時機床不會出現停頓。為此,本文詳細敘述了利用機床工作臺旋轉功能和工作臺回轉中心與工件坐標系之間的關系對矢量過偏心孔中心的多個外周孔工件加工的宏程序進行編制(FANUC系統)[4-5]。利用此宏程序,操作人員可以把回轉體工件裝夾在工作臺的各區域內,只需要一個坐標系就能完成對工件外周徑向孔的鉆削、銑削加工。
例如要對圖1所示工件的外周徑向孔進行加工,首先確定工件坐標系與工作臺回轉中心的關系,然后在工作臺旋轉后,利用工件和工作臺之間的位置關系計算出各外周徑向孔的新坐標點。

圖1 矢量過偏心孔中心線的外周徑向孔工件
1)轉動工作臺(B軸),校正工件的工藝面E,使工藝面E與X軸平行,如圖2所示,然后把當前B軸的機械坐標值輸入到工作臺回轉中心的坐標系內,可用不常用到的擴展坐標系G54.1 P48。有些機床工作臺回轉中心的機械坐標點設置為(0,0,0),有些機床工作臺回轉中心的機械坐標點設置是其他數值,比如(500,500,0)。編程員可以查機床參數,也可以自己測量工作臺回轉中心的X值、Z值,并輸入到工件坐標系G54.1 P48內。
2)在機床MDI(manual data input)模式下運行程序(G90 G54.1 P48B0),調出工作臺回轉中心坐標系G54.1 P48,并使工作臺旋轉到當前工件坐標系下的B0位置。機床會顯示G54.1 P48的絕對坐標系。

圖2 工件的工藝面D、E
3)從機床刀庫調出分中棒或探頭裝到主軸上,主軸旋轉,在工件坐標系G54.1 P48下工作臺B0的位置,對工件偏心孔外壁(如圖2所示工藝面D)進行分中,測得工作臺B0位置時工件偏心孔中心相對于工作臺回轉中心的距離a(機床顯示器坐標界面絕對坐標的X值,如圖3中所示的a)。然后把工作臺旋轉到工件坐標系G54.1 P48下B270的位置,對工件偏心孔外壁(如圖2所示工藝面D)進行分中,測得B270時工件偏心孔中心相對于工作臺回轉中心的距離b(機床顯示器坐標界面絕對坐標的X值),當工作臺在B0位置時,b即是工件偏心孔的中心坐標點相對于工作臺回轉中心坐標點的Z向差值(如圖3中所示的b)。

圖3 工件坐標系G54.1 P48下工作臺B0位置
根據勾股定理計算工件偏心孔中心相對于工作臺回轉中心的極坐標半徑r:
根據三角函數反函數可以計算出工件偏心孔中心相對于工作臺回轉中心的極坐標角度值θ:
θ=arctan[b/a]
例1:a=-34.641mm,b=20mm,使用FANUC系統宏程序計算工件偏心孔中心的極坐標。
編寫FANUC系統宏程序為:
#101= -34.641; //把公共變量#101賦值a
#102=20; //把公共變量#102賦值b
#104=ATAN[#102]/[#101]; //計算出極坐標角度θ=150°
#105=SQRT[POW[#101,2]+POW[#102,2]];//計算出極坐標半徑r=40mm,在FANUC系統中SQRT是平方函數,POW是次方函數
工作臺旋轉45°后(圖4 所示的工作臺位置),r值不變,θ在工作臺轉動后變為θ1,編程人員可以利用三角函數計算出工作臺旋轉后工件偏心孔中心相對于工作臺回轉中心的直角坐標點(a1,b1):a1=rcosθ1,b1=rsinθ1。

圖4 工作臺B軸旋轉45°后位置
例2:a=-34.641mm,b=20mm ,B軸旋轉45°時,使用FANUC系統宏程序求a1,b1。
編寫FANUC系統宏程序為:
#4=cos[#104+45]*#105 //#4=a1,θ=#104,θ1=θ+45
#5=sin[#104+45]*#105; //#5=b1
如圖5所示,在工件的外圓上有孔1,在坐標系G54.1 P48下工作臺B0位置時,孔1的孔心矢量與Z軸的夾角為θ2,并且孔的方向矢量過工件偏心孔中心,偏心距為e,工件外圓半徑為d/2,求孔1坐標點到偏心孔中心的距離r2(r2隨外圓孔角度θ1的變化而變化)。

圖5 工作臺B0位置
在邊長為e,d/2,r2的三角形中,與e邊所對的角為α,與d/2邊所對的角為β,與r2邊所對的角為γ。
由補角定理可得:
β=|180°-|θ2|| (-360°≤θ2≤360°)
根據三角形的正弦定理:


由α+β+γ=180°,得:

又由三角形余弦定理可得:

通過以上計算可以得到外周徑向孔口中心點到偏心孔中心距離r2的值,用FANUC系統宏程序表示r2值:
#6=180-ABS(180-ABS(#3))-
ASIN( #108*SIN(ABS(180-ABS(#3)))/#103);
#7=SQRT(POW(#108,2)+POW(#103,2)-2*#108*#103*COS(#6)); //#7=r2,#103為工件半徑,#3為孔角度,#108為偏心距e,#6為圖5中角γ值,ABS是絕對值函數
在G54.1 P48的坐標系內孔的X軸向坐標為a1,Z軸向坐標為(b1+r2),即外周徑向孔口中心點坐標為(a1,b1+r2),通過上文示例可知a1=#4,b1=#5,r2=#7,所以外周徑向孔口中心點坐標用FANUC系統宏程序參數表示為(#4,#5+#7 )。
例3:如圖5所示,工件直徑為d,偏心距為e,孔角度為θ2,孔1底部距偏心孔中心距離為100mm,要加工孔1。
編寫宏程序為:
#6=180-ABS(180-ABS(#3))-
ASIN( #108*SIN(ABS(180-ABS(#3)))/#103);
#7=SQRT(POW(#108,2)+POW(#103,2)-2*#108*#103*COS(#6));
G81 X#4 Y_ Z[#5+100] R[#5+#7+3] F_;
為了使數控操作者在修改或閱讀程序時一目了然,可以把坐標系偏移到孔位上,建立新的坐標系,使用可編程參數輸入指令G10進行操作[6]。G10格式如下;
G90 G10 L2 P0 X_Y_Z_;
在FANUC系統中,G90是指絕對偏置,L2是指偏置坐標系,P0是指偏置外部坐標系EXT。
因此例3的宏程序還可以寫為:
#6=180-ABS(180-ABS(#3))-ASIN( #108*SIN(ABS(180-ABS(#3)))/#103);
#7=SQRT(POW(#108,2)+POW(#103,2)-2*#108*#103*COS(#6));
G90 G10 L2 P0 X#4 Y_ Z[#5+#7];
G81 X0 Y__ Z[-#7+100 ] R3 F__;
如圖6所示,工件直徑為600mm,e為32mm,外圓分布8個過回轉體偏心孔中心的臺階孔,工件通過工藝面校正后,偏心孔中心與工作臺回轉中心在X向的差值是30mm,在Z向的差值是40mm。要加工臺階孔底部距偏心孔中心為150mm的孔。
零件加工宏程序為:
%;
#101=30;
#102=40;
#103=600/2; //#103為工件半徑
#104=ATAN[#102]/[#101] ;
#105=SQRT[POW[#101,2]+POW[#102,2]];
#108=32; //#108為偏心距e
G54.1P48G15G90G00X0Y0S800M03;

圖6 零件圖
#3=45; //第一個孔位角度賦值
#2=315; //最后一個孔位角度賦值
WHILE[#3LE#2] DO01;
#4=COS[#3+#104]*#105;
#5=SIN[#3+#104]*#105;
#6=180-ABS(180-ABS(#3))-ASIN( #108*SIN(ABS(180-ABS(#3)))/#103);
#7=SQRT(POW(#108,2)+POW(#103,2)-2*#108*#103*COS(#6));
G90B#3;
G90G10L2 P0 X#4 Y150 Z[#5+#7];
G43H1Z200;
G81X0Y150Z-0.1R2F100;//此段鉆孔程序也可換成銑孔程序
G80 G00 Z200;
#3=#3+30; //計算下一個孔的角度
IF[#3EQ165]THEN#3=225;
END01;
;
通過示例可以看出,本文利用工作臺的回轉中心坐標與工件偏心孔的中心坐標關系,編制宏程序用來加工矢量過偏心孔中心的外圓徑向孔是非常方便的,工件裝夾不需要定位工裝,工件夾緊后,只需要確定工件偏心孔中心和工作臺的位置偏差就可以利用程序進行矢量過偏心孔中心的外圓徑向孔的孔位坐標計算,進行孔的鉆削、銑削加工。此方法還可以擴展到斜孔加工、矢量過回轉體中心的外圓均布孔的加工。實踐證明,利用此種方法編制的宏程序加工出的零件都符合圖樣要求,解決了大型工件校正難的問題,減少了工藝員和操作者的工作量,提高了生產效率,加快了生產進程,給企業帶來了一定的經濟效益。