智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

基于Windows CE的數控軟件開發與實現

來源:互聯網

點擊:1861

A+ A-

所屬頻道:新聞中心

關鍵詞:Windows CE數控軟件

    0 引言

      傳統的數控系統是一種專用的、封閉體系結構的CNC系統。各數控廠家出于商業利益的需要,在數控系統的設計上形成各自獨立的標準和體系,造成數控系統硬件平臺的專用性,軟件結構的不可移植性。這種封閉型和單一性嚴重影響了數控技術的發展和普及。嵌入式設備及其操作系統的出現,有利于打破現有數控系統的封閉性,形成開放式數控

      系統設計模式。嵌入式系統的種類有很多,應用較廣的有Windows CE、Linux等。WinCE 是一種為多種嵌入式系統和產品設計的緊湊、高效、可升級的操作系統。WinCE 采用標準模式,其最主要的特征是為有限的硬件資源提供了多線程、多任務和完全優先級的計算環境 [1]。本文探討了在Windows CE系統下,如何開發高效穩定的嵌入式數控系統。

    1 Windows CE系統內核的定制

      嵌入式系統上應用軟件的開發離不開底層系統的支持,Windows CE 系統下應用程序架構如圖1 所示。

      圖1 Windows CE系統下應用程序架構

      由于應用環境的多樣性,需要對Windows CE 系統做不同的內核定制。可采用微軟公司的Platform. Builder 集成開發環境,針對數控加工應用的特點,添加、刪除和修改某些系統模塊,包括添加串口通信支持,FAT 文件支持(以支持U 盤快速傳送G 代碼文件),ActiveSync 支持(與PC 宿主機的通信支持)等。此外,還應將注冊表模式修改為HIVE 模式,以備掉電后將數據存放到FLASH 中保存。

    2 嵌入式數控系統軟件結構

      采用模塊化設計有助于構建清晰的程序框架,提高協同開發能力和編程效率,增強代碼的復用率。嵌入式數控系統軟件模塊劃分如圖2所示。

      圖2 上/下位機軟件模塊劃分

      數控系統使用者首先在PC 機上完成零件模型建立和編輯,生成加工代碼文件。然后將NC 代碼文件傳輸至嵌入式數控平臺。在嵌入式平臺上完成對NC 代碼的數據挖掘,提取數控加工信息并傳送至下位機處理器。下位控制器利用其高速運算的能力,完成插補運算和伺服電機控制。

      Windows CE 系統在上位機運行。Windows CE 系統非強實時性系統,因此實時性要求較高的任務(如刀補運算,插補運算),均放在下位機運行。而像人機交互這種實時性要求不高,但事件機制較復雜的任務,則放在上位機實現,以Windows CE 系統的內核支持來降低交互式操作開發的難度。

    3 主要功能模塊及其關鍵實現技術

      3.1 人機界面模塊

      人機界面模塊是用戶與數控加工平臺交互的接口。人機界面包括如下操作:加工代碼的編輯和保存;各種系統參數的設定;加工過程的同步動態仿真;獲取數控設備的位置,速度,故障信息,反饋給用戶;文件操作等。

      Windows CE出于精簡內核的需要,對傳統的WIN32 圖形庫改動較大,較多圖形類API被移除。在實際開發中為滿足圖形顯示需要,需要自寫繪圖函數。數控仿真用到的繪圖函數主要有:曲線繪圖類(圓弧,拋物線繪制)、繪圖區動態縮放、圖形的保存與重繪??蓪⒁陨虾瘮低ㄟ^測試后封裝成庫,在主程序中調用。

      3.2 加工指令編譯模塊

      數控加工指令主要是由完成各種準備功能的G 代碼和輔助功能的M 代碼組成。譯碼器的作用是讀入已編輯好的數控代碼,對指令進行詞法和語法檢查,提取刀位特征,生成刀位文件,最終轉換為驅動加工模型運動的數據。譯碼的方式可分為兩類:解釋模式和編譯模式。

      解釋模式:將G 代碼分割為若干小段,每段包括3-4行。以段為單位,解釋完本段G代碼后,隨即調用刀具補償模塊,完成刀具補償。之后把這段經過處理的代碼發送下位機,進行插補控制。解釋模式具有簡單、易行的特點,能夠方便地在加工過程中動態插入指定代碼。其不足之處在于譯碼效率較低,代碼的串行發送又極大地限制了加工效率,而且人為地分割G 代碼也破壞了代碼原有的統一性。

      編譯模式:預先對整個G代碼文件進行編譯,生成臨時代碼文件。之后將整個代碼文件發送到下位機。在下位機上調用刀具補償模塊,對代碼進行刀具補償。編譯模式能夠較好地解決固定循環指令,子程序以及各種跳轉指令的問題,維護代碼自身的統一性[2]。由于是統一編譯,統一執行,加工效率也比解釋模式高,故譯碼器的設計上采用編譯模式。

     ?。?)詞法分析:掃描NC 程序,判別是否有不可識別字符。如果有,則給出錯誤信息。

     ?。?)語法分析:規則與匹配的問題。針對數控程序特點,檢查輸入代碼合理性。若檢查出錯誤組合,則給出錯誤信息。若檢查出無效組合,則設定其無效。例如:F 指令只對G01,G02,G03有效,對G00 無效。

     ?。?)語義分析和譯碼:設計一個加工信息類CDrawInfo,用于保存譯碼得到的數據。為了保存整個代碼信息,還需要設計一個鏈表類CListInfo。CDrawInfo 類的設計如下:

      class CDrawInfo: public CObject{  public:  CDrawInfo();  virtual ~CDrawInfo();  UINT m_SerialNum; //加工序號  CPoint m_ptPrev; //前一點坐標  CPoint m_ptNext; //后一點坐標  CPoint m_ptCenter; //圓心坐標  UINT m_gcodeFun; //G 代碼類型  CDrawInfo& perator=(CDrawInfo&); //賦值運算符重載  };

      譯碼程序執行時,首先建立一個CDrawInfo 類的臨時對象drawtemp。而后逐行提取代碼的數據信息,并將其賦值到drawtemp 對象中。本行讀取完畢,再把drawtemp保存到鏈表CListInfo。CListInfo 的聲明如下:  CList listinfo;

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

      3.2 刀具補償模塊

      單純經過譯碼處理之后的加工代碼,并不能直接用作插補加工,還需要經過刀具補償計算。刀具補償包括刀具長度補償和刀具半徑補償。刀具長度補償是為了使刀具頂端到達編程位置而進行的刀具位置補償。刀具半徑補償是因為數控加工代碼通常是按照刀具中心軌跡編輯的,但在實際加工中參與切削的是刀具的外緣,為此需要補償一個半徑值。

      3.3 插補模塊

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

      其中,r、t 為開關變量。r 為正負進給量判斷,只取1 或-1 值;t 為進給與否判斷,只取0或1。對于不同象限,進給方向及進給軸的選取都不一樣。通過設定進給開關量,即可控制插補點位置。單一象限內插補運算較容易實現。對于多象限插補,需要在過象限時做特殊處理。相應的算法處理如下:

     ?。?)判斷起始點、終止點所在象限。

     ?。?)結合轉向(順/逆時針),規劃進給路徑,即穿越象限編號。

      (3)結合路徑中的象限編號,逐象限插補運算。

      程序實現部分源代碼如下:

      //路徑規劃函數  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]; //穿越象限編號數組  &hellip;&hellip;&hellip;&hellip;  for(i=0;i<5;i++){ //初始化為-1  CrossPart[i]= -1; }  nCurPart= quad_bgn; //起始象限編號  if(nCurPart== quad_end){ //起始點、終止點在同一象限  if((nCurPart==0) || (nCurPart==2)){ //若在第1,3象限  if(fSlope_bgn>fSlope_end){ //斜率判斷  if(direction== ClkWs){ //這種情況下,只走過本象限  blnCross= FALSE; //置標志位  }}}  &hellip;&hellip;..  else{ //起始點在不同象限  do{  j++;  if(direction== ClkWs){ //順時針  nCurPart--;}  else{ //逆時針  nCurPart++; }  if(nCurPart <0){ //若前一象限為第一象限,且順時針轉  nCurPart=3; } //則后一象限換為第四象限  if(nCurPart >3){ //若前一象限為第四象限,且逆時針轉  nCurPart=0; } //則后一象限換為第一象限  CrossPart[j]= nCurPart;  }while(nCurPart!= quad_end); }}

    4 小結

      本文介紹的嵌入式數控軟件已成功應用于數控玻璃雕刻機系統中,現場生產試驗表明,系統運行效果良好。Windows CE嵌入式操作系統的出現為數控系統的應用開辟了新的領域,但由此也帶來了軟件開發上的復雜性。在嵌入式數控系統軟件的開發過程中,必須針對數控加工的特點,對Windows CE 系統內核進行裁減定制,同時結合嵌入式硬件的具體情況,對代碼進行合理優化,減少內存開支和不合理的CPU 占用,完成在嵌入式硬件上的編程。本論文在數控軟件結構的合理構建以及開發的關鍵實現技術上做了有益的探討。

      本文作者創新點:在對數控平臺應用進行Windows CE 系統定制的基礎上,提出了嵌入式數控開發的軟件架構。并對傳統插補算法加以改進,解決插補數據過象限突變問題。本系統已成功應用于作者所在數控實驗室的玻璃雕刻機中。與傳統雕刻系統相比,本系統能節省設備成本30%-40%,加工時間縮短20%左右,已累計產生經濟效益數十萬元。

    (審核編輯: 智匯胡妮)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 泥浆振动筛|卧式泥浆搅拌器|泥浆离心机|泥浆处理固控设备_沧州宏宇石油机械有限公司 | 前途汇医药科技(北京)有限公司| 济南货架|济南仓储货架|济南仓库货架|山东蕴达金属制品有限公司 济南海纳特科技有限公司 | 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 | 蒸汽发生器-电加热蒸汽发生器、燃油蒸汽发生器、燃气蒸汽发生器设备厂家-诺贝思蒸汽发生器 | 蒸汽发生器厂家-电加热蒸汽发生器-免办证/免报批/免报检电锅炉-上海电热水锅炉-上海艾亚锅炉有限公司 | 热熔胶涂布机-青岛三人行机械有限公司 | 陕西教师资格网-陕西教师资格考试网| 山东向阳电子科技有限公司-多用户集中式电能表生产厂家,NB物联网水表,刷卡水电表生产厂家,泰安智能水电表价格 | 切割片-砂轮片-抛光片-磨片-方格片-百叶片生产厂家定制加工-达蒙砂轮价格优惠 | 消泡剂_有机硅消泡剂_水处理消泡剂_新万成消泡剂厂家 | 贴片磁胶电感_一体成型电感_贴片共模电感_广东精密龙电子科技有限公司 | 青岛除甲醛公司|青岛甲醛治理|青岛除甲醛|甲醛检测|光触媒除甲醛|装修除味除甲醛|新房除甲醛|青岛室内环境污染检测治理|青岛闪洁环保科技有限公司官网 | 耐磨钢板_复合耐磨板_KN60耐磨钢板-北京耐默公司 | 深圳展厅设计_产业园区展馆设计_展馆设计公司_健康产业展馆设计_展厅设计哪家好_华竣国际 | 洒水车|冷藏车|LED广告车|油罐车|道路救援车|垃圾车|程力专用汽车股份有限公司销售九分公司 | 胶球清洗-射水抽气器-磷酸盐加药装置-连云港振辉机械设备有限公司 | 浙江欧诺机械有限公司| 景县泉兴永塔业有限公司-广播电视塔、通信塔、电力塔、交通设施、监控杆塔、气象塔、森林防火瞭望塔、避雷塔、烟筒塔、训练塔 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 自走式缠绕机_上海德目包装设备厂家_在线式缠绕机_缠绕膜打包机 自装卸(挂桶)车|钩臂垃圾车|压缩垃圾车|密封自卸车|环卫垃圾车|餐厨车泔水车湖北程力专用车厂家 | 重庆消杀公司-重庆斗哥环保科技-灭鼠公司-重庆灭蟑螂-除四害-灭老鼠-灭虫-重庆灭白蚁公司 | 聚丙烯酰胺,聚合氯化铝,重金属捕捉剂,污泥调理剂,活性氧化铝,生石灰,反渗透阻垢剂,工业葡萄糖,硫酸铝,果壳活性炭,柱状活性炭,蜂窝活性炭,石英砂,锰砂-北京雁归来环保科技有限公司-以真诚为立足之本,以质量为生存之本,愿与海内外同仁共创双赢。雁归来人一路走来,气贯长虹,勇锐盖过怯弱,进取压倒苟安!我们紧扣时代脉搏,专注水处理、继往开来! | 石家庄装修设计_别墅装修装饰公司-金舍装饰官网 | 世博磁力泵,耐腐蚀磁力泵,耐酸碱磁力泵,氟塑料磁力泵-苏州冠裕机电科技有限公司 | 无线对讲机系统-中继台-山区隧道信号覆盖-贝亚特 | 开拓者喷雾设备有限公司专业生产喷嘴,喷雾设备,清洗,喷涂,降温,除尘,润滑等喷雾系统的方案解决商 | 图观 - 数字孪生 应用开发引擎 | 三维可视化| 潍坊劲昊磁电科技有限公司-电磁除铁器,永磁除铁器,管道式除铁器,金属探测仪,磁滚筒,输送设备,给料设备,破碎设备 | 联智通达_工控一体机_工业触摸一体机_工业一体机_工业触控一体机_POS机主板_工控主板_国产化主板_RK3588主板厂商-联智通达 | 深圳理津技术有限公司(REHLOGY)-全球工业品供应商:自动化产品|仪器仪表|设备|备品备件|工具|消耗品|非标设备|建筑工程等一站式综合服务! | 装备升级改造I成都星迅通科技有限公司-成都星迅通科技有限公司官方网站 | 山东净化车间_净化工程_净化公司-山东海蓝净化装饰工程有限公司 山东金起起重机械有限公司[官网]-金桥银路悬臂吊,金起龙门吊,山东金起起重行吊,单梁起重机 | 杀菌剂_除藻剂_杀菌灭藻剂_1227杀菌剂_中北精细化工 | 健力普医疗-半导体激光治疗仪,红外偏振光治疗仪,近红外线治疗仪-独家功能,光疗典范 | 云南昆明微信公众号小程序开发公司|抖音|网站建设APP制作-鸿翥网络 | 上海增晨贸易有限公司-PC端 | 商易网-b2b电子商务平台网站大全免费B2B发布供求信息网站 | 生物发酵罐(细菌/植物/液体玻璃实验室发酵罐设备)CIP清洗罐,灭活罐「厂家」-安徽赛德齐瑞发酵罐品牌 | 校园防欺凌|视频一键式报警器|防霸凌报警柱|停车场语音对讲|商铺联网报警|应急广播音柱|居家养老一键通|盾王可视联网运营中心 | 专业音响设备|数字功放|舞台音响|ktv音响|会议音响-劳伦士 |