0 引言
我國獨創(chuàng)的高速走絲電火花線切割機床,是目前使用的主要機種,但由于高速走絲線切割機床一般采用3B加工代碼,使一般的圖形化編程系統(tǒng)如UG,MasetrCAM無能為力。因此,高速走絲線切割機床的編程方式比較落后,主要采用手工編程,致使線切割的大部分功能得不到充分發(fā)揮,使用效率和效益都比較低。而圖形交互式自動編程可以直接利用CAD模塊生成的幾何圖形,采用人機交互的方式,自動進行必要的計算處理并編制出數(shù)控加工程序,具有速度快、精度高、直觀性好、使用簡便,以及對編程人員要求低等優(yōu)點。因此,圖形交互式自動編程是目前數(shù)控自動編程的首選方法。
1 設(shè)計基礎(chǔ)理論
1.1 參數(shù)化理論
用AutoLISP語言進行二次開發(fā)的一個典型的、最重要的應(yīng)用就是實現(xiàn)參數(shù)化繪圖程序設(shè)計。參數(shù)化繪圖是指幾何圖形拓撲關(guān)系不變,尺寸形狀由一組參數(shù)進行約束,參數(shù)與圖形的控制尺寸顯示的對應(yīng),不同的參數(shù)值驅(qū)動產(chǎn)生不同大小的幾何形狀。
例如,圖1所示的圓,首先按照通常的形狀和拓撲約束關(guān)系定義幾何模型;然后,根據(jù)圓的功能原理和設(shè)計要求定義尺寸參數(shù);最后,分析得知該模型圓心O和直徑D是其關(guān)鍵參數(shù)。只要改變圓心O的位置和直徑D的大小,就會使得幾何圖形重構(gòu)。參數(shù)化繪圖理論在本設(shè)計中的應(yīng)用,是通過提取實體屬性表中的參數(shù)來約束加工軌跡的參數(shù)化模型,由此來推導(dǎo)加工軌跡中各特征點的計算關(guān)系,根據(jù)其具體的參數(shù)來約束加工軌跡的位置和大小。
圖1幾何模型
1.2 3B程序的編寫規(guī)則
1.2.1 程序格式
我國數(shù)控線切割機床采用統(tǒng)一的五指令3B程序,格式為: BxByBJGZ
其中:B——分隔符,用它來區(qū)分、隔離x,Y和J等數(shù)碼,B后的數(shù)字若為0,則可省略不寫;
x,y——直線的終點或圓弧起點的坐標(biāo)值,編程時均取絕對值,μm;
J——計數(shù)長度,μm;
G——計數(shù)方向,分Gx或Gy,即可按菇方向或y方向計數(shù),工作臺在該方向每走1μm即計數(shù)累減1,當(dāng)累減到計數(shù)長度J=0時,這段程序即加工完畢;
Z——加工指令,分為直線£和圓弧尺兩大類。直線又按走向和終點所在象限分為L1,L2,L3,L44種(圖2)。圓弧又按第一步進入的象限及走向的順,逆圓而分為SRl,SR2,SR3,SR4,及NRl,NR2,NRt3,NR48種(圖3)。
圖2直線所在象限情況
圖3圓弧所在象限情況
1.2.2 直線的編程規(guī)則
1)把直線起點作為坐標(biāo)的原點。
2)把直線的終點坐標(biāo)值作為x,y,均取絕對值,單位為μm。
3)計數(shù)長度J,按計數(shù)方向Gx或Gy取該直線在x軸或Y軸上的投影值,以μm為單位,決定計數(shù)長度時,要和選計數(shù)方向一并考慮。
4)計數(shù)方向的選取原則,應(yīng)取此程序最后一步的軸向為計數(shù)方向。不能預(yù)知時,一般選取與終點處的走向較平行的軸向作為計數(shù)方向,這樣可減少編程誤差和加工誤差。對直線而言,取x,y中較大的絕對值和軸向作為計數(shù)長度J,和計數(shù)方向,具體可參照圖4。
圖4直線計數(shù)長度和方向判斷
5)加工指令按直線走向和終點所在象限不同而分為L1,L2,13,L4,其中與+并軸重合的直線算作L1,與+y軸重合的直線算作L2,與一髫軸重合的直線算作L3,與-y軸重合的直線算作L4。具體可參考圖2。與茹x,y軸重合的直線,編程時x,y均可作0,且在B后可不寫。
注意:當(dāng)x=y時,45°和225°取Gy,135°和315°取Gx。具體參照圖5。
圖5圓弧加工指令判斷
1.2.3 圓弧的編程規(guī)則
1)把圓弧的圓心作為坐標(biāo)原點;
2)把圓弧的起點坐標(biāo)值作為x,y,均取絕對值,單位為μm;
3)計數(shù)長度J按計數(shù)方向取髫軸或Y軸上的投影值,以μm為單位。如圓弧較長,跨越兩個以上象限,則分別取計數(shù)方向x軸(或y軸)上各個象限投影值的絕對值相累加,作為該方向的計數(shù)長度,也要和選計數(shù)方向一并考慮,如圖6所示。
圖6圓弧計數(shù)長度判斷
4)計數(shù)方向同樣也取與該圓弧終點走向較平行的軸向作為計數(shù)方向,以減少編程和加工誤差。對圓弧來說,取終點坐標(biāo)中絕對值較小的軸向作為計數(shù)方向(與直線相反),如圖7所示。最好也取最后一步的軸向為計數(shù)方向。
圖7圓弧計數(shù)方向判斷
5)加工指令對圓弧而言,按其第一步所進入的象限可分為R1,R2,R3,R4;按切割走向又可分為順圓S和逆圓N,于是共有8種指令,即SR1,SR2,SR3,SR4;NR1,NR2,NR3,NR4,見圖3所示。
注意:當(dāng)起點位于坐標(biāo)軸上時,順圓和逆圓的加工指令是不一樣的。具體也可參照圖3。
1)若起點在x軸正方向上(即α=0°),則逆圓的加工指令為NR1,順圓的加工指令為SR4。
2)若起點在y軸正方向上(即α=90°),則逆圓的加工指令為NR2,順圓的加工指令為SRl。
3)若起點在茗軸負方向上(即α=180°),則逆圓弧的加工指令為NR3,順圓的加工指令為SR2。
4)若起點在Y軸負方向上(即α=270°),則逆圓的加工指令為NR4,順圓的加工指令為SR3。
1.3 加工軌跡的偽代碼算法
1.3.1 偽代碼算法概述
算法是解決“做什么”和“怎么做”的問題。做任何事情都有一定的步驟,這些步驟都是按一定的順序進行的。廣義的說,為解決一個問題而采取的方法和步驟,就稱為“算法”。計算機算法可分為兩大類數(shù)值運算算法和非數(shù)值運算算法。一個算法應(yīng)該具有以下5個特點:1)有窮性;2)確定性;3)有零個或多個輸入;4)有一個或多個輸出;5)有效性。
1.3.2 3B指令生成偽代碼算法
基于對線切割數(shù)控程序自動生成軟件設(shè)計內(nèi)容的理解,設(shè)計程序偽代碼算法如下:
2 信息獲取模塊
要輸出數(shù)控線切割3B程序,關(guān)鍵就是要編寫出直線和圓弧3B程序自動生成的程序。而編寫直線和圓弧的3B程序首先要解決的問題是直線和圓弧圖形信息的獲取。
2.1 直線3B程序模塊
編寫直線的3B程序,關(guān)鍵是要得到直線的起點和終點坐標(biāo),有了這兩個參數(shù)后對特征點進行計算,根據(jù)其具體的參數(shù)來約束加工軌跡的位置和大小。最后,根據(jù)3B程序的書寫格式,將數(shù)控程序以ASCII碼的形式輸出到文本文件中。設(shè)計直線3B程序流程圖(圖8)。
圖8直線3B程序流程圖
下面我們以一實例來具體介紹算法在程序設(shè)計中的運用。圖9所示的一條直線,生成其3B程序的Auto LISP程序如下:
圖9直線舉例
有了直線的起點和終點坐標(biāo)之后,通過計算直線在坐標(biāo)軸上的投影,我們就可以得到3B編程五個參數(shù)中的髫,y值。其中要注意的是,AutoCAD中的繪圖單位和編程單位在數(shù)值上相差1000,單位之間要進行轉(zhuǎn)化。具體程序如下:
最終直線的3B程序為13622363 B288036 13622363Gx L1。
以上只是一條直線的例子,其余各種情況下直線線切割3B程序的編寫,均可用上述方法獲得。
2.3.2 圓弧3B程序模塊
與直線相類似的,為了編寫圓弧的3B程序,我們必須要知道圓弧的圓心、半徑、起點、終點等相關(guān)參數(shù),才能進行編程。設(shè)計圓弧3B程序自動生成的流程圖如圖10所示。
圖10圓弧3B程序流程圈
下面,以典型實例來闡述算法在程序設(shè)計中的運用。如圖11所示的圓弧,根據(jù)圓弧3B程序自動生成的流程圖,編寫LISP程序如下:
圖11圓弧舉例
最終圓弧的3B程序為B29484 13210842 B270757 Gy SR2。
以上只是第四象限的一條逆圓弧,其余各種情況下圓弧的數(shù)控線切割3B程序均可用以上方法來獲得。
3 結(jié)語
綜上可以看出,通過對于Lisp語言的運用,能夠?qū)崿F(xiàn)圖形交互式自動編程,可以直接利用CAD模塊生成的幾何圖形,采用人機交互的方式,自動進行必要的計算處理并編制出數(shù)控加工程序,提高了生產(chǎn)效率。但是如何對所編寫的3B程序檢驗其正確性,也就是3B程序的仿真,是進一步研究的方向。
(審核編輯: 智匯小新)
分享