基于VB的數(shù)控車削加工軌跡仿真_第1頁
基于VB的數(shù)控車削加工軌跡仿真_第2頁
基于VB的數(shù)控車削加工軌跡仿真_第3頁
基于VB的數(shù)控車削加工軌跡仿真_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于VB的數(shù)控車削加工軌跡仿真摘要:介紹如何利用VisualBasic編程工具,模擬二維顯示模式下的數(shù)控車削加工的走刀軌跡。主要方法是將已有的數(shù)控程序按功能字分解,并按照功能字的相應(yīng)功能實(shí)現(xiàn)加工軌跡模擬及錯(cuò)誤檢查。關(guān)鍵詞:數(shù)控;車削;仿真;visualBasic中文分類號(hào):TP391.9文獻(xiàn)表標(biāo)識(shí)碼:ATrackSimulationofNCturningprocessingbasedonVisualBasicAbstract:ByusingVBprogrammingtools,cuttertrackofNCturningprocessingissimulatedinatwo-dimensionaldisplaymode.ThechiefmethodistodisassembleNCcodeintosmallprogramsbyfunctionwords,thenwecansimulatetheworkingtrackandchecksomemistakesonacomputer.keywords:NC;turning;simulation;visualbasic0引言隨著數(shù)控加工在機(jī)械制造業(yè)中的廣泛應(yīng)用,數(shù)控操作者和學(xué)習(xí)者與日劇增。對于數(shù)控技術(shù)學(xué)習(xí)者而言,特別是初學(xué)者,如果只是枯燥地學(xué)習(xí)課本,其理解具有一定困難。對于數(shù)控操作培訓(xùn)而言,培訓(xùn)中的誤操作經(jīng)常會(huì)導(dǎo)致昂貴設(shè)備的損壞,且在數(shù)控加工過程中,可能發(fā)生錯(cuò)誤,因?yàn)榫幊倘藛T事先對這些錯(cuò)誤往往很難預(yù)料。因此,利用計(jì)算機(jī)圖形技術(shù)對已編制的數(shù)控代碼進(jìn)行加工過程模擬演示,不但可以使初學(xué)者加深理解,還可以檢查走刀路線的合理性及數(shù)控程序的正確性,防止數(shù)控機(jī)床在走刀錯(cuò)誤時(shí)造成的設(shè)備損壞。同時(shí),與高消耗、高本錢的工藝試切法相比,也有很大的優(yōu)勢。1仿真系統(tǒng)結(jié)構(gòu)設(shè)計(jì)系統(tǒng)總體結(jié)構(gòu)框圖如下:系統(tǒng)界面系統(tǒng)界面數(shù)控程序識(shí)別軌跡仿真模塊插補(bǔ)仿真模塊系統(tǒng)幫助模塊數(shù)控程序的編寫錄入模塊毛坯定義模塊圖1仿真系統(tǒng)總體結(jié)構(gòu)框圖各模塊功能如下:〔1〕系統(tǒng)界面的設(shè)計(jì):主要對數(shù)控加工程序的輸入及其輸入后系統(tǒng)運(yùn)行過程中的信息進(jìn)行顯示。同時(shí),也是演示系統(tǒng)的載體和整個(gè)工程的啟動(dòng)窗體?!?〕毛坯設(shè)計(jì)模塊:由操作者指定毛坯的形狀、毛坯各局部的尺寸,并以圖像的形式顯示出來?!?〕數(shù)控程序編寫、錄入模塊:該模塊主要是提供一個(gè)輸入和編輯數(shù)控程序的環(huán)境。錄入的數(shù)控程序用于仿真加工中刀具軌跡的計(jì)算和機(jī)床狀態(tài)的控制。〔4〕數(shù)控程序的分析、仿真模塊:對錄入的數(shù)控程序進(jìn)行格式、語法分析,計(jì)算車刀運(yùn)動(dòng)軌跡,然后由數(shù)控仿真系統(tǒng)調(diào)用插補(bǔ)仿真子模塊完成加工過程的動(dòng)態(tài)仿真?!?〕插補(bǔ)仿真模塊:主要是對直線、順圓、逆圓的插補(bǔ)過程進(jìn)行模擬?!?〕系統(tǒng)幫助模塊:用于為使用者提供相關(guān)說明,包括系統(tǒng)能夠識(shí)別的代碼格式和代碼種類及其相關(guān)功能和如何使用本軟件。2車削仿真加工環(huán)境數(shù)控車床加工環(huán)境主要是由夾具、刀具、刀架、工件四個(gè)局部組成。對于數(shù)控車削仿真系統(tǒng)而言,以這四個(gè)局部中的刀具、工件最為重要,刀具是加工零件的直接工具,工件是加工系統(tǒng)的被加工對象。本系統(tǒng)主要是虛擬數(shù)控車床的加工局部,在虛擬的車削環(huán)境中設(shè)置了虛擬工件為矩形和刀具的刀位點(diǎn)為一點(diǎn)。在VB系統(tǒng)中形成車削加工環(huán)境,就是要在模擬動(dòng)態(tài)加工前,先將毛坯和刀位點(diǎn)用VB語言進(jìn)行描述,以二維圖形的形式顯示在屏幕上。為了簡化界面,擴(kuò)大仿真區(qū)域以便操作者看清加工軌跡,因此在這個(gè)仿真系統(tǒng)中只設(shè)置了關(guān)鍵功能鍵,且多數(shù)功能鍵以菜單的形式代替了控件。本系統(tǒng)的功能菜單主要有毛坯定義、車削軌跡仿真、插補(bǔ)仿真、幫助、退出。數(shù)控代碼的調(diào)入或者操作者的輸入,是直接在主界面的文本框中進(jìn)行的。這樣,可以方便操作者對照數(shù)控加工代碼來檢查仿真軌跡。另外,還可將數(shù)控加工程序中的相關(guān)信息:刀具號(hào)、主軸速度、進(jìn)給速度顯示出來。仿真顯示界面如下列圖2所示:圖2車削仿真顯示界面3仿真顯示坐標(biāo)系和毛坯設(shè)計(jì)數(shù)控機(jī)床是以主軸軸線方向?yàn)閆軸方向,刀具遠(yuǎn)離工件的方向?yàn)閆軸的正方向。X坐標(biāo)的方向是在工件的徑向上,刀具離開工件旋轉(zhuǎn)中心的方向?yàn)閄軸正方向。圖3系統(tǒng)坐標(biāo)系3.1機(jī)床原點(diǎn)和機(jī)床坐標(biāo)系的設(shè)定機(jī)床原點(diǎn)是數(shù)控機(jī)床上的一個(gè)固定點(diǎn)。車床的機(jī)床原點(diǎn)一般定義在主軸旋轉(zhuǎn)中心線與車頭端面的交點(diǎn)上,數(shù)控車削的仿真系統(tǒng)機(jī)床原點(diǎn)“O〞如圖3所示。以機(jī)床原點(diǎn)為坐標(biāo)原點(diǎn),建立一個(gè)Z軸與X軸的直角坐標(biāo)系,此坐標(biāo)系即為機(jī)床坐標(biāo)系。在Visualbasic6.0[1]中定義機(jī)床坐標(biāo)系的代碼為:Form1.Picture1.Scale(0,-200)-(400,200)3.2工件原點(diǎn)和工件坐標(biāo)系的設(shè)定工件原點(diǎn)〔即程序原點(diǎn)〕,是人為設(shè)定的點(diǎn)。編程時(shí),一般先找到圖樣上的設(shè)計(jì)基準(zhǔn)點(diǎn),并通常以該點(diǎn)作為工件原點(diǎn)。數(shù)控車床上工件原點(diǎn)一般選擇在軸線與工件右端面、左端面或卡爪的前端面的交點(diǎn)上。本數(shù)控車削加工仿真系統(tǒng)規(guī)定以工件右端面與軸線的交點(diǎn)為工件原點(diǎn)。如圖3所示。如果以工件原點(diǎn)為坐標(biāo)原點(diǎn),建立一個(gè)Z軸與X軸的直角坐標(biāo)系,那么此坐標(biāo)系就是工件坐標(biāo)系。數(shù)控車床上工件坐標(biāo)系的Z軸一般與主軸軸線重合。3.3毛坯的設(shè)定由于車削加工的工件根本上是回轉(zhuǎn)體,毛坯也根本上為棒料,因此在二維坐標(biāo)系統(tǒng)中,可用直徑和長度尺寸確定一個(gè)矩形表示。在visualbasic中專門設(shè)計(jì)了一個(gè)如圖4所示的毛坯定義菜單,輸入毛坯的長度和直徑后,就會(huì)在仿真加工環(huán)境中顯示毛坯。圖4毛坯定義界面4數(shù)控加工代碼的處理4.1數(shù)控加工代碼的調(diào)入數(shù)控零件加工程序就是用標(biāo)準(zhǔn)ISO代碼編寫的C程序。數(shù)控車床中使用的典型語句模式[2,3]為:N□□□G□□G□□G□□X±□□□Z±□□□I□□□K□□□F□□S□□T□□M□□M□□LF其中□代表一位十進(jìn)制數(shù)字。上述結(jié)構(gòu)是按一個(gè)程序段最多可能會(huì)有3條G指令,2條M指令考慮的。對于上面的這種格式的指令,如果逐段用VB程序描述出來,不但繁瑣而且當(dāng)加工程序更換以后,必須重編VB程序,因此使用起來極其不方便。在本系統(tǒng)中,數(shù)控零件加工程序的調(diào)入方式采用,直接通過文本框輸入,然后逐行保存,或把已經(jīng)編寫好的數(shù)控加工程序以純文本的形式(.TXT)在文本框中逐行翻開。這樣,就使得數(shù)控代碼的調(diào)入這個(gè)環(huán)節(jié)簡化了許多。翻開數(shù)控代碼文件的主要語句〔VB語言〕如下:CommonDialog1.Action=1filenc=CommonDialog1.FileNameIffilenc<>""ThenText1.Text=""OpenfilencForInputAs#1DoUntilEOF(1)LineInput#1,newlineText1.Text=Text1.Text+newline+Chr(13)+Chr(10)LoopClose#14.2數(shù)控加工代碼的識(shí)別本系統(tǒng)采取直接從能顯示數(shù)控代碼的文本框中讀取數(shù)控代碼,再進(jìn)一步分析的方法。數(shù)控代碼的識(shí)別過程是:直接將文本框中的數(shù)控代碼讀入到字符竄變量中,然后根據(jù)數(shù)控加工代碼的每一行的開始標(biāo)志〞N〞,來將其分割成一行一行的代碼,放入字符竄數(shù)組,再分析字符竄數(shù)組的每一個(gè)元素即每一行數(shù)控代碼。在數(shù)控代碼的分析過程中,考慮到本系統(tǒng)只是進(jìn)行圖形仿真,所以在對代碼進(jìn)行識(shí)別的時(shí)候,關(guān)鍵就是識(shí)別出G代碼。但是為了便于操作者查找零件加工的輔助信息,本系統(tǒng)將輔助信息T、S、F也識(shí)別出來放在了加工顯示的圖片框的旁邊的文本框中。程序識(shí)別的關(guān)鍵語句如下:length=Len(strText)'找行數(shù)Forn=1Tolengthonechar=Mid(strText,n,1)Ifonechar="N"ThennCountCol=nCountCol+1EndIfNext'一行行的讀取數(shù)據(jù)ReDimstr1(nCountCol)OldStr=strTextForn=1TonCountColm=InStrRev(OldStr,"N",-1)strTmp=Mid(OldStr,m,Len(OldStr))OldStr=Left(OldStr,m-1)str1(nCountCol-n+1)=strTmpNext'對每一行代碼進(jìn)行分析Forn=1TonCountColstrTmp=str1(n)Fornextchar=6ToLen(strTmp)SelectCaseMid(strTmp,nextchar,1)Case"G"Lg=InStr(nextchar,strTmp,"G",1)num=Mid(strTmp,Lg+1,2)SelectCasenumCase"00","01","02","03"datapoolno=numnextchar=nextchar+3Case"90","91"……接下去的程序繼續(xù)對仿真加工的相關(guān)信息進(jìn)行識(shí)別,然后判別G指令,再將程序轉(zhuǎn)入相應(yīng)的G指令模塊中,進(jìn)行插補(bǔ)運(yùn)算及顯示。4.3加工程序的自動(dòng)檢錯(cuò)本文將數(shù)控加工程序的錯(cuò)誤分成了兩類:第一類是用戶輸入的超限的數(shù)據(jù)值和不可識(shí)別的G指令等非法字符。引起這類錯(cuò)誤的原因大多是用戶不了解本系統(tǒng)的處理原那么以及用戶的疏忽,但是這類錯(cuò)誤會(huì)使系統(tǒng)因不能識(shí)別的字符或不能處理的數(shù)值范圍而終止執(zhí)行或死機(jī),也可能導(dǎo)致加工軌跡異常。第二類錯(cuò)誤是用戶不按數(shù)控系統(tǒng)的編程規(guī)那么和書寫格式來輸入程序,如加工程序中的插補(bǔ)指令后沒有設(shè)置進(jìn)給速度F,或同一組加工指令〔G00,G01等〕出現(xiàn)在一條加工程序中等。這類錯(cuò)誤將直接影響刀具的運(yùn)動(dòng)或運(yùn)動(dòng)結(jié)果明顯與編程者本意不符,而且不易于發(fā)現(xiàn)。5仿真動(dòng)畫的生成在該系統(tǒng)中,動(dòng)畫的實(shí)現(xiàn)采用了圖段變化技術(shù)[4]。圖段是圖形的一局部或者是整體。在光柵系統(tǒng)中,點(diǎn)陣圖段〔圖符〕可以直接從屏幕上獲得,獲取的圖段作為一個(gè)點(diǎn)陣文件和圖塊存儲(chǔ)到磁盤上或緩存區(qū)中,然后再調(diào)用另一圖段顯示操作,將它們放置在屏幕指定的位置,通過變換不同的輸出屏幕位置,就產(chǎn)生了圖段圖形連續(xù)移動(dòng),也就產(chǎn)生了圖段變換動(dòng)畫。由圖段動(dòng)畫的定義可以看出,圖段可以預(yù)先定義或預(yù)先存儲(chǔ),并將這些圖段〔過程或點(diǎn)陣〕作為公共子過程或圖符文件存放起來,在需要的時(shí)候調(diào)出直接進(jìn)行繪制和標(biāo)記,它可以大大減小計(jì)算量。根據(jù)本系統(tǒng)的特點(diǎn):只需要讓刀具的加工軌跡實(shí)現(xiàn)動(dòng)畫即可,所以本系統(tǒng)選用圖段動(dòng)畫的方法。6結(jié)論本系統(tǒng)初步完成了數(shù)控車削加工中的刀具軌跡的生成,能夠適應(yīng)車削零件加工的二維圖形模擬,且能夠?qū)?shù)控代碼中的一些簡單的錯(cuò)誤如非法字符、插補(bǔ)指令后沒有設(shè)置進(jìn)給速度等進(jìn)行提示,這對進(jìn)一步完善數(shù)控仿真系統(tǒng)打下了根底。另外,其形成的教學(xué)實(shí)驗(yàn)環(huán)境,有助于解

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論