張鵬飛
(晉城市金菲機(jī)電有限公司, 山西 晉城 048000)
數(shù)控編程為數(shù)控加工過(guò)程中的主要內(nèi)容,其對(duì)加工質(zhì)量與生產(chǎn)效率具有直接影響。數(shù)控編程包括自動(dòng)編程與手工編程,手工編程應(yīng)用到幾何形狀不復(fù)雜零件中,其計(jì)算量比較小,方便編制。自動(dòng)編程就是使用計(jì)算機(jī)實(shí)現(xiàn)數(shù)控機(jī)床程序的編制工作,根據(jù)不同的輸入方式,自動(dòng)編程系統(tǒng)包括圖形輸入及語(yǔ)言輸入兩種方式。現(xiàn)代國(guó)內(nèi)的數(shù)控火焰切割機(jī)大部分都具備自動(dòng)編程系統(tǒng),利用語(yǔ)言編程實(shí)現(xiàn)。但是此編程并不直觀,對(duì)于編程人員素質(zhì)比較高,使用不方便。所以,開(kāi)發(fā)功能完善、使用方便的數(shù)控火焰切割機(jī)圖形自動(dòng)編程系統(tǒng)尤為重要。
此系統(tǒng)基于IBM PC 系列微機(jī)中的中文Windows平臺(tái)使用面向?qū)ο蟪绦蛟O(shè)計(jì)開(kāi)發(fā)。對(duì)比傳統(tǒng)程序設(shè)計(jì)的方法,面向?qū)ο蟪绦蛟O(shè)計(jì)沒(méi)有傳統(tǒng)編程語(yǔ)言中控制結(jié)構(gòu)概念,其將現(xiàn)實(shí)世界描述事物方法對(duì)問(wèn)題進(jìn)行描述,使復(fù)雜事物分解成為獨(dú)立對(duì)象,各個(gè)對(duì)象相互協(xié)調(diào)實(shí)現(xiàn)復(fù)雜功能,以此使各模塊獨(dú)立,提高程序擴(kuò)充性與重用性。
此系統(tǒng)主要包括加工零件輸入和數(shù)控代碼生成,數(shù)控加工部分得到切割結(jié)合信息方法有多重,比如動(dòng)態(tài)連接技術(shù)通過(guò)切割件圖形輸入部分直接得到,或者通過(guò)圖形文件中讀取[1]。圖1 為系統(tǒng)的設(shè)計(jì)流程。
圖1 系統(tǒng)的設(shè)計(jì)流程
以加工圖形復(fù)雜程度,使其劃分成為套環(huán)與單環(huán)兩種圖形。在CAD 中,圖形實(shí)體都是通過(guò)數(shù)據(jù)方式在數(shù)據(jù)庫(kù)中存儲(chǔ),每個(gè)實(shí)體具有相互對(duì)應(yīng)的實(shí)體數(shù)據(jù)表,實(shí)體數(shù)據(jù)表通過(guò)子表方式構(gòu)成,每個(gè)子表都是通過(guò)DXF 文件組碼方式給出。實(shí)體段幾何圖形包括圓弧、點(diǎn)、折線、直線等,在實(shí)際描繪線切割加工軌跡過(guò)程中只是使用部分。在本文系統(tǒng)開(kāi)發(fā)過(guò)程中使用MicroDraw 第三方控件實(shí)現(xiàn)DXF 文件的處理[2]。
以單環(huán)圖形處理為例,元素信息在DXF 文件中是根據(jù)繪圖順序進(jìn)行存儲(chǔ)的,因?yàn)槔L圖過(guò)程中具備隨意性,各個(gè)相互連接的實(shí)體存儲(chǔ)順序并不連接?;鹧媲懈顭o(wú)法跳躍加工,那么各個(gè)元素就要以切割加工的順序重新排列,創(chuàng)建實(shí)體元素拓?fù)潢P(guān)系,實(shí)現(xiàn)基本加工路線的生成。圖2 為單環(huán)處理,加工人員對(duì)每個(gè)圖形都要對(duì)起割點(diǎn)A 點(diǎn)手動(dòng)的標(biāo)記,使其作為程序加工段開(kāi)始,之后以此使在結(jié)構(gòu)體數(shù)組存儲(chǔ)的元素起點(diǎn)坐標(biāo)對(duì)比起割點(diǎn)坐標(biāo),使類(lèi)似于起割點(diǎn)坐標(biāo)圖元成為第一段加工程序,使此圖元終點(diǎn)坐標(biāo)成為下個(gè)起始點(diǎn),和剩余元素起點(diǎn)坐標(biāo)對(duì)比得到第二段技工程序。以此類(lèi)推,得到最后圖元終點(diǎn)坐標(biāo)和標(biāo)記起割點(diǎn)坐標(biāo)一樣。使得到的全部圖元信息根據(jù)首位相互連接方式進(jìn)行排列,構(gòu)成封閉輪廊,添加加工過(guò)程中的工藝需求,自動(dòng)變成單環(huán)圖形[3]。
對(duì)自動(dòng)編程來(lái)說(shuō),信息都在DXF 文件中,在實(shí)體段中存儲(chǔ)。那么只要以數(shù)據(jù)存儲(chǔ)格式編程提取實(shí)體,之后根據(jù)一定格式在數(shù)據(jù)文件中存儲(chǔ),對(duì)自動(dòng)變成程序進(jìn)行提供就行。圖3 為提取文件數(shù)據(jù)的框架。
圖3 提取文件數(shù)據(jù)的框架
在DXF 信息讀取過(guò)程中,能夠以相應(yīng)格式進(jìn)行存儲(chǔ)。在數(shù)控切割機(jī)自動(dòng)編程系統(tǒng)中,能夠?qū)崿F(xiàn)直線起點(diǎn)和終點(diǎn)坐標(biāo)、圓弧起點(diǎn)和圓心坐標(biāo)的存儲(chǔ)。圖4 為需要切割的零件,能夠使用任意的軟件繪圖之后在DXF 中存儲(chǔ),通過(guò)此零件圖形DXF文件得到信息實(shí)現(xiàn)數(shù)據(jù)格式的重新存儲(chǔ)。
通過(guò)DXF 文件中實(shí)現(xiàn)幾何元素讀取為無(wú)序的,便于后續(xù)的處理。首先,利用簡(jiǎn)單程序?qū)D形結(jié)合元素?cái)?shù)量進(jìn)行確定,之后通過(guò)循環(huán)從第一個(gè)元素到n 個(gè)元素實(shí)現(xiàn)排序。排序的思路就是對(duì)文件第i 個(gè)元素,對(duì)其終點(diǎn)和第i+1 個(gè)元素起點(diǎn)重合進(jìn)行檢驗(yàn)。如果是,那么他們相互連接;如果不是,那么檢驗(yàn)其是否和終點(diǎn)重合。如果使,交換第i+1 個(gè)元素起點(diǎn)與終點(diǎn),他們還是相接。如果不滿足上述條件,就對(duì)下個(gè)元素進(jìn)行校驗(yàn)。如果尋找相互連接元素是第j 個(gè)元素,使第i+1 個(gè)元素交換位置。以此類(lèi)推,直到尋找全部首尾相接元素,完成第一個(gè)輪廊排序。
對(duì)實(shí)體來(lái)說(shuō),每個(gè)輪廊都要封閉,因?yàn)樵煨突蛘咂渌矫嬖颍瑫?huì)導(dǎo)致同個(gè)輪廊不封閉,所以就要封閉其他的輪廊。檢驗(yàn)輪廊封閉非常的檢查,只需要使同個(gè)輪廊第一個(gè)元素起點(diǎn)與最后元素終點(diǎn)進(jìn)行對(duì)比[4]。
通過(guò)信息處理之后的數(shù)據(jù),以不同控制系統(tǒng)要求,對(duì)各個(gè)加工段坐標(biāo)增量進(jìn)行計(jì)算,根據(jù)相應(yīng)格式排列實(shí)現(xiàn)加工程序的生成。對(duì)于XVP 型數(shù)控火焰切割機(jī)來(lái)說(shuō),加工部分直線要根據(jù)順序?qū)懭胛募?。如果加工部分表示圓弧段,那么要計(jì)算終點(diǎn)就相當(dāng)于圓心與起點(diǎn)和起點(diǎn)x 坐標(biāo)值和y 坐標(biāo)值,并且根據(jù)順序?qū)懭氲轿募校笠皂樆』蛘吣婊?,在?shù)據(jù)段最后添加“+”后者“-”。圓加工程序或者圓弧加工程序的生成方法類(lèi)似,只是終點(diǎn)相對(duì)起點(diǎn)坐標(biāo)值為零,這個(gè)時(shí)候相應(yīng)位置有兩個(gè)“+”和“-”就行。在數(shù)據(jù)段最后寫(xiě)“-”或者“+”。對(duì)火焰切割來(lái)說(shuō),還要實(shí)現(xiàn)熄弧、引弧、快速移動(dòng)和脈沖當(dāng)量等信息。通過(guò)圖4 工件自動(dòng)編程之后,就生成圖5 的數(shù)據(jù)。
圖5 生成數(shù)控火焰切割機(jī)加工程序
現(xiàn)將哈爾濱某公司數(shù)控火焰切割機(jī)SKG-3A 型為例,說(shuō)明粗插補(bǔ)方法。使用連續(xù)點(diǎn)LINE 命令,頂點(diǎn)對(duì)零件實(shí)體輪廊外形所產(chǎn)生NC 代碼過(guò)程進(jìn)行描述。SK94開(kāi)發(fā)界面要求生成DXF 文件內(nèi)輪廊描述在第0 層,外輪廊使用其它層描述,內(nèi)外輪廊描述順序隨意。SK94 只是重視ARC、CIRCLE 和LINE 中的內(nèi)容。在CAD 零件圖形描述過(guò)程中能夠隨意利用尺寸標(biāo)注,不同類(lèi)型線型描述命令,封閉內(nèi)外輪廊。圖6 為編譯的過(guò)程。
其一,進(jìn)入到CAD 界面中設(shè)置頁(yè)面,圖層設(shè)置兩個(gè)。使目前圖層設(shè)置為圖層1,設(shè)置SNAP 為ON 的狀態(tài),GRIP 柵格為ON 狀態(tài),圖層顏色為紅色。
其二,單擊文本輸入按鈕,在彈出的對(duì)話框中將文字進(jìn)行輸入。比如“年”,對(duì)字體與字符大小進(jìn)行選擇。
其三,使0 圖層作為目前圖層,默認(rèn)白色。單擊LINE 圖層或者繪制下拉菜單中對(duì)直線進(jìn)行選擇,遇圓時(shí)以粗插補(bǔ)原理,多幾點(diǎn)進(jìn)行描述。
其四,使1 圖層設(shè)置為目前圖層,隱藏,切換0 圖層。設(shè)置捕捉為ON 狀態(tài),在起始輪廊點(diǎn)中點(diǎn)擊。完成操作,保存。
其五,通過(guò)校驗(yàn),將圖層顯示,使生成NC 代碼到運(yùn)動(dòng)控制卡中傳輸。數(shù)控火焰其各級(jí)利用傳輸電纜和DNC 網(wǎng)絡(luò)得到信息后實(shí)現(xiàn)加工[5]。
利用CAD 生成實(shí)體中具有大量信息,分析實(shí)體造型或者圖形能夠提取有效數(shù)據(jù),利用輪廊分配與排序等處理,實(shí)現(xiàn)相應(yīng)應(yīng)用程序的開(kāi)發(fā),能夠降低設(shè)計(jì)工作量,實(shí)現(xiàn)數(shù)據(jù)傳遞自動(dòng)設(shè)計(jì),充分使用CAD/CAM 系統(tǒng)數(shù)據(jù)交換文件,對(duì)于制造行業(yè)具有幫助。