摘要:在飛控系統(tǒng)各類閥套、閥芯等零件中,外圓、內(nèi)孔的環(huán)槽型面占了零件特征很大一部分,在數(shù)控加工編程過程中,若全部用G代碼或子程序來編寫,不僅復(fù)雜、繁瑣,而且檢查校對費時,容易出錯,更有復(fù)雜的環(huán)槽用子程序無法實現(xiàn),所以開發(fā)實用性好、高效率的宏程序非常有意義,為此,本文總結(jié)了數(shù)控車削中軸類回轉(zhuǎn)體零件各類環(huán)槽加工的宏程序編寫方法和技巧。
關(guān)鍵詞:環(huán)槽 宏程序 分層切削 結(jié)構(gòu) 循環(huán)
中圖分類號: 文獻標識碼:A 文章編號:1674-098X(2015)07(c)-0000-00
宏程序是在常規(guī)手工編程方式上附加的、更為高效的、更為通用的編程方式,它大量使用了各種變量、運算指令和控制指令,提供循環(huán)、判斷、分支等的調(diào)用,從而大大精簡了程序編制的容量。在數(shù)控車削加工中通過編輯宏程序能夠完成常規(guī)的數(shù)控編程指令不能完成的特殊型面,如當加工的型面母線是橢圓、拋物線等時。另外當加工零件圖形相似,尺寸不同或者工藝路徑一樣,位置不同的系列零件時,通過調(diào)用一個宏程序,反復(fù)執(zhí)行某幾句代碼來達到減少編寫代碼的目的,從而極大地簡化編程,使得程序邏輯嚴密,方便檢查,不易出錯。
1.典型環(huán)槽編程方法與技巧
1.1 多窄槽車削宏程序編程方法
窄槽車削,選擇主切削刃寬度等于槽寬的切槽刀具,縱向走刀一次將槽切出。多窄槽車削時,從零件右側(cè)切入─退出─Z方向左移一個槽間距…切入─退出…,如此反復(fù)完成多窄槽的加工
圖 1. 多窄槽零件二維、三維圖及主要尺寸
(1)參數(shù)化編程
參數(shù)化編程,也就是宏程序設(shè)計,即用參數(shù)語句編寫程序,只要改變參數(shù)的值就可以加工不同尺寸的零件 。宏程序調(diào)用語法是:G65 P<程序號> L<重復(fù)次數(shù)><參數(shù)1>…<參數(shù)n>,程序號是已經(jīng)存在的要被調(diào)用的程序號;重復(fù)次數(shù)是被調(diào)用程序連續(xù)執(zhí)行的次數(shù),默認為1;參數(shù)用于給宏程序中的變量傳遞指定的初始值。
在宏程序中對于零件的坐標值、切削用量等用宏變量來表示,宏變量是一個數(shù)學(xué)量,它能假設(shè)在其允許范圍內(nèi)的任何值,變量符號是#,后面緊跟著一個在允許范圍內(nèi)(這取決于控制系統(tǒng)版本)的數(shù)字(叫做變量號)。在多窄槽加工程序中設(shè)置兩個關(guān)鍵變量分別表示環(huán)槽個數(shù)和第一個環(huán)槽軸向坐標值,通過該變量的累加和運算來控制切槽的數(shù)量和每一個環(huán)槽的軸向坐標。
(2)單個循環(huán)結(jié)構(gòu)
循環(huán),就是只要滿足指定的條件,程序中的某些語句可以被反復(fù)執(zhí)行。FANUC 系統(tǒng)宏循環(huán)采用的是while條件判斷語句,while語句的格式為:
while[條件表達式] DO m;(m=1,2,3)
…<循環(huán)內(nèi)程序段>
END m;
當條件表達式成立時,執(zhí)行DO到END之間的語句,否則執(zhí)行END后面的語句。
加工多個窄槽時,只需在宏程序里編制一個條件判斷語句while即可,其宏程序流程如圖2所示。
圖2 多窄槽加工宏程序框圖
1.2 寬環(huán)槽車削宏程序設(shè)計
1.2.1 單個深、寬環(huán)槽程序設(shè)計
在切削深、寬環(huán)槽時,不僅需要在Z方向上分次切削,另外X方向槽較深,考慮排屑困難及刀具強度等因素,必須實行分層多次切削,即:采用從凹槽右側(cè)切入─退出─Z方向左移─切入… X方向向下移動切入─退出─Z方向左移動…,如此反復(fù)完成槽的加工。
圖 3單個深、寬環(huán)槽零件二維、三維圖及主要尺寸
(1)循環(huán)嵌套結(jié)構(gòu)實現(xiàn)徑向和軸向分層切削
一個循環(huán)結(jié)構(gòu)內(nèi)含有另一個循環(huán),稱為循環(huán)嵌套結(jié)構(gòu),又稱多重循環(huán)。單一的循環(huán)語句用于當滿足指定的條件,完成一些同樣的操作,另一方面,在條件循環(huán)中,如果每個操作包含另外一套相同的操作就可以使用循環(huán)嵌套。在此深、寬環(huán)槽加工編程時,采用循環(huán)嵌套結(jié)構(gòu),由兩個while statement語句組成,外層循環(huán)用來控制X向切深,內(nèi)層循環(huán)用來控制Z向切寬,這種方法極大地化簡了編程,精簡了程序,并且邏輯非常嚴密,易讀易改。
(2)針對不同刀寬的防錯程序設(shè)置
在加工寬槽時,槽的寬度是切槽刀具的n倍,一般軸向至少要分n次切削,,但當n為非整數(shù)時,為了不將寬槽多切或少切需在程序中進行特殊的設(shè)置,例如,將WHILE語句中條件表達式設(shè)為: [#1 LT #2] ,條件表達式中#1為寬槽起點坐標,#2為寬槽終點坐標,中間的符號要用LT(小于),當每次循環(huán)執(zhí)行完畢后再在#2處(槽的終點坐標處)切削一次。
(3) 倒角、倒圓、去毛刺
當環(huán)槽有倒角、倒圓或者去毛刺要求時,可在程序中設(shè)置宏變量,利用切刀單側(cè)切削刃加工完成。
車削單個深、寬環(huán)槽的加工流程如圖4所示。
圖4 單個深、寬環(huán)槽的宏程序框圖
1.2.2等距多寬槽程序設(shè)計
此類環(huán)槽槽較寬,且個數(shù)較多,需要在在Z方向上分次切削切完一個槽之后刀具軸向移動一個槽距再加工第二個寬槽,如此反復(fù)直到加工完全部槽。即:采用從凹槽右側(cè)切入─退出─Z方向左移─切入─退出─平槽底…軸向移動一個槽距… 切入─退出─Z方向左移─切入─退出─平槽底…,如此反復(fù)完成槽的加工。
圖 5 等距多寬槽零件二維、三維圖及主要尺寸
(1)循環(huán)+分支結(jié)構(gòu)
面對該類零件,最簡潔的方法是采用一個WHILE循環(huán)語句+IF語句的結(jié)構(gòu)來完成,比如循環(huán)語句控制槽寬,IF語句控制切槽的數(shù)量,主程序只需調(diào)用一次宏程序就能完成全部環(huán)槽加工。
(2 )算術(shù)運算指令自動計算各槽坐標點
宏程序中可以將變量進行算術(shù)運算,然后賦給該變量本身或者另一個變量。在等距多寬槽切削時,可以將寬槽的起始點設(shè)置成兩個變量,這兩個變量自身進行相應(yīng)的算術(shù)運算,得出每個環(huán)槽的起始坐標,這樣加工者不用去計算每個寬槽的起始點坐標。
(3)粗、精車保證槽底光潔度
在加工寬槽時,在分幾次橫向切完寬槽后,縱向走刀平槽底,保證槽底的光潔度要求。該程序中,我們可以將橫向切削尺寸編寫為小于實際尺寸0.02,在循環(huán)體外編寫一個平槽底程序,這樣每當執(zhí)行完一次循環(huán)加工完一個寬槽后就會緊跟著精車槽底。
(4)尖邊倒角、倒圓、去毛刺及防錯設(shè)計
零件的尖邊倒角、倒圓、去毛刺及防錯設(shè)計與單個深、寬環(huán)槽程序設(shè)計相同。
等距多寬槽宏程序流程如圖6所示。
圖6 等距多寬槽的宏程序框圖
1.3 非等距寬槽宏程序加工技巧
在許多零件中多寬環(huán)槽并非全部等距,而是呈等差遞增(即槽寬一致,槽間距呈等差遞增)如圖7(a);多個階梯等距遞增(槽寬一致,槽間距相等,多個環(huán)槽槽徑呈等差遞增)如圖7(b);或者多個階梯等差遞增(槽寬一致,槽間距與槽徑均呈等差遞增)如圖7(c)等各種形式,
在編制以上這幾類宏程序時,其編程思路與刀具路徑規(guī)劃與等距環(huán)槽相似,在編制等差遞增寬槽宏程序時時增加一個變量,使環(huán)槽起點與終點Z向坐標值等差遞增;編制多個階梯遞增寬槽宏程序時設(shè)置槽徑自身累加,實現(xiàn)槽徑等差遞增;在編制多個階梯等差遞增槽寬宏程序時將以上二者相結(jié)合。通過宏變量的靈活運用來實現(xiàn)不同類型的多環(huán)槽加工,這是一般的程序和子程序不能實現(xiàn)的。
a)等差遞增寬環(huán)槽 b)階梯等距遞增寬環(huán)槽 c) 階梯等差遞增寬環(huán)槽
圖7非等距寬槽典型零件
2.等距寬環(huán)槽宏程序編程應(yīng)用舉例
以圖5所示零件介紹如何編制多個等距寬環(huán)槽宏程序,零件材料為不銹鋼。在切削這類形狀相似、尺寸不同的環(huán)槽零件時,為提高宏程序的通用性,我們需將程序中尺寸坐標值、切削用量、倒角等全部用宏變量來代替,只需在主程序中通過參數(shù)給相應(yīng)的變量指定初始值即可。其具體程序如下所示:
O0004 (主程序號)
M98 P1;
G97 S800 M13;
T15;
X12.;
Z2.;
G65 P0005 V5. A10. B17. Y11.H10.D8.Z2.; (調(diào)用0005號宏程序,并給
相應(yīng)字母賦值,V 為環(huán)槽的個數(shù),A為第一個環(huán)槽的起點Z向坐標, B為第一個環(huán)槽的終點
Z向坐標,Y 為倆個槽起點之間的軸向距,H為外圓直徑,D為槽徑)
M98 P1;
M30;
O0005; (宏程序號)
#18=0; (設(shè)置#18變量的初始值)
#4=0; (切槽的初始次數(shù))
#5=#1; (#1變量的初始值賦給中間變量#5)
#6=#2; (#2變量的初始值賦給中間變量#6)
N1 #1=#1+#25*#18; (計算環(huán)槽起點Z向坐標值)
#2=#2+#25*#18; (計算環(huán)槽終點Z向坐標值)
#1=#1+#26; (Z向起點坐標增加一個刀寬)
#10=#1; (#1變量的值賦給#10)
WHILE[#1 LT #2] DO2; (如果#1 小于#2,則在WHILE[#1 LT #2] DO2
和 END2之間循環(huán),否則調(diào)出循環(huán))
G0 Z-#1; (快速到達切槽的起點軸向位置)
G1 G99 X#7 F.03; (X向切槽)
G00 X[#11+1]; (退刀)
#1=#1+#26; (每次移過一個刀寬)
END2;
G00 Z-#2; (為避免每個寬槽過切或少切在寬槽終點處單獨切削一次,為 防止重復(fù)切削在上面的條件表達式中符號設(shè)為LT)
G1 G99 #7 F.03 ;
X#11 ;
G00 Z-#10;
G1 G99 #7 F.03;
Z-#2; (精加工槽底)
X#11;
#18=#18+1; (#18變量累加1)
#4=#4+1; (切槽的次數(shù)累加)
#1=#5; (中間變量#5的值重新賦給#1變量)
#2=#6; (中間變量#6的值重新賦給#2變量)
IF [#4 LT #22] GOTO1; (條件判斷,如果#4 小于#22,則跳轉(zhuǎn)到N1)
M99;
程序中字母地址和變量之間的對應(yīng)關(guān)系如表1所示:
表1 字母地址與變量關(guān)系對應(yīng)表
地址變量號地址變量號地址變量號
A#1B#2C#3
D#7E#8F#9
H#11I#4J#5
K#6M#13R#18
V#22Y#25X#24
W#23Z#26
3.結(jié)語
本文從多種結(jié)構(gòu)并存,運用循環(huán)、循環(huán)嵌套及條件語句等進行分層多次切削,使用變量的運算及通過變量的靈活應(yīng)用等總結(jié)了軸類零件多窄槽、單個深寬槽、等距多寬槽、各種非等距多寬槽的宏程序的編寫方法和技巧。并舉例說明了宏程序的編程步驟,該方法大大精簡了程序的篇幅,使得程序短小精湛,邏輯嚴密。主程序只需調(diào)用一次宏程序即可完成全部加工內(nèi)容。編程中的一些防錯設(shè)置、粗精加工等確保了刀具的安全性和零件的精度,參數(shù)的變量化使得程序具有了通用性,充分發(fā)揮了宏程序在環(huán)槽車削中的優(yōu)越性,同時為其他相似型面宏程序設(shè)計提供參考和借鑒。
參考文獻
[1] 沈春根,徐曉翔,劉義.數(shù)控車宏程序編程實例精講.機械工業(yè)出版社,2011.12.
[2]S.K.Sinha. 數(shù)控宏程序編程技術(shù).科學(xué)出版社,2011.
[3] 吳長有.數(shù)控車床加工技術(shù).機械工業(yè)出版社,2010.4