王成成
摘 要:數(shù)控銑削加工廣泛應(yīng)用于大、中、小型企業(yè),大多數(shù)高職高專院校和中等職業(yè)院校也都開設(shè)有數(shù)控專業(yè),但所應(yīng)用機(jī)床幾乎都不具備橢圓插補(bǔ)指令,一旦在生產(chǎn)加工中、教學(xué)培訓(xùn)中,亦或是各個(gè)級(jí)別的技能大賽中遇到橢圓或者其他方程曲線,都會(huì)借助計(jì)算機(jī)來實(shí)現(xiàn),受限于計(jì)算機(jī)設(shè)備,而幾乎所有機(jī)床本身是具備參數(shù)計(jì)算功能的,如果能掌握宏程序的使用方法,在沒有計(jì)算機(jī)或是編輯簡(jiǎn)單參數(shù)曲線程序時(shí),將會(huì)大大提高編程效率。本文以FANUC Oi系統(tǒng)為基礎(chǔ),以典型開放橢圓凸臺(tái)為例,探討宏程序在橢圓加工程序中應(yīng)用方法。
關(guān)鍵詞:宏程序;橢圓;數(shù)控銑;加工
中圖分類號(hào):TG659 文獻(xiàn)標(biāo)志碼:A
1 什么是宏程序
宏指令類似計(jì)算機(jī)軟件開發(fā)中的高級(jí)語言,通過用戶宏指令可以實(shí)現(xiàn)變量的賦值、算數(shù)和邏輯運(yùn)算及條件轉(zhuǎn)移等功能,使得編制相同的加工操作程序更方便。含有變量、算數(shù)、和邏輯運(yùn)算以及條件轉(zhuǎn)移等功能的宏指令的集合稱為宏程序。
在FANUC Oi系統(tǒng)中一般會(huì)同時(shí)具有A類宏程序功能和B類宏程序功能兩種宏程序,A類宏程序的出現(xiàn)早于B類宏程序,但是在便捷和推廣中不如B類宏程序。本文以B類宏程序?yàn)榛A(chǔ)進(jìn)行探討。
2 常用運(yùn)算指令
變量之間進(jìn)行賦值、算數(shù)等運(yùn)算需要用運(yùn)算指令進(jìn)行運(yùn)算。常用的運(yùn)算指令見表1。
3 變量的類型
變量以“#”號(hào)開頭,后面跟整數(shù)形式的數(shù)字作為變量號(hào),如:#1、#25等。變量可以分為4類:空變量、局部變量、公共變量和系統(tǒng)變量。#0為空變量,該變量總是空,沒有賦值給該變量;#1~#33為局部變量,局部變量只能在宏程序中存儲(chǔ)數(shù)據(jù),如運(yùn)算結(jié)果,當(dāng)斷電時(shí),局部變量的數(shù)值被清除,當(dāng)宏程序被調(diào)用時(shí),可對(duì)局部變量賦值;#100~#199和#500~#999為公共變量,公共變量在不同的宏程序中意義不同,#100~#199在斷電時(shí)數(shù)據(jù)是被清除的,#500~#999的數(shù)據(jù)在斷電時(shí)是被保存的,不會(huì)丟失;#1000以后為系統(tǒng)變量,系統(tǒng)變量用于讀和寫CNC運(yùn)行時(shí)的各種數(shù)據(jù),如刀具的當(dāng)前位置和補(bǔ)償值。
4 橢圓的方程
a代表半長(zhǎng)軸的長(zhǎng)度,b代表半短軸的長(zhǎng)度,θ為圓心角。
橢圓的標(biāo)準(zhǔn)方程為
橢圓的參數(shù)方程為
5 案例分析
在數(shù)控銑削加工中,常遇見橢圓加工多為整橢圓,形態(tài)主要以橢圓在坐標(biāo)系中心和橢圓不在坐標(biāo)系中心兩種,不在坐標(biāo)系中心又有旋轉(zhuǎn)與不旋轉(zhuǎn)兩種,分別如圖1、圖2、圖3所示。
若編輯圖1程序,先在橢圓與X軸負(fù)半軸交點(diǎn)的下方建立刀具半徑補(bǔ)償,以橢圓與X軸負(fù)半軸交點(diǎn)為橢圓起始點(diǎn),然后順時(shí)針方向走橢圓,終點(diǎn)與起始點(diǎn)重合,然后向Y軸正方向切向出刀。程序如下:
O0010;(程序名)
N0010G90G54G00Z100;(程序頭)
N0020M03S1500;(主軸正轉(zhuǎn))
N0030#1=A;(與X軸平行的半軸長(zhǎng))
N0040#2=B;(與Y軸平行的半軸長(zhǎng))
N0050#3=180;(橢圓起點(diǎn)角度)
N0060#4=-180;(橢圓終點(diǎn)角度)
N0070#5=-0.2;(角度遞變量)
N0080G00X-[#1]Y-30;(建立刀具半徑起點(diǎn))
N0090G41Y-10D5;(建立刀具半徑補(bǔ)償)
N0100G01Z0F100;(下刀)
N0110G01Y0;(到橢圓起點(diǎn))
N0120WHILE[#3GE#4]DO1;(當(dāng)#3大于#4執(zhí)行循環(huán)1)
N0130#6=#1*COS[#3];(計(jì)算橢圓上對(duì)應(yīng)點(diǎn)X軸坐標(biāo))
N0140#7=#2*SIN[#3];(計(jì)算橢圓上對(duì)應(yīng)點(diǎn)Y軸坐標(biāo))
N0150G01X[#6]Y[#7]F100;(橢圓切削加工)
N0160#3=#3+#5;(#3角度每次遞增-0.1度)
N0170END1;(循環(huán)1結(jié)束)
N0180G00Y50;(切線出刀)
N0190G40;(取消刀具半徑補(bǔ)償)
如若出現(xiàn)圖2或是圖3圖紙,上面的程序就無法使用了,下面針對(duì)這3種圖紙,編輯一個(gè)標(biāo)準(zhǔn)程序,如若出現(xiàn)圓心偏移或是位置旋轉(zhuǎn),只需要修改變量值就可以。程序如下:
O0020;(程序名)
N0010G90G54G00Z100;(程序頭)
N0020M03S1500;(主軸正轉(zhuǎn))
N0030#1=A;(與X軸平行的半軸長(zhǎng))
N0040#2=B;(與Y軸平行的半軸長(zhǎng))
N0050#3=180;(橢圓起點(diǎn)角度)
N0060#4=-180;(橢圓終點(diǎn)角度)
N0070#5=-0.2;(角度遞變量)
N0080#6=m;(橢圓圓心X軸坐標(biāo),帶符號(hào))
N0090#7=n;(橢圓圓心Y軸坐標(biāo),帶符號(hào))
N0010#8=L;(橢圓旋轉(zhuǎn)角度)
N0110G52X[#6]Y[#7];(以橢圓圓心為原點(diǎn)建立局部坐標(biāo)系)
N0120G68X0Y0R[#8];(以橢圓圓心為旋轉(zhuǎn)中心旋轉(zhuǎn)指定角度)
N0130G00X-[#1]Y-30;(刀具半徑補(bǔ)償起點(diǎn))
N0140G41Y-10D5;(建立刀具半徑補(bǔ)償)
N0150G01Z0F100;(下刀)
N0160G01Y0;(到達(dá)橢圓起點(diǎn))
N0170WHILE[#3GE#4]DO1;(當(dāng)#3大于等于#4時(shí)執(zhí)行循環(huán)1)
N0180#6=#1*COS[#3];(計(jì)算橢圓上對(duì)應(yīng)點(diǎn)X軸坐標(biāo))
N0190#7=#2*SIN[#3];(計(jì)算橢圓上對(duì)應(yīng)點(diǎn)Y軸坐標(biāo))
N0200G01X[#6]Y[#7]F100;(橢圓切削加工)
N0210#3=#3+#5;(#3角度每次遞增-0.1度)
N0220END1;(循環(huán)1結(jié)束)
N0230G00Y50;(切線出刀)
N0240G40;(取消刀具半徑補(bǔ)償)
N0250G69;(取消旋轉(zhuǎn))
N0260G52X0Y0;(取消局部坐標(biāo)系)
結(jié)語
經(jīng)過仿真試驗(yàn),以上程序均適用于宏程序的編程與加工,仿真結(jié)果如圖4所示。
在這里需要說明的,程序“O0020”適用于所有形狀的橢圓,通用性高,而“O0010”雖然只適用于圓心在坐標(biāo)系原點(diǎn)的橢圓,通用性不高,但是程序比上一個(gè)小巧簡(jiǎn)潔,希望使用者在使用過程中合理選擇。另外,以上程序只針對(duì)開放橢圓凸臺(tái),在編輯程序時(shí)要注意審閱圖紙。
參考文獻(xiàn)
[1]王永章,杜君文,程國全.數(shù)控技術(shù)[M].北京:高等教育出版社,2001.
[2]程啟森,范仁杰.數(shù)控加工工藝編程與實(shí)施[M].北京:北京郵電大學(xué)出版社,2013.
[3]李森.宏程序在橢圓銑削加工中的應(yīng)用研究[J].煤礦機(jī)械,2010,(1):118-120.
[4]肖忠躍.基于Fanuc Oi系統(tǒng)的橢圓類輪廓零件宏程序應(yīng)用研究[J].煤礦機(jī)械,2013(1):145-146.
[5]王凱.數(shù)控宏程序在橢圓加工中的應(yīng)用[J].國外電子測(cè)量技術(shù),2010(6):76-796.