數(shù)控加工程序仿真圖形的生成
精工加工代碼的識(shí)別為了完成精工加工程序仿真圖形的生成,要求VB程序能識(shí)別精工代碼,比如G01直線插補(bǔ)、G03圓弧插補(bǔ)等,然后將程序轉(zhuǎn)入相應(yīng)的指令模塊中,進(jìn)行插補(bǔ)運(yùn)算及顯示[36]。精工加工中心中使用的典型語句模式為[36]:N□□□G□□G□□G□□X±□□□Y±□□□Z±□□□I□□□J□□□K□□□F□□S□□T□□M□□M□□其中□代表一位十進(jìn)制數(shù)字。基于PMAC加工中心精工系統(tǒng)采取直接從能顯示精工代碼的文本框中讀取精工代碼,再進(jìn)一步分析的方法。精工代碼的識(shí)別過程是:直接將文本框中的精工代碼讀入到字符竄變量中,然后根據(jù)精工加工代碼的每一行的結(jié)束標(biāo)志”;”,來將其分割成一行一行的代碼,放入字符竄數(shù)組,再分析字符竄數(shù)組的每一個(gè)元素即每一行精工代碼[36]。在精工代碼的分析過程中,考慮到精工系統(tǒng)只是進(jìn)行圖形仿真,所以在對(duì)代碼進(jìn)行識(shí)別的時(shí)候,關(guān)鍵就是識(shí)別出G代碼、X代碼、R代碼等[36]。程序識(shí)別的關(guān)鍵語句如下:t1=Split(stra1,";")'以符號(hào)“;”進(jìn)行分行i=1Fori=1ToUBound(t1)-1Fornextchar=8ToLen(t1(i))SelectCaseMid(t1(i),nextchar,1)Case"G"'提取字母Glg=InStr(nextchar,t1(i),"G",1)num=Mid(t1(i),lg+1,2)SelectCasenumCase"02"Text2.Text="G02"n=2Case"01"n=1……EndSelectCase"X"'提取字母Xj=InStr(t1(i),"X")x(i)=Val(Mid(t1(i),j+1,3))'提取XY后面的數(shù)值,放到數(shù)組X(i),Y(i)里面……EndSelectNextnextcharDimyanseIfn=""ThenElseIfn=1Orn=0ThenIfn=0Thenyanse=vbGreenElseyanse=vbBlackEndIfCall直線(dqdx,dqdy,CDbl(x(i)),CDbl(y(i)),yanse)'調(diào)用直線插補(bǔ)子程序dqdx=CDbl(x(i))dqdy=CDbl(y(i))ElseIfn=2ThenCall圓弧(dqdx,dqdy,CDbl(x(i)),CDbl(y(i)),dRadius)'調(diào)用圓弧插補(bǔ)子程序dqdx=CDbl(x(i))dqdy=CDbl(y(i))EndIfNexti2.圓弧插補(bǔ)R編程在精工零件加工圖紙上,一般都用半徑R來表示圓弧,故R編程格式對(duì)于精工程序員來說是非常便利的[37]。但是,在精工系統(tǒng)內(nèi)部必須知道圓心的坐標(biāo),才能進(jìn)行圓弧插補(bǔ)[37]。因此,在R編程方式下,精工系統(tǒng)需要解決已知兩點(diǎn)的坐標(biāo)和圓弧半徑,求解圓心坐標(biāo)的問題[37]。影響圓心坐標(biāo)的因素很多,如圓弧的長(zhǎng)短、順時(shí)針走刀、逆時(shí)針走刀以及起止點(diǎn)的相對(duì)位置等,如圖3-8所示,假設(shè)已知圓弧半徑R、起點(diǎn)A(Xl,yi)和終點(diǎn)B(x2,y2),滿足條件的圓心有兩個(gè)OKXi,Y2),連接AB和ChCb,其交點(diǎn)坐標(biāo)為M(xm,ym)。利用矢量算法簡(jiǎn)單快捷的求出圓心坐標(biāo),其計(jì)算圓心的關(guān)鍵公式為:如果弧AB是G02的劣弧,如圖3-8(a)所示,其圓心為02,此圓心02的坐標(biāo)是:如果弧AB是G02的優(yōu)弧如圖3-8(b)所示,其圓心為,此圓心Ch的坐標(biāo)是:本文采摘自“基于PMAC的加工中心開放式精工系統(tǒng)研究”,因?yàn)榫庉嬂щy導(dǎo)致有些函數(shù)、表格、圖片、內(nèi)容無法顯示,有需要者可以在網(wǎng)絡(luò)中查找相關(guān)文章!本文由海天精工整理發(fā)表文章均來自網(wǎng)絡(luò)僅供學(xué)習(xí)參考,轉(zhuǎn)載請(qǐng)注明! 相關(guān)產(chǎn)品可查閱:介紹頁(線軌加工中心)、介紹頁(龍門加工中心)、介紹頁(臥式加工中心)