曹國彬,劉振才,賈廣濤
(河南平高電氣股份有限公司,河南平頂山467001)
宏程序短小簡潔,邏輯性強(qiáng),具有極好的易讀性和易修改性。通用宏程序在編制后可靈活調(diào)用,使用時(shí)直接賦值即可,簡單方便,既減少了編程工作量,提高了編程效率,又拓寬了機(jī)床編程功能的范圍,節(jié)省了機(jī)床內(nèi)存空間。在使用過程中擁有CAD/CAM 軟件不可取代的優(yōu)勢,因此被廣泛應(yīng)用于企業(yè)數(shù)控生產(chǎn)加工中。
重點(diǎn)對作者所在企業(yè)加工常用的圓周均布孔定位、銑內(nèi)螺紋、螺旋銑內(nèi)孔宏程序、平行陣列孔群定位宏程序編制及應(yīng)用進(jìn)行探討。
加工圓周均布孔的編程,正常情況需要先把每個(gè)孔的位置用人工或在畫圖軟件上進(jìn)行計(jì)算,工作效率非常低,輸入坐標(biāo)數(shù)值時(shí)也不能保證輸入代碼和數(shù)值的正確性,還要反復(fù)檢查確認(rèn),費(fèi)工費(fèi)時(shí),用宏程序讓機(jī)床自己運(yùn)算就方便多了。
O9100 (FEN.DU)//程序號及名稱
#32 =1 //孔數(shù)初始賦值
#2 =360 //終止孔角度
WHILE [#32LE#11] DO1 //當(dāng)#32 小于等于設(shè)定孔數(shù)時(shí)循環(huán)1 繼續(xù)
#33 =#1 +#2* [#32-1] /#11 //計(jì)算角度
#101=#24+#18* COS [#33]//計(jì)算孔位置X 坐標(biāo)
#102=#25+#18* SIN [#33]//計(jì)算孔位置Y 坐標(biāo)
X#101Y#102 //執(zhí)行X、Y 坐標(biāo)
#32 =#32 +1 //#32 遞增1
END1 //循環(huán)1 結(jié)束
#101 =0 //#101 歸零
#102 =0 //#102 歸零
M99 //宏程序結(jié)束返回
例如:加工圖1 所示8 ×φ10 mm、深度30 mm、分度圓半徑為50 mm 的圓周均布孔主程序如下:
O1
M6T1(φ10Z)
G0G90G54X0Y0
G43Z100.H1M3S1000
M8
G98G83Z-30.R3.Q3.F100L0
G65P9100H8A15B360X0Y0R50
G0G80G91G28Z0M5
M9
M30
圖1 示例零件一
自變量賦值說明:
H8 表示孔數(shù)為8 個(gè);
A15 表示孔初始角15°;
B360 表示終止角度360°;
X0 表示分度圓圓心X 坐標(biāo)0;
Y0 表示分度圓圓心Y 坐標(biāo)0;
R50 表示分度圓半徑50。
此宏程序不僅適用360°范圍內(nèi)圓周均布孔,對于任何角度內(nèi)圓周均布孔也一樣適用,使用時(shí)只需對#2 按照實(shí)際需要重新賦值。
銑內(nèi)螺紋、螺旋銑內(nèi)孔宏程序如下:
O9300(XI.KOU)//程序號及名稱
#29 =1 //初始賦值1
G0Z5.//G0 至Z5 處
G0G91X-[#18-#4]F#9 //增量快移至X 軸進(jìn)刀點(diǎn)
G1Z-5.F100 //增量工進(jìn)至Z 軸進(jìn)刀點(diǎn)
#21 =ABS[#26/#17]//求進(jìn)刀次數(shù)
#21 =FUP[#21]//大取整
#22 =ABS[#26/#21]//求每次進(jìn)刀深度
WHILE[#29LE#21]DO1 //當(dāng)#29≤#21 循環(huán)1 繼續(xù)
G2I[#18-#4]Z-#22F#9 //順時(shí)針螺旋銑一周
#29 =#29 +1 //#29 遞增1
END1 //循環(huán)1 結(jié)束
G1G91X#5F#9 //增量退刀
G90 //絕對坐標(biāo)
G0Z50.//快移至Z50 處
M99 //宏程序結(jié)束返回
例如:加工圖2 所示M64 ×2,深度30 mm 的內(nèi)螺紋孔主程序如下:
O2
M6T2
G0G90G54X0Y0
G43Z100.H2M3S2000
M8
G0Z5
G65P9300R32Z30I15J3Q2F300
G0Z50.
G91G28Z0M5
M9
M30
圖2 示例零件二
自變量賦值說明:
R32 表示內(nèi)螺紋大徑(半徑);
Z30 表示內(nèi)螺紋扣深;
I15 表示內(nèi)扣刀半徑;
J3 表示徑向退刀量3,要稍大于螺距,避免退刀時(shí)碰傷孔壁;
Q2 表示每次下刀距離2 mm;
F300 表示走刀量300 mm/min。
注意:銑螺紋時(shí),內(nèi)螺紋扣深Z 與每次下刀距離Q 必須能夠整出,整除得出#22 螺距。
(1)此宏程序也可用于螺旋銑內(nèi)孔,方法與銑螺紋相同。
(2)如果需要加工外螺紋或螺旋銑外圓,只需將宏程序中(共3 處) [#18-#14],改為[#18 +#14],退刀量J 設(shè)為負(fù)值即可。
(3)如果要加工圓周均布內(nèi)螺紋孔,只需在圓周均布孔定位宏程序中再調(diào)用銑內(nèi)螺紋宏程序即可。
例如:
加工圖3 所示8 ×M36 ×2,深度30 mm,分度圓半徑為100 mm 的圓周均布內(nèi)螺紋孔主程序如下:
O9200(FEN.DU)//程序號
#32 =1 //孔數(shù)初始賦值
#2 =360 //終止孔角度
WHILE[#32LE#11]DO1 //當(dāng)#32 小于等于設(shè)定孔數(shù)時(shí)循環(huán)1 繼續(xù)
#33 =#1 +#2* [#32-1]/#11 //計(jì)算角度
#101=#24+#18* COS[#33]//計(jì)算孔位置X 坐標(biāo)
#102 =#25 +#18* SIN[#33]//計(jì)算孔位置Y 坐標(biāo)
X#101Y#102 //執(zhí)行X、Y 坐標(biāo)
G65P9300R18Z30I12J3Q2F300 //調(diào)O9300 程 序賦值銑內(nèi)螺紋
#32 =#32 +1 //#32 遞增1
END1 //循環(huán)1 結(jié)束
#101 =0 //#101 歸零
#102 =0 //#102 歸零
M99 //宏程序結(jié)束返回
圖3 示例零件三
加工圓周均布內(nèi)螺紋孔主程序調(diào)用宏程序如下:
O3
M6T3
G0G90G54X0Y0
G43Z100H1M3S2000
G0Z5
G65P9200H8A15B360X0Y0R100
G0G80G91G28Z0M5
M30
自變量賦值同上。
平行陣列孔定位宏程序[1]55-56如下:
O9800 //程序號
G52X#24Y#25 //第一孔圓心處建立局部坐標(biāo)系
G68X0Y0R#1 //第一孔圓心為中心坐標(biāo)系旋轉(zhuǎn)#1
#10 =1 //縱行計(jì)數(shù)賦初始值1
WHILE[#11LE#6]DO1 //如果#10 ≤#6 循環(huán)1繼續(xù)
#11 =1 //橫行計(jì)數(shù)賦初始值1
WHILE[#11LE#5]DO2 //當(dāng)#11 ≤#5 時(shí)循環(huán)2繼續(xù)
IF[[#10AND1]EQ0]GOTO1 //如果#10 為偶數(shù)時(shí)轉(zhuǎn)移至N1 行
#12 =#3* [#11-1]+ #4* COS[#2]* [#10-1]//發(fā)出行孔X 坐標(biāo)
#13 = #4* SIN[#2]* [#10-1]//發(fā)出行孔Y坐標(biāo)
GOTO5 //跳轉(zhuǎn)至N5 行
N1#12 =#3* [#5-#11]+#4* COS[#2]* [#10-1]//返回行孔X 坐標(biāo)
N5#13 =#4* SIN[#2]* [#10-1]//返回行孔Y坐標(biāo)
X#12Y#13 //執(zhí)行X、Y 坐標(biāo)
#11 =#11 +1 //#11 遞增1
END2 //循環(huán)2 結(jié)束
#10 =#10 +1 //#10 遞增1
END1 //循環(huán)1 結(jié)束
G80G69 //取消固定循環(huán)、取消坐標(biāo)系旋轉(zhuǎn)
G52X0Y0 //取消局部坐標(biāo)系,回復(fù)G54 原點(diǎn)
M99 //宏程序結(jié)束返回
如加工圖4 平行陣列孔,主程序調(diào)用宏程序如下:
O4
M6T4(φ10Z)
G0G90G54X0Y0
G43Z100.H4M3S1000
M8
G98G83Z-30.R3.Q3.F100L0
G65P9800X0Y0A15B60C30I40J5K4
G0G91G28Z0M5
M9
M30
圖4 示例零件四
自變量賦值說明:
X0 表示第一孔X 坐標(biāo);
Y0 表示第一孔Y 坐標(biāo);
A15 表示橫孔中心線與X 軸夾角;
B60 表示橫孔與縱孔中心線間夾角;
C30 表示矩陣橫向孔中心距;
I40 表示矩陣縱向孔中心距;
J5 表示橫向孔數(shù)5;
K4 表示縱向孔數(shù)4。
在平常的工作中,有很多地方都可以用宏程序,比如:粗銑內(nèi)外輪廓可以用宏程序分層;加工錐面可用宏程序計(jì)算坐標(biāo);工件計(jì)數(shù)也可以編個(gè)計(jì)數(shù)宏程序,程序結(jié)尾運(yùn)行一下,方便計(jì)數(shù)。
從模塊化加工的角度看,宏程序具有模塊化的思想和條件,編程人員只需要根據(jù)零件幾何信息和不同的數(shù)學(xué)模型即可完成相應(yīng)的模塊化加工程序設(shè)計(jì),應(yīng)用時(shí)只需要把零件加工信息、加工參數(shù)等輸入到相應(yīng)的模塊調(diào)用語句中,就可以很方便地編制出加工程序,使編程人員從繁瑣的、大量重復(fù)性的編程工作中解脫出來,起到事半功倍的效果[1]2-3。
[1]陳海舟.?dāng)?shù)控銑削加工宏程序及應(yīng)用實(shí)例[M].北京:機(jī)械工業(yè)出版社,2006.