国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PMAC的微銑床數(shù)控系統(tǒng)中G代碼編譯研究*

2012-11-24 04:41盧曉紅王鑫鑫賈振元
關(guān)鍵詞:數(shù)控系統(tǒng)校驗代碼

賈 旭,盧曉紅,王鑫鑫,賈振元

(大連理工大學(xué)精密與特種加工教育部重點實驗室,遼寧大連 116024)

0 引言

目前,隨著PC硬件水平和數(shù)控軟件設(shè)計水平的提高,PC在數(shù)控領(lǐng)域的應(yīng)用不斷增多,出現(xiàn)了多種基于PC機的開放式數(shù)控系統(tǒng)體系,其中PC+NC型數(shù)控系統(tǒng)以其靈活的擴展方式、良好的兼容性和開放的開發(fā)環(huán)境應(yīng)用最為廣泛[1]。所研發(fā)的微銑床在硬件結(jié)構(gòu)上采用“PC+運動控制器”型開放式數(shù)控系統(tǒng),即利用工控機作為主體,選用Visual C++作為上位機系統(tǒng)軟件平臺,將PMAC運動控制卡作為下位機插在PCI總線插槽上,通過專用電纜與各伺服單元和I/O單元連接,X、Y、Z軸方向采用伺服電機加滾珠絲杠的方式進行驅(qū)動,實現(xiàn)對三軸的精確控制。數(shù)控加工系統(tǒng)以代碼為依據(jù)進行數(shù)控加工,數(shù)控代碼是數(shù)控系統(tǒng)中的主要信息流,對數(shù)控代碼進行譯碼的方式最主要有兩種:解釋和編譯。解釋即直接解釋執(zhí)行代碼,或者將代碼翻譯成某種中間表示形式后再加以執(zhí)行,速度較慢,且譯碼效果十分有限;編譯則是將NC代碼轉(zhuǎn)換成數(shù)據(jù)流,并在計算機上運行該數(shù)據(jù)流,最終由控制系統(tǒng)直接讀取并執(zhí)行,速度快,譯碼效果理想[2]。在“PC+運動控制器”型開放式數(shù)控系統(tǒng)中,G代碼需要被翻譯成可供PMAC卡直接執(zhí)行的目標(biāo)程序格式,即完成數(shù)控代碼功能的識別,并將提取的關(guān)鍵字轉(zhuǎn)換為運動控制器中對應(yīng)的運動函數(shù)中的參數(shù),也就是將所有的命令轉(zhuǎn)化為圓弧和直線插補。本文基于編譯原理技術(shù)及軟件工程思想,實現(xiàn)了基于PMAC的微型數(shù)控銑床控制系統(tǒng)中G代碼接口編譯功能,并通過具有復(fù)雜幾何特征的微小零件加工對所實現(xiàn)的G代碼編譯功能進行了驗證。

1 零件加工G代碼的生成

數(shù)控編程作為數(shù)控加工準(zhǔn)備階段的主要內(nèi)容之一,是指從零件圖紙到獲得數(shù)控加工程序的全過程,其主要任務(wù)是通過計算加工過程中的刀位點,來確定刀具運動的運動軌跡。目前數(shù)控編程主要包括手工編程和自動編程兩種方法[3]。

手動編程主要用于幾何形狀比較簡單(如平面、方形槽)的零件加工,而對于具有空間自由曲面、復(fù)雜型腔的零件,刀具軌跡數(shù)據(jù)計算相當(dāng)繁瑣,工作量大而且容易出錯。自動編程,編程人員只需根據(jù)零件圖樣的要求,使用數(shù)控語言,由計算機自動地進行數(shù)值計算及后置處理,編寫出零件加工程序單,加工程序通過直接通信的方式送入數(shù)控機床,指揮機床工作。自動編程使得一些計算繁瑣、手工編程困難或無法編出的程序能夠順利地完成。實現(xiàn)自動編程的 CAM軟件常用的有 UG,Pro/E,MASTERCAM等[4],可以實現(xiàn)多軸聯(lián)動的自動編程并進行仿真模擬。對于微銑削加工,由于所加工的零件幾何尺寸較小,形狀較復(fù)雜,宜采用自動編程。

本文加工的零件首先在Pro/E平臺上,根據(jù)其實際結(jié)構(gòu)、尺寸建立三維模型,然后通過數(shù)控加工模塊(Pro/NC)自動生成刀具軌跡和刀位數(shù)據(jù)文件。但所搭建的微銑床的數(shù)控系統(tǒng)并不能識別Pro/E生成的刀具軌跡和刀位數(shù)據(jù)文件,因此,還需要利用Pro/NC模塊中的G_post后置處理器將刀位數(shù)據(jù)文件轉(zhuǎn)化為數(shù)控系統(tǒng)能識別的G代碼程序,進而完成零件數(shù)控加工程序的編制。

