張 華,李增平 ,何世松
(1.南昌大學(xué) 機(jī)電工程學(xué)院,南昌 330000;2.江西交通職業(yè)技術(shù)學(xué)院 機(jī)電工程系,南昌 330000)
數(shù)控系統(tǒng)一般只能進(jìn)行直線和圓弧的插補(bǔ)運(yùn)算,一旦待加工的零件表面存在諸如拋物線、雙曲線、橢圓線和漸開線等非圓曲線時,就只能采取自動編程或宏程序編程等方式解決了。
非圓曲面類零件的數(shù)控程序編制較難,加工質(zhì)量難保證,成為了影響生產(chǎn)進(jìn)度的主導(dǎo)制約因素?;剞D(zhuǎn)體零件中存在的非圓曲面,若能用數(shù)學(xué)方程式表達(dá),則可利用數(shù)控系統(tǒng)提供的使用變量編程的功能,以解決由于采用擬合法加工非圓曲線所帶來的復(fù)雜計(jì)算問題,并能有效控制形狀與尺寸誤差。
隨著數(shù)控加工技術(shù)的發(fā)展,數(shù)控車床在加工零件的過程中,除了提供一般的準(zhǔn)備功能、輔助功能指令和調(diào)用子程序指令以外,還出現(xiàn)了允許使用變量并可以進(jìn)行算術(shù)與邏輯運(yùn)算、循環(huán)及轉(zhuǎn)移等功能。這種類加工程序剛好解決了上述問題,使零件的加工質(zhì)量大大提高。對于不同的數(shù)控系統(tǒng)其采用的編程方法有所不同,比如西門子SINUMERIK系統(tǒng)采用R參數(shù)編程,F(xiàn)AGOR系統(tǒng)采用計(jì)算機(jī)高級語言編程,而FANUC系統(tǒng)采用宏程序編程等等。在FANUC數(shù)控系統(tǒng)中提供了兩類用戶宏程序,即A類和B類。FANUC 0系列采用A類型用戶宏程序,而FANUC 0i系列則采用B類型的用戶宏程序。這里以FANUC 0i數(shù)控系統(tǒng)的B類宏程序?yàn)槔?,說明宏程序在拋物面加工中的應(yīng)用。
與普通程序相比,用戶宏程序中是使用變量來代替常量進(jìn)行編程的,并且還可以使用宏指令對變量進(jìn)行賦值、運(yùn)算等處理。變量的表示方式在宏程序中有規(guī)定,要求以“#”及后面的變量號組成,如#100等。變量號也可以用表達(dá)式指定,但表達(dá)式必須用中括號封閉起來,如#[#22+100]等。
其中變量分為四種類型,即空變量、局部變量、公共變量和系統(tǒng)變量。其變量號和功能如表1所示。
表1 變量號及其功能
1.2.1 變量的運(yùn)算
用戶宏程序中,變量可以進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。比如賦值、算術(shù)運(yùn)算、函數(shù)計(jì)算、邏輯運(yùn)算與各種進(jìn)制的轉(zhuǎn)換等。
1.2.2 控制指令
控制指令主要是控制用戶宏程序主體的程序流程。根據(jù)控制方式不同分為條件轉(zhuǎn)移和非條件轉(zhuǎn)移兩類。其中條件轉(zhuǎn)移根據(jù)條件不同又分為3類,即IF[<條件式>] GOTO n(n為順序號)、WHILE[<條件式>] DO m(m為順序號)……END m和IF[<條件式>] THEN。
1)條件轉(zhuǎn)移語法規(guī)則
(1)IF[<條件式>] GOTO n(n為順序號)
如果<條件式>成立,從順序號為n的程序段以下開始執(zhí)行;如果<條件式>不成立,則執(zhí)行下一個程序段。
(2)WHILE[<條件式>] DO m(m為順序號)
……END m
當(dāng)<條件式>成立,從DO m的程序段到END m的程序段重復(fù)執(zhí)行;如果<條件式>不成立,則從m的下一個程序段執(zhí)行。其中DO和END后面的號是指定程序執(zhí)行范圍的標(biāo)號,標(biāo)號為1、2、3,若用其他的值會發(fā)生P/S報警。
(3)IF[<條件式>] THEN
如果[<條件式>]滿足,執(zhí)行預(yù)先決定的宏程序語句,并只執(zhí)行一個宏程序語句。
2)無條件轉(zhuǎn)移語法規(guī)則為:GOTO n。
在用戶宏程序中,由于可以使用變量來代替具體數(shù)值,因而在加工同一類零件時,如能有一個通用宏程序,用戶只需將實(shí)際加工零件的值賦予變量即可,而不需要對每一個零件都編一個程序,這樣可以極大地提高工作效率。下面以非圓曲面的回轉(zhuǎn)體類零件中拋物面為例來說明如何建立這樣的一個宏程序。假設(shè)一個加工通用拋物面的宏程序,拋物線的開口距離為V,拋物線方程為X2=-2PZ,如圖1所示。
圖1 拋物線曲線類零件示意圖
車削此回轉(zhuǎn)體零件時,假設(shè)工件坐標(biāo)原點(diǎn)在拋物線頂點(diǎn)上,采用直線逼近法,即在X向分段,以0.2~0.5mm為一個步距,并把X作為自變量,Z作為X的函數(shù)。為了編制一個可以適用于加工不同的拋物線、不同起始點(diǎn)和不同步距的零件,在宏程序中只用變量,而不用具體數(shù)據(jù)。使用時在主程序中調(diào)出該宏程序的用戶宏指令段內(nèi)為上述變量賦值,用戶就可以加工出不同拋物線、不同起始點(diǎn)和不同步距的拋物面回轉(zhuǎn)體零件,從而大大提高了編程效率和零件的加工生產(chǎn)效率。
根據(jù)上述工藝分析,可編制出用戶宏程序的流程圖,如圖2所示。
圖2 宏程序編制流程圖
零件圖如圖3所示:毛坯直徑為Φ40mm,總長為102mm,材料為45#鋼棒料。該零件的編程難點(diǎn)主要在右端拋物線這里,因此我們只分析拋物線的數(shù)控加工程序編制。
采用公共變量#101作為X軸變量,#100作為Z軸變量,加工拋物面時,拋物線方程原點(diǎn)與工件零點(diǎn)重合。粗加工刀具路徑如圖4所示。這種加工方法避免使用G73指令產(chǎn)生的“空切”現(xiàn)象,提高了生產(chǎn)效率。
圖3 零件圖
圖4 粗加工拋物面部分的走刀路徑
根據(jù)圖3,經(jīng)計(jì)算后求得拋物線方程為X2=-15.31Z。該零件的拋物面部分?jǐn)?shù)控加工程序如下:
O0001;
……
#101=17.5;#101為X軸變量,置初始值17.5
#102=1.5;#102X方向步距值變量,設(shè)為1.5
#103=0;
WHILE[#101GT#103]DO1;
#101=#101-#102;X方向減去一個步距
IF[#101LT#103]THEN#101=#103;
#104=[#101*#101/15.31];
G01 Z2.0 F1;
G42 X[2*#101] F0.12;
G01 Z[-#104+0.5];留0.5mm精加工余量
G40 U1.0;
END1;
……
這里只給出了粗加工的部分程序,精加工程序簡單易編,在此省略。在實(shí)際加工前,可應(yīng)用數(shù)控加工仿真軟件對上述粗加工程序進(jìn)行驗(yàn)證,以確保程序正確無誤。
借助數(shù)控系統(tǒng)提供的宏程序功能編制拋物面回轉(zhuǎn)體零件的數(shù)控加工程序,使非圓曲面的數(shù)控車削加工零件的表面質(zhì)量得到提高,加工誤差大大減小,從而產(chǎn)品合格率得到極大提升。使用宏程序編程之后,可以在編程中用變量代替具體的數(shù)值,這樣加工同一類工件時,只需將實(shí)際數(shù)值賦值給變量即可,而不必對每一個零件編程,因而可極大地提高數(shù)控編程與加工效率。
[1] 穆瑞.應(yīng)用宏程序高速車削梯形螺紋[J].機(jī)床與液壓,2009(12):248-249,230.
[2] 仲軍勇.宏程序及其在橢圓編程加工中的應(yīng)用[J].CAD/CAM與制造業(yè)信息化,2009(11):90-92.
[3] 何世松,賈穎蓮.基于Pro/E的模具數(shù)控加工的研究與應(yīng)用[J].煤礦機(jī)械,2008(6):97-98.
[4] 韓鴻鸞.數(shù)控車削工藝與編程一體化教程[M].北京:高等教育出版社,2009,174-176.
[5] 徐巍,王宇晗.FANUC和SIEMENS的宏程序處理非圓曲線的編譯實(shí)例[J].組合機(jī)床與自動化加工技術(shù),2008(9):72-74.