陳德存
(溫州職業(yè)技術(shù)學(xué)院機(jī)械工程系,浙江溫州 325035)
UG后處理操作是UGCAM數(shù)控加工工作中一個重要環(huán)節(jié),主要任務(wù)是把在UG加工環(huán)境下生成的加工刀位文件轉(zhuǎn)換成機(jī)床可接受的數(shù)控代碼文件。UG本身提供了強(qiáng)大的Post Builder后處理構(gòu)建器,但是從實踐使用來看,普遍存在后處理過程緩慢,后處理不能夠智能,調(diào)整不靈活等弊端。這主要是因為,對應(yīng)不同的加工方式,所要求的刀位文件格式不一樣,這就要求編程者,針對每一個操作根據(jù)不同的加工方式,選擇不同的后處理模板,操作非常繁瑣,容易出錯。很多使用UG軟件做數(shù)控編程的企業(yè),或多或少的都存在這樣的問題。另外,在構(gòu)建后處理工具時,后處理構(gòu)建者大多只考慮后處理的刀位文件格式能否被機(jī)床認(rèn)可,而很少有人考慮融入業(yè)務(wù)邏輯的智能處理和智能檢查功能,后處理工序的智能化還沒有受到普遍的重視。
在UG加工環(huán)境下編制好的加工程序,可以整組輸出為CLS文件。充分分析CLS文件,我們可以利用這個文件的特點來開發(fā)附帶業(yè)務(wù)規(guī)則的后處理工具。為了更好地進(jìn)行介紹,首先準(zhǔn)備好一個CLS文件,并分析其特點:選中一組編制好的加工操作,這組加工程序包含兩個加工操作,P50-A和P30-B。它們的刀軌分別如圖1和圖2。
CLS文件已經(jīng)準(zhǔn)備妥當(dāng),現(xiàn)在開始詳細(xì)介紹。
下面是UG后置出來的一段CLS文件:
第1行RAPID代表快速進(jìn)給,它將影響下一行的走刀方式。第2行GOTO語句,后面跟的是點的坐標(biāo),前三位為X,Y,Z坐標(biāo),后三位為刀軸的方向矢量,由于上一行有RAPID指令,所以這一句處理成NC代碼就應(yīng)該為G00 X-13.0000 Y5.7446 Z3.0000,如果是五軸設(shè)備,則應(yīng)該處理成G00 X-13.0000 Y5.7446 Z3.0000 A0.000 B0.000或G00 X-13.0000 Y5.7446 Z3.0000 A0.000 C0.000等。第3行是著色語句,只對UG自身起作用,不用也不能轉(zhuǎn)化為NC。第4行為FEDRAT/MMPM,250.000,這一行是給定進(jìn)給速度。第6行CIRCLE開頭,表明即將走一段圓弧,前三位-17.0000,0.0000,0.0000 是圓心坐標(biāo),接下來三位0.0000000,0.0000000,-1.0000000 表明圓弧的矢量方向,可以決定圓弧所在的平面和圓弧走刀的方向,后面的幾位數(shù)字是刀具信息和精度等相關(guān)信息,我們在這里可以忽略。
利用操作名稱可以幫助定義后處理的過程。以圖1、圖2兩個操作的操作名稱分別以“A”和“B”作為后綴。我們可以在CLS文件中提出每一個操作名稱的后綴,然后根據(jù)后綴的不同,安排不同的后處理格式。比如,我們約定“A”代表著直頭仿形銑操作,后處理格式要求如下:X300.000 Y180.000 Z250.000;而“B”代表平面輪廓操作,后處理格式要求如下:X300.000 Y180.000。下面我們就可以根據(jù)操作名稱后綴的不同,來讓后處理自動判斷輸出為對應(yīng)的格式。
首先打開CLS文件,然后通過循環(huán)讀取CLS文件的每一行。通過關(guān)鍵字篩選獲得操作名的字符串,并根據(jù)操作名后綴來決定后處理格式。
基本代碼如下:
代碼調(diào)試環(huán)境:在WinXP操作系統(tǒng)上,使用VC++調(diào)試工具完成,也可用C語言環(huán)境完成。調(diào)試運行這個程序前,請首先保證在目錄C:Lizi下面已經(jīng)存放了UG剛剛導(dǎo)出的Lizi.CLS文件。并在C:目錄下創(chuàng)建名為“NC”的文件夾。調(diào)試運行程序結(jié)果如圖3。
后處理的NC文件存放在C:Lizi下,其格式如圖4所示。
上面的介紹,只是利用操作名的一個簡單的方法,利用操作名我們還可以加入更多的業(yè)務(wù)規(guī)則。如果深入一步,還可以增加輸出數(shù)控加工程序單等功能。
一般在定義刀具名稱的時候我們都會附加一定的含義。比如比較復(fù)雜的刀具命名“T15_D6_CR2_0.1_S8000”表示直徑6 mm,刀具圓角半徑2 mm,留量0.1 mm,主軸轉(zhuǎn)速8 000 mm;簡單的刀具命名有“BALL_50”表示直徑為50 mm的球刀,“MILL_20”表示直徑20 mm的端銑刀等。但是在創(chuàng)建刀具時,往往會出現(xiàn)編程人員疏忽導(dǎo)致的刀具名稱和刀具參數(shù)不對應(yīng)的情況發(fā)生。這是很危險的。因為這會造成編程員主觀選擇了認(rèn)為正確的刀具,而實際卻使用錯誤參數(shù)的刀具進(jìn)行編程,這種錯誤一般不易察覺,可能會造成被加工工件報廢的情況發(fā)生,后果比較嚴(yán)重?,F(xiàn)在應(yīng)用UG做數(shù)控編程普遍采用編程模板,模板里包含了參數(shù)正確的刀庫,可以有效避免這樣的情況發(fā)生。還沒有使用模板的編程者,應(yīng)當(dāng)考慮在后處理中增加自動檢查環(huán)節(jié)。將刀具名稱與刀具參數(shù)進(jìn)行對比。如果不一致,中斷后處理,并提示錯誤信息。這樣可以徹底屏蔽刀具名稱和刀具參數(shù)不一致的情況發(fā)生,明顯提升數(shù)控加工程序的可靠性。具體方法是:在CLS文件里分別抽取刀具名稱和刀具參數(shù)。進(jìn)行對比。如不一致中斷后處理工作,并報錯。報錯界面如圖5。
基本代碼如下:
在上面的例子中,我們只檢查了一個刀具參數(shù)。如果刀具命名十分講究的話,還可檢查其他參數(shù)。甚至結(jié)合操作名,檢查操作是否使用了合適的刀具等等。
對于一個復(fù)雜的待加工工件。可能需要編制30°頭、90°頭、五軸加工程序。一般在UGCAM環(huán)境下編制一個非直頭程序,需要指定刀軸矢量,如果不小心指定錯誤(例如30°指定成了35°)往往不易被發(fā)現(xiàn)。那么我們可以在后處理時,利用主軸軸向參數(shù)檢查刀軸矢量(主軸軸向)是否正確,從而保證加工程序刀軸矢量的正確性。具體方法是:在CLS文件里抽取主軸軸向參數(shù)。如軸向參數(shù)不正確,中斷后處理工作并報錯。以3 0°頭為例,主軸軸向參數(shù)的K值一定等于0.866 025 4,如圖 6。
如果在處理30°頭程序的時候,其軸向參數(shù)如果不等于0.866 025 4,那么就報錯(圖7)。
在上面的例子中,我們只檢查了30°頭的刀軸矢量。稍作變化我們就可以檢查直頭、90°頭的刀軸矢量。結(jié)合操作名,我們可以進(jìn)行對應(yīng)檢查。例如我們約定以數(shù)字“3”為后綴的操作名表示30°頭操作,那么可以在后處理操作名后綴為“3”的操作時進(jìn)行刀軸矢量檢查,如果K值不等于0.866 025 4就報錯。(直頭K=1.000 000 0;90°頭K=0.000 000 0)。如果深入利用主軸軸向參數(shù),我們還可通過I、J、K值來得到五軸加工操作的A、C值或B、C值等,并將它們輸出到NC文件和加工程序單中,這里由于篇幅關(guān)系就不詳述了。
充分利用UG CLS文件中的信息,多重組和這些信息,再結(jié)合實際的業(yè)務(wù)要求,我們可以實現(xiàn)加工操作打包,自動換刀,智能判斷后處理格式,加工余量(留量)檢查,組合對應(yīng)檢查,計算加工時間,多功能程序單,G00代碼設(shè)置等等功能。智能后處理工具,不但明顯簡化了后處理工作的復(fù)雜性,提升了后處理的效率,還對加工操作又增加了一道智能檢查環(huán)節(jié),全面提升了加工程序的可靠性,使絕大部分的編程錯誤在后處理過程中都予以避免,可以為企業(yè)減少非??捎^加工損失。
[1]安杰,鄒昱章.UG后處理技術(shù)[M].北京:清華大學(xué)出版社,2003.
[2]譚浩強(qiáng).C 程序設(shè)計[M].北京:清華大學(xué)出版社,1991.