使用Pro/NC模塊設(shè)計加工程序的流程如圖1所示,具體流程說明如下[5]:

(1)建立制造模型:一般由設(shè)計模型和工件裝配組成。

(2)設(shè)置制造數(shù)據(jù)庫:包括機床設(shè)置、刀具設(shè)置、夾具設(shè)置等項目。

(3)定義操作:一般包括定義機床、定義CL輸出坐標(biāo)系、操作注釋、定義起始點和返回點等。

圖1 Pro/NC模塊加工流程圖

(4)定義NC序列:通過定義NC序列的類型、切削參數(shù)和制造參數(shù),由系統(tǒng)自動生成刀具軌跡。

(5)校驗及生成NC代碼文件:通過仿真操作刀具軌跡,如果符合要求,則可以通過后置處理,生成G代碼文件。

2 G代碼編譯的實現(xiàn)

為了完成微銑削加工,要求PMAC卡必須能夠識別Pro/E生成的G代碼,因此,需要對G代碼進行編譯。

本文利用VC++6.0開發(fā)的數(shù)控系統(tǒng)控制軟件包含代碼處理模塊,如圖2所示。編譯時首先載入Pro/E生成的G代碼文件并對其進行語法、語義檢查,然后將其轉(zhuǎn)換成符合PMAC要求的加工文件(.PMC文件),只有檢查無誤的代碼才能進行轉(zhuǎn)換,因此所設(shè)計的G代碼編譯程序包括兩部分功能,即輸入代碼的校驗功能和代碼轉(zhuǎn)換功能。

圖2 控制軟件代碼處理模塊

2.1 代碼校驗功能的實現(xiàn)

2.1.1 G代碼的分類存儲

待處理的G代碼一般都是以文件格式存儲的,這種形式不便于在程序中的處理使用。因此,本文采用結(jié)構(gòu)體鏈表技術(shù),利用命令結(jié)構(gòu)體對讀入的G代碼進行分類存儲,有效地節(jié)省了內(nèi)存。

根據(jù)微銑床的設(shè)計需求和數(shù)控加工程序的特點,將所用到的G代碼分為四組:G00~G04:加工類指令;G17~G19:半徑補償平面選擇類指令;G54~G59,G92:坐標(biāo)系選擇指令;G90,G91:坐標(biāo)方式設(shè)定指令。M代碼僅用到M03,M04主軸方向指令和M00~M02程序停止及結(jié)束指令。最終設(shè)計的結(jié)構(gòu)體如下:

2.1.2 G代碼的校驗規(guī)則

G代碼的校驗主要滿足兩項功能:①對出錯的類型及修改方式進行精確定位;②給出錯誤提示,方便用戶修改。代碼的校驗主要從語法、語義兩方面進行檢查。首先去除其中的無效字符,如注釋信息、空格、N指令等;然后再按設(shè)定的規(guī)則對代碼進行處理。為了滿足微銑床加工的要求,最終遵循的校驗規(guī)則如下:

(1)語法方面:要求每一命令行必須有指令且不能出現(xiàn)NGXYZ[IJ/R]HDFSTM以外的未知指令,同時要求指令應(yīng)大寫。

(2)語義方面:

①指令需按如下順序排列:NGXYZ[IJ/R]HDFSTM;

②對指令的賦值應(yīng)滿足約定的數(shù)值類型且數(shù)值不可超量程;

③同組G指令不可重復(fù);

④對N指令應(yīng)逐行遞增;

⑤對G02-03指令要求半徑R不可為零且圓心應(yīng)在起點與終點的垂直平分線上。

在上述校驗規(guī)則的基礎(chǔ)上,校驗的流程圖如圖3所示。

2.2 代碼轉(zhuǎn)換功能的實現(xiàn)

PMAC卡允許執(zhí)行機床類型的RS-274(G代碼)程序,為了使PMAC能夠運行標(biāo)準(zhǔn)G代碼來控制機床運行,須根據(jù)加工需要編寫特定的解釋程序——PROG 1000,并將其下載到PMAC內(nèi)存中。在此過程中,PMAC卡將G代碼作為子例程來調(diào)用,指令Gnn是指調(diào)用PROG 1000的nn000行程序。Gnn隨后的數(shù)值作為nn000行指令的參數(shù)對待,然后返回,執(zhí)行該行G代碼的余下部分[6]。

