<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Windows CE的數(shù)控軟件開發(fā)與實(shí)現(xiàn)

          基于Windows CE的數(shù)控軟件開發(fā)與實(shí)現(xiàn)

          作者: 時(shí)間:2012-08-16 來源:網(wǎng)絡(luò) 收藏

          CList listinfo;

          如此循環(huán)操作,直至所有的NC代碼都被提取出來并添加到鏈表listinfo中。

          3.2 刀具補(bǔ)償模塊

          單純經(jīng)過譯碼處理之后的加工代碼,并不能直接用作插補(bǔ)加工,還需要經(jīng)過刀具補(bǔ)償計(jì)算。刀具補(bǔ)償包括刀具長度補(bǔ)償和刀具半徑補(bǔ)償。刀具長度補(bǔ)償是為了使刀具頂端到達(dá)編程位置而進(jìn)行的刀具位置補(bǔ)償。刀具半徑補(bǔ)償是因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/數(shù)控">數(shù)控加工代碼通常是按照刀具中心軌跡編輯的,但在實(shí)際加工中參與切削的是刀具的外緣,為此需要補(bǔ)償一個(gè)半徑值。

          3.3 插補(bǔ)模塊

          無論選用哪種控制芯片做插補(bǔ)器,插補(bǔ)的原理都是相同的。為滿足實(shí)時(shí)、動(dòng)態(tài)輸出控制脈沖的需要,一般都是利用硬件定時(shí)器做定時(shí)中斷,中斷后即輸出控制脈沖。通過修改定時(shí)寄存器數(shù)值,即可改變輸出脈沖頻率,轉(zhuǎn)速控制。再通過對(duì)輸出脈沖個(gè)數(shù)的計(jì)數(shù),位移控制[3]。以橢圓插補(bǔ)為例,采用逐點(diǎn)比較插補(bǔ)法。該方法的核心是通過逐點(diǎn)地比較刀具與所需插補(bǔ)曲線的相對(duì)位置,確定刀具的坐標(biāo)進(jìn)給方向,從而加工出零件的輪廓[4]。插補(bǔ)循環(huán)包括如下四步:偏差判別、進(jìn)給、新偏差計(jì)算和終點(diǎn)判別。

          其中,r、t 為開關(guān)變量。r 為正負(fù)進(jìn)給量判斷,只取1 或-1 值;t 為進(jìn)給與否判斷,只取0或1。對(duì)于不同象限,進(jìn)給方向及進(jìn)給軸的選取都不一樣。通過設(shè)定進(jìn)給開關(guān)量,即可控制插補(bǔ)點(diǎn)位置。單一象限內(nèi)插補(bǔ)運(yùn)算較容易。對(duì)于多象限插補(bǔ),需要在過象限時(shí)做特殊處理。相應(yīng)的算法處理如下:

          (1)判斷起始點(diǎn)、終止點(diǎn)所在象限。

          (2)結(jié)合轉(zhuǎn)向(順/逆時(shí)針),規(guī)劃進(jìn)給路徑,即穿越象限編號(hào)。

          (3)結(jié)合路徑中的象限編號(hào),逐象限插補(bǔ)運(yùn)算。

          程序?qū)崿F(xiàn)部分源代碼如下:

          //路徑規(guī)劃函數(shù)

          bool CrossQuadrant(int quad_bgn, int quad_end, int direction, int x_s, int y_s, int x_e, int y_e,

          int* pCrossQuad){

          int CrossPart[5]; //穿越象限編號(hào)數(shù)組

          …………

          for(i=0;i5;i++){ //初始化為-1

          CrossPart[i]= -1; }

          nCurPart= quad_bgn; //起始象限編號(hào)

          if(nCurPart== quad_end){ //起始點(diǎn)、終止點(diǎn)在同一象限

          if((nCurPart==0) || (nCurPart==2)){ //若在第1,3象限

          if(fSlope_bgn>fSlope_end){ //斜率判斷

          if(direction== ClkWs){ //這種情況下,只走過本象限

          blnCross= FALSE; //置標(biāo)志位

          }}}

          ……..

          else{ //起始點(diǎn)在不同象限

          do{

          j++;

          if(direction== ClkWs){ //順時(shí)針

          nCurPart--;}

          else{ //逆時(shí)針

          nCurPart++; }

          if(nCurPart 0){ //若前一象限為第一象限,且順時(shí)針轉(zhuǎn)

          nCurPart=3; } //則后一象限換為第四象限

          if(nCurPart >3){ //若前一象限為第四象限,且逆時(shí)針轉(zhuǎn)

          nCurPart=0; } //則后一象限換為第一象限

          CrossPart[j]= nCurPart;

          }while(nCurPart!= quad_end); }}

          4 小結(jié)

          本文介紹的嵌入式軟件已成功應(yīng)用于玻璃雕刻機(jī)系統(tǒng)中,現(xiàn)場生產(chǎn)試驗(yàn)表明,系統(tǒng)運(yùn)行效果良好。 嵌入式操作系統(tǒng)的出現(xiàn)為數(shù)控系統(tǒng)的應(yīng)用開辟了新的領(lǐng)域,但由此也帶來了上的復(fù)雜性。在嵌入式數(shù)控系統(tǒng)軟件的開發(fā)過程中,必須針對(duì)數(shù)控加工的特點(diǎn),對(duì) 系統(tǒng)內(nèi)核進(jìn)行裁減定制,同時(shí)結(jié)合嵌入式硬件的具體情況,對(duì)代碼進(jìn)行合理優(yōu)化,減少內(nèi)存開支和不合理的CPU 占用,完成在嵌入式硬件上的編程。本論文在數(shù)控軟件結(jié)構(gòu)的合理構(gòu)建以及開發(fā)的關(guān)鍵實(shí)現(xiàn)技術(shù)上做了有益的探討。

          本文作者創(chuàng)新點(diǎn):在對(duì)數(shù)控平臺(tái)應(yīng)用進(jìn)行 系統(tǒng)定制的基礎(chǔ)上,提出了嵌入式數(shù)控開發(fā)的軟件架構(gòu)。并對(duì)傳統(tǒng)插補(bǔ)算法加以改進(jìn),解決插補(bǔ)數(shù)據(jù)過象限突變問題。本系統(tǒng)已成功應(yīng)用于作者所在數(shù)控實(shí)驗(yàn)室的玻璃雕刻機(jī)中。與傳統(tǒng)雕刻系統(tǒng)相比,本系統(tǒng)能節(jié)省設(shè)備成本30%-40%,加工時(shí)間縮短20%左右,已累計(jì)產(chǎn)生經(jīng)濟(jì)效益數(shù)十萬元。

          伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理



          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();