摘要:基于多年從事數(shù)控編程后置處理軟件技術(shù)研究基礎(chǔ)和通用后置軟件應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn),結(jié)合數(shù)控后置處理技術(shù)應(yīng)用需求和具體的后置軟件和逆向轉(zhuǎn)換軟件的開(kāi)發(fā)實(shí)踐,闡述了基于常規(guī)CAM軟件的數(shù)控編程代碼處理技術(shù)和后置處理軟件開(kāi)發(fā)技巧。
關(guān)鍵詞:后置處理 逆向轉(zhuǎn)換 數(shù)控代碼
一、前言
隨著國(guó)內(nèi)制造業(yè)生產(chǎn)水平的不斷提高,數(shù)控機(jī)床在制造部門的使用越來(lái)越普及,這就促進(jìn)了數(shù)控加工技術(shù)的不斷進(jìn)步。作為數(shù)控編程技術(shù)的一種重要技術(shù)領(lǐng)域,數(shù)控編程后置處理技術(shù)一直起著重要的作用,并且和CAM軟件一起決定著整體數(shù)控編程自動(dòng)化水平和先進(jìn)數(shù)控機(jī)床的使用效率。
我公司自九十年代以來(lái),在裝備制造數(shù)字化建設(shè)方面快速發(fā)展,數(shù)控設(shè)備的規(guī)模和普及率有明顯的提高。先后引進(jìn)了Fidia、forest-liné、zimmerman、pama、jobs、Mikron、DMG、SIP、M-torres等國(guó)際知名機(jī)床廠家的數(shù)控設(shè)備,既有簡(jiǎn)單的三座標(biāo)數(shù)控銑床,又有復(fù)雜的五座標(biāo)擺頭類龍門銑床、五座標(biāo)轉(zhuǎn)臺(tái)類龍門銑床、五座標(biāo)車銑中心、五座標(biāo)鏜銑中心等加工設(shè)備。使我公司的數(shù)控加工能力形成了規(guī)模,具有綜合的飛機(jī)產(chǎn)品的加工制造能力。作為先進(jìn)制造工藝技術(shù),數(shù)控編程技術(shù)應(yīng)用水平直接關(guān)系到整體數(shù)控技術(shù)的發(fā)展水平和應(yīng)用水平,關(guān)系到整個(gè)企業(yè)的數(shù)字化建設(shè)的發(fā)展,而數(shù)控編程后置軟件開(kāi)發(fā)技術(shù)又是數(shù)控編程技術(shù)的重要組成部分,沒(méi)有成熟的數(shù)控后置處理技術(shù)支撐,數(shù)控編程很難達(dá)到自動(dòng)化、高效率和高可靠性。
1、常規(guī)數(shù)控機(jī)床控制代碼處理技術(shù)
簡(jiǎn)單來(lái)講,數(shù)控后置處理技術(shù)一般是與特性的CAM系統(tǒng)和數(shù)控系統(tǒng)直接相關(guān)的,它包括正向的后置處理技術(shù)和逆向的轉(zhuǎn)換技術(shù)。
在數(shù)控編程過(guò)程中,一般要產(chǎn)生兩類文件,刀位文件和代碼文件。一般用CAM軟件編制數(shù)控加工程序時(shí)生成的結(jié)果文件是一種通用APT命令的刀位文件。這類文件無(wú)法直接驅(qū)動(dòng)數(shù)控機(jī)床運(yùn)行,必須經(jīng)過(guò)集成在后處理軟件中的某種機(jī)床特性參數(shù)解釋才能生專用的數(shù)控代碼文件。因此,所謂數(shù)控后置處理軟件就是用于將刀位文件處理成針對(duì)數(shù)控機(jī)床的數(shù)控代碼文件的處理工具;而數(shù)控逆向轉(zhuǎn)換軟件則用于將已經(jīng)存在的某一類型的數(shù)控代碼文件轉(zhuǎn)換成特定CAM系統(tǒng)支持的刀位文件或直接轉(zhuǎn)換成其它控制系統(tǒng)支持的數(shù)控代碼文件,用于進(jìn)一步的仿真驗(yàn)證或者是數(shù)據(jù)的重利用或?qū)?shù)控代碼文件在不同控制系統(tǒng)間移植。
在進(jìn)行后置處理相關(guān)的開(kāi)發(fā)時(shí),需要詳細(xì)了解數(shù)控機(jī)床的控制系統(tǒng)類型、運(yùn)動(dòng)機(jī)構(gòu)形式、特殊代碼需求等內(nèi)容,然后根據(jù)這些需求實(shí)施開(kāi)發(fā)工作,一般包括軟件框架開(kāi)發(fā)、語(yǔ)法定義、算法分析、特定功能處理、文件讀寫(xiě)處理(包括刀位信息的采集、解析、預(yù)讀、初始角度預(yù)判等)等,控制系統(tǒng)和運(yùn)動(dòng)機(jī)構(gòu)越復(fù)雜,其后置軟件的開(kāi)發(fā)難度就越大。對(duì)于逆向后置開(kāi)發(fā)同樣遵循以上步驟,具有同等的技術(shù)難度。
開(kāi)發(fā)人員需要考慮的控制系統(tǒng)問(wèn)題主要有數(shù)控系統(tǒng)命令集(包括各種輔助控制指令和插補(bǔ)指令、固定循環(huán)等)、數(shù)控機(jī)床運(yùn)動(dòng)機(jī)構(gòu)、指令優(yōu)先級(jí)定義、指令的模態(tài)性以及指令集之間的排斥性以及特殊變換處理(如旋轉(zhuǎn)軸插補(bǔ)優(yōu)先、局部加工坐標(biāo)系選定等)。
二、后置處理軟件開(kāi)發(fā)設(shè)計(jì)
對(duì)于常規(guī)企業(yè)用戶可直接借用通用后置生成工具進(jìn)行特定數(shù)控機(jī)床系統(tǒng)的后置處理軟件的定制工作。我們不深入探討通用后置生成器的應(yīng)用和開(kāi)發(fā)技術(shù),而是主要論述一般性的專用的后置以及逆向后處理開(kāi)發(fā)技術(shù)。
1、軟件系統(tǒng)總體結(jié)構(gòu)
我們采用C++ BUILDER 6.0作為開(kāi)發(fā)工具在windows操作系統(tǒng)平臺(tái)上進(jìn)行開(kāi)發(fā)工作。
系統(tǒng)規(guī)劃為數(shù)控加工程序后置處理模塊、數(shù)控加工程序逆向處理模塊、數(shù)控加工程序仿真模塊(借用相應(yīng)的CAM系統(tǒng)功能)以及軟件授權(quán)管理模塊等功能模塊組成,基本搭建出了針對(duì)數(shù)控編程代碼處理的軟件平臺(tái)。
2、數(shù)控編程后置處理模塊功能開(kāi)發(fā)
對(duì)于后置處理模塊,一般涉及如下的信息輸入:將要處理的刀位文件、針對(duì)的數(shù)控機(jī)床類型、產(chǎn)生的特定數(shù)控代碼文件。
(1)界面功能規(guī)劃
在本軟件開(kāi)發(fā)中主要應(yīng)用了c++builder6.0中的TOpenDialog、TEdit、TLabel、TBitBtn、TMainMenu、TComboBox等類型控件。同過(guò)TComboBox實(shí)現(xiàn)下拉列表框調(diào)用不同的數(shù)控機(jī)床類型實(shí)現(xiàn)不同的處理結(jié)果,對(duì)于刀位文件可以依據(jù)類型實(shí)現(xiàn)是catia類型還是ug類型刀位文件,當(dāng)然有必要還可以擴(kuò)充到其他類型。
每種數(shù)控系統(tǒng)或機(jī)床根據(jù)編程特性提供多種選擇模式,對(duì)于某車銑復(fù)合機(jī)床,可以進(jìn)行普通非5軸聯(lián)動(dòng)、5軸向量編程、5軸BC角編程模式3種方法,為使用者提供了最大的選擇性。其它的后置也相應(yīng)的提供了不同的選項(xiàng)功能,如角度超限檢查、對(duì)于轉(zhuǎn)臺(tái)類機(jī)床是否全角度行程處理,是否采用B樣條編程等。
在后處理過(guò)程中還有可以進(jìn)行統(tǒng)計(jì)功能(加工最大行程、最大角度、加工時(shí)間統(tǒng)計(jì)等)、加工程序報(bào)表(與EXCEL集成)等。
(2)、具體的數(shù)據(jù)流處理
針對(duì)每一種特定數(shù)控機(jī)床的處理可用以下數(shù)據(jù)流程圖表達(dá)。
數(shù)控后置處理數(shù)據(jù)流程圖
(3)處理算法分析
在此次開(kāi)發(fā)中,重點(diǎn)是針對(duì)五軸數(shù)控機(jī)床的運(yùn)動(dòng)機(jī)構(gòu)算法分析。
兩個(gè)回轉(zhuǎn)軸均為工作臺(tái),第四軸轉(zhuǎn)動(dòng)影響第5軸的方位;
一個(gè)轉(zhuǎn)軸為工作臺(tái),另一個(gè)為主軸頭,兩者互為獨(dú)立;
兩個(gè)回轉(zhuǎn)軸均為主軸頭,第4軸轉(zhuǎn)動(dòng)會(huì)影響第5軸的方位。
2D線切割及4軸線切割
對(duì)于多軸數(shù)控機(jī)床代碼文件,最重要的就是多軸角度的處理算法定
義和特殊方向、多解的選擇和判斷等。
對(duì)于角度計(jì)算,APT文件中任意一個(gè)坐標(biāo)點(diǎn)和矢量方向都能求解出幾組值,怎樣確定當(dāng)前最適合的一組角度值是最重要的,一般采用角度變化最小原則。同時(shí),在特殊情況下(如機(jī)床運(yùn)動(dòng)角度達(dá)到限程,需要調(diào)整)需要進(jìn)一步的進(jìn)行判斷和智能化調(diào)整。具體算法略。
對(duì)于刀位點(diǎn)計(jì)算,5軸機(jī)床控制系統(tǒng)過(guò)去轉(zhuǎn)頭類是轉(zhuǎn)心數(shù)據(jù),轉(zhuǎn)臺(tái)類是機(jī)床坐標(biāo)系數(shù)據(jù),現(xiàn)在由于機(jī)床控制系統(tǒng)功能增強(qiáng),基本采用加工坐標(biāo)系數(shù)據(jù),簡(jiǎn)化了后處理;車銑復(fù)合類數(shù)控機(jī)床根據(jù)加工需要,需進(jìn)行局部坐標(biāo)系轉(zhuǎn)換、軸向坐標(biāo)數(shù)據(jù)優(yōu)先等特殊處理;對(duì)于4軸線切割機(jī)床,還要綜合考慮機(jī)床的基面高度、線架高度等特性才能處理出符合機(jī)床結(jié)構(gòu)和控制特性的代碼。
3、數(shù)控代碼逆向轉(zhuǎn)換模塊功能開(kāi)發(fā)
數(shù)控代碼逆向轉(zhuǎn)換,是將存在的數(shù)控代碼文件通過(guò)特定的機(jī)床逆向后置算法轉(zhuǎn)換為通用的CAM軟件刀位接口文件。其應(yīng)用需求是現(xiàn)有的數(shù)控代碼數(shù)據(jù)獲取/轉(zhuǎn)換移植以及現(xiàn)有CATIA v5軟件實(shí)現(xiàn)的G代碼刀位輸入轉(zhuǎn)換準(zhǔn)確性差,且無(wú)法實(shí)現(xiàn)多軸加工等特性。
由于具體的語(yǔ)法對(duì)應(yīng)結(jié)構(gòu)關(guān)系與以上后置處理相似,這里不詳述。
4、軟件授權(quán)信息管理模塊功能開(kāi)發(fā)
同樣我們?cè)陧?xiàng)目開(kāi)發(fā)中考慮了版權(quán)保護(hù)的問(wèn)題,主要的實(shí)施途徑
是對(duì)網(wǎng)卡信息進(jìn)行加密處理產(chǎn)生密鑰,然后在軟件運(yùn)行時(shí)進(jìn)行密鑰匹配。
三、后置開(kāi)發(fā)工作對(duì)數(shù)字化建設(shè)的重要意義
對(duì)于企業(yè)的數(shù)字化建設(shè)離不開(kāi)各種數(shù)字化制造設(shè)備,如我們常說(shuō)的數(shù)控銑床、車床、鏜床等等。后置軟件工具是這些數(shù)字化設(shè)備與上游的CAD/CAM軟件系統(tǒng)之間的橋梁和紐帶,沒(méi)有一個(gè)強(qiáng)大、高效、穩(wěn)定的后置處理平臺(tái),就無(wú)法高效發(fā)揮數(shù)字化設(shè)備的優(yōu)勢(shì)。因此,關(guān)注后置處理技術(shù)的發(fā)展,跟蹤、掌握最新的數(shù)控后置技術(shù)并應(yīng)用與實(shí)踐,打通企業(yè)設(shè)計(jì)制造數(shù)據(jù)流的關(guān)鍵技術(shù)之一。
參考文獻(xiàn):
(1)數(shù)控加工理論與編程技術(shù)劉雄偉等編著機(jī)械工業(yè)出版社
(2)數(shù)控機(jī)床與數(shù)控編程技術(shù)陳志雄電子工業(yè)出版社
(3)數(shù)控加工技術(shù)明興祖 熊熙編著化學(xué)工業(yè)出版社