根據(jù)所搭建的微銑床系統(tǒng)需要滿足的加工能力,編寫了幾種常見的 G 代碼(G00,G01,G02,G03,G90,G91)編譯程序(其他G代碼的編譯程序,還有待進一步開發(fā))。編寫的PROG 1000程序如下:

為了讓PMAC卡能夠識別校驗后的G代碼,編寫的上位機軟件還應(yīng)具備如下功能:

(1)在經(jīng)過校驗的G代碼開頭添加坐標(biāo)系、坐標(biāo)軸定義并為該段G代碼在PMAC卡內(nèi)存中開辟緩沖區(qū)[7]。程序開頭添加清空緩沖區(qū)(CLEAR)指令,末尾添加關(guān)閉緩沖區(qū)(CLOSE)指令,轉(zhuǎn)換后的G代碼如圖4所示。

圖3 代碼校驗流程圖

(2)將轉(zhuǎn)換后的G代碼程序存儲到PMAC加工文件(.PMC)中。

(3)調(diào)用PamcDownloadA()函數(shù)下載上述加工文件到PMAC卡中。

圖4 轉(zhuǎn)換后的G代碼

3 加工實例驗證

為對所設(shè)計的G代碼編譯程序進行驗證,在搭建的微型數(shù)控銑床上開展微小零件的微銑削試驗。首先在Pro/E中建立包含直線、圓弧等加工軌跡的三維零件模型并生成數(shù)控G代碼,經(jīng)過代碼校驗、轉(zhuǎn)換等編譯環(huán)節(jié)后,將其下載到PMAC卡內(nèi)存中,完成微小零件的自動加工。

采用直徑為0.2mm的銑刀在黃銅件上加工阿基米德螺旋線的超景深顯微鏡觀察圖片如圖5所示。螺旋線中心起始圓半徑0.5mm,每圈增量3mm,切削深度為100μm,螺旋線圓弧輪廓清晰,成型質(zhì)量較高。加工實例證明了所設(shè)計的G代碼校驗程序及其與PMAC的接口實現(xiàn)方法達到了預(yù)期要求。

圖5 加工阿基米德螺旋線實例圖片

4 結(jié)束語

本文針對“PC+運動控制器”型開放式數(shù)控系統(tǒng),利用編譯原理、軟件工程的思想及VC++6.0軟件,設(shè)計實現(xiàn)了G代碼編譯模塊程序。將G代碼的編譯過程分成代碼的校驗功能和代碼轉(zhuǎn)換功能。所設(shè)計實現(xiàn)的G代碼編譯模塊程序為用戶提供柔性化和集成化的現(xiàn)代控制;同時具有良好的通用性和較高的開放性。加工實例證明該方法能夠?qū)崿F(xiàn)具有復(fù)雜幾何特征的微小零件的自動加工。

[1]周凱.PC數(shù)控原理、系統(tǒng)與應(yīng)用[M].北京:機械工業(yè)出版社,2006.

[2]張學(xué)飛,李健.開放式數(shù)控系統(tǒng)G代碼的編譯模塊設(shè)計[J].機械設(shè)計與制造,2010(10):87-88.

[3]桂艷,周建來,田桂祥.基于PC機的數(shù)控系統(tǒng)G代碼的編譯設(shè)計[J].淮海工學(xué)院學(xué)報,2009,18(4):14-17.

[4]張慶,姚錫凡.一種開放式數(shù)控系統(tǒng)NC代碼解釋器設(shè)計與實現(xiàn)[J].組合機床與自動化加工技術(shù),2010(2):59-61.

[5]白晶,胡仁喜,陶春生.精通Pro/ENGINEER野火版3.0數(shù)控加工[M].北京:電子工業(yè)出版社,2007.

[6]PMAC User Manual.Delta Tau Data Systems Inc.1998.

[7]羅先全,黃學(xué)良,王偉,等.基于PMAC卡數(shù)控的G代碼自動生成[J].現(xiàn)代制造工程,2007(7):14-16.

猜你喜歡
數(shù)控系統(tǒng)校驗代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
基于FANUC 32i A數(shù)控系統(tǒng)的外部測量設(shè)計
西門子840D sl數(shù)控系統(tǒng)在SC125大型車銑鏜床技術(shù)改造中的應(yīng)用
基于FANUC Oi mate TD數(shù)控系統(tǒng)的手動功能開發(fā)
數(shù)控系統(tǒng)中GUI軟件平臺設(shè)計和實現(xiàn)
電子式互感器校驗方式研究