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