日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

最新廣告
關注中國自動化產業發展的先行者!
工業智能邊緣計算2025年會
CAIAC 2025
2025工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

數控系統G代碼解釋器的設計與實現
  • 企業:控制網     領域:電氣聯接     行業:倉儲    
  • 點擊數:8925     發布時間:2006-07-22 20:40:57
  • 分享到:
分析了數控G代碼的特點,并實現了數控G代碼解釋器,經過實踐檢驗可以用于實際加工和圖形仿真。



0 
引言:

  
數控機床可以保證產品達到很高的精度和穩定的加工質量,生產效率高,準備周期短??梢源蟠蠊澥S霉に囋O備,適應產品快速更新換代的要求,已經得到廣泛的應用。


    數控程序記錄了數控加工的一切必要信息:零件加工的工藝順序,運動軌跡與方位,工藝參數(轉速,進給量和切削速度)以及輔助功能(換刀,變速,切削液的開啟)。在CNC系統中,
無論是自動生成還是手工編制的數控程序,計算機都無法直接根據數控程序進行加工,必須通過解釋程序提取數據,轉換為計算機可以執行的程序,以供計算機進行加工仿真或控制機床加工零件。因此數控代碼解釋器也就成為CNC系統的一個重要模塊。


    對程序進行譯碼的方式主要由兩種:編譯和解釋,編譯系統速度快,結構復雜;解釋系統速度慢,結構簡單。目前,絕大多數的數控系統都采用解釋方式對數控加工程序進行譯碼。因為數控系統雖然是一個對系統的實時性要求比較高的應用程序,但其主要的實時性任務是插補及位置控制,譯碼并不需要非常快的速度,盡管越快越好??紤]到解釋程序結構簡單,且足夠滿足系統需要,本系統采用解釋的方式進行譯碼,相應的程序稱為G代碼解釋器。


1 數控加工程序的組成和特點


1
1 數控程序的組成

   
國際標準化組織制定了字地址程序段格式ISO-6983-1-1982標準,其形式如下:

N...G...X...Y...Z...I..J..K...M...S...T...F...<CR>

   
其中,N是程序段的順序號,G是準備功能字,X,Y,Z,I,J,K后為機床的運動坐標尺寸,第三部分是一些加工時的工藝參數(主軸轉速,進給速度,刀具號等)。數控程序是由這樣一組字地址組成的指令集,它包含加工時所需的一切信息,提供了數控機床實際加工零件時所需的一切信息。


1
2 數控程序的特點

   
分析數控程序的組成,可知數控程序如下的一些結構特點:


(1)
每一個數控程序段由若干個字組成


(2)
每個字由表示地址的英文字母及數字集合而成


(3)
每個程序段表示機床的位移或功能指令


(4)
在同一個程序段內,同一個字不能重復出現

 

 
依據ISO的標準的G代碼,經分析后可以總結出G代碼的文法和語法特點


(1)
數控程序段為典型的上下文無關文法,即語法單位可完全獨立于其可能出現的環境。


(2)
數控代碼語法規則簡單,數量較少。


2 數控程序解釋器的功能


(1)
語法檢查,詞法檢查和邏輯檢查:

   
語法檢查主要是檢查數控指令是否符合數控系統的語法規則。例如G代碼中一般要求字母要大寫,指令的某些參數必須要明確指定。程序開始有程序開始字符,結束有程序結束字符等。

   
詞法檢查主要是檢查G代碼中每一指令字中的地址符,及其后面的數字類型,數字范圍是否符合G代碼中的規則,如在程序中不能出現未定義的地址符號,地址符后的X,Y,Z的坐標值不能超過機床本身最大的工作行程

   
邏輯檢查就是檢查G代碼指令必須符合邏輯,如圓弧插補指令中指定要插補的圓弧必須要存在。另外,加工過程中不得發生過切,干涉碰撞等


    (2)數據格式轉換:

    
讀入程序行,提取運動信息,將所有的程序行轉化為機床運動的坐標信息和機床輔助功能指令


    (3)處理變量表達式:

    
支持變量和表達式,可以使用戶編程更具靈活性,從而為用戶帶來更多方便。


    (4)控制結構處理:

    
解釋器可以根據用戶設定的具體條件來選擇合適的執行路徑以實現預定的控制邏輯。


    (5)處理子程序和宏程序調用


     子程序和宏程序的實現可以方便用戶重用程序,提高效率。


3 數控程序解釋器的實現

    
NC程序的解釋思路是建立一個與數控代碼程序行相對應的類對象,將此對象作為一個臨時的數據緩沖區,將程序段的數控加工程序依次讀出,經解釋變換后寫入類對象數組,這樣,所有的NC信息文件就全部保存在類對象數組中,其中存放著加工時所需的一切指令和坐標信息。


    NC信息的結構如下:

struct Dot

{  

    int       command;     //G代碼命令

    int       LineNumber;  //代碼行號

    int       MyLineNumber;//解釋行號

int       assitantcode;//輔助功能字

double    XPosition;   //相對于機械坐標原點的X軸絕對位置

    double    YPosition;   //相對于機械坐標原點的Y軸絕對位置

    double    ZPosition;   //相對于機械坐標原點的Z軸絕對位置

double    OXPosition;  //原始X軸位置

    double    OYPosition;  //原始Y軸位置

    double    OZPosition;  //原始Z軸位置

 

double    DXPosition;   //兩點的X軸相對位置

    double    DYPosition;   //兩點的Y軸相對位置

    double    DZPosition;   //兩點的Z軸相對位置

double    IPosition;   //圓弧插補時的I值

    double    JPosition;   //圓弧插補時的J值

    double    KPosition;   //圓弧插補時的K值

double    angle;       //圓弧插補時的角度值

    double    radius ;     //圓弧插補半徑

. . . . . .

 

    double    advancespeed; //進給速度

    double    rotatespeed;  //主軸轉速

    BYTE      byMoveAxis;   //移動軸

};

    
另外對于子程序,它被主程序調用,執行結束后回到主程序中指定的位置,且子程序又可以調用自身或其它子程序,當每次完成子程序后,它又得回到相應的主程序中,其先進后出的特點,可以用棧來實現,因此在其被調用時建立一個子程序棧,其數據結構:

struct programme

{

int     name;    /子程序名

int     beginaddress /子程序的起始地址

int     endaddress   /子程序的返回地址

int     loop         /子程序的執行次數

};



其具體解釋過程如下:

     (1)
逐行讀入NC程序,進行預處理,過濾去除注釋文字及空格,得到有效的字符程序段


(2)
執行語法檢查,詞法檢查和邏輯結構檢查。
 
 對依次讀入的每一程序行,與G代碼的詞法規則,語法規則,邏輯結構進行比較檢查。


     如果產生沖突,則顯示出相應的錯誤信息,指出其錯誤性質和錯誤所在的位置。(1)(2)步軟件流程圖如圖1所示。如所有的檢查都已通過,整個G代碼無任何詞法,語法和邏輯錯誤,則進入第(3)步。

   
(3)從有效的字符段中提取相應命令和數據。

    
在確認整個程序沒有任何錯誤之后,逐行讀入G代碼,從字符行中提取有效信息,把所有命令和相應的參數放在前面所定義的Dot類型中。如存在子程序調用或跳轉時,就轉入相應的子程序或跳轉,逐行解釋,然后再回到主程序中或跳轉指令所指定的行號,繼續逐行讀入,逐行解釋,這樣整個G代碼就展開為轉化為Dot類的對象數組。其軟件流程圖如圖2所示。

   
(4)執行語義分析,將所有命令轉化為圓弧和直線插補。

   
讀入Dot類對象的數組,將所有的非圓弧和直線插補的動作指令轉化為圓弧和直線插補,其中的回參考點指令,固定循環等。如固定循環,就是一系列圓弧插補和直線插補的組合,根據其指令中的參數,完全可以計算出轉化為直線插補時的每一步的進給量和圓弧插補的參數。

   
在最后所得到的一系列的類對象數組中,所有的動作命令全部都已轉化為圓弧插補和直線插補這兩種指令,所有的功能指令也都存放在相應的標志位中,所有的X,Y,Z的坐標都已轉化為相對于機械坐標原點的值。


    總而言之,整個G代碼解釋的過程就是通過詞法檢查,語發檢查,邏輯檢查,然后提取命令和數據。最后是對具體命令進一步解釋為圓弧和直線插補指令。



4 實際加工和仿真


    筆者用Visual C++ 6.0 語言在windows平臺下開發了一套與運動控制卡相配套的數控雕刻軟件.已經基本實現數控軟件的基本功能,同時通過實際加工和圖形仿真,充分驗證了G代

碼解釋的正確性和可靠性。下面兩張圖分別為用雕刻機實際加工的飛機模型的相片和計算機

讀入G代碼,通過解釋得到數據,傳送給仿真程序而生成的圖像

 

圖3為實際加工飛機的圖像。


圖4為仿真圖像和整個軟件界面:                 


5 結論


    本文分析了G代碼的形式,結構和特點,設計和實現了G代碼解釋器,并經過實踐證明,代碼解釋器實現了對數控機床各種指令和功能的正確解釋,完全可以用于計算機實際加工和仿真。


參考文獻:

【1】王愛玲 沈興全 吳淑琴 彭彬彬 編著 現代數控編程技術和應用 國防工業出版社

【2】   邁克 馬特森 CNC編程原理與應用  機械工業出版社

【3】   Kenneth Louden 編譯原理技術與實踐 機械工業出版社

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 日韩精品电影在线观看-日韩精品电影在线-日韩精品电影一区-日韩精品电影-国产日韩欧美综合-国产日韩欧美在线一区二区三区 | 久久久久久99精品-久久久久久99-久久久久久91香蕉国产-久久久久久91精品色婷婷-中国一级片免费看-中国一级毛片国产高清 | 国产真实乱对白精彩-国产真实露脸乱子伦-国产真实夫妇交换视频-国产这里有精品-亚洲第一国产-亚洲第一成年网站视频 | 视频区国产亚洲.欧美-视频黄色在线-视频国产激情-十九岁日本电影免费粤语高清-久久99九九精品免费-久久99九九国产免费看小说 | 伊人第四色-伊人成影院-伊人成人在线视频-伊人成人在线观看-久久精品久久精品-久久精品九九亚洲精品天堂 | 国产精品盗摄一区二区在线-国产精品盗摄在线观看-国产精品对白刺激久久久-国产精品对白刺激音频在线观看-国产精品对白交换-国产精品对白交换绿帽视频 | 亚洲幼女网-亚洲呦女专区-亚洲永久在线观看-亚洲永久免费视频-精品久久香蕉国产线看观看麻豆-精品久久日日躁夜夜躁AV | 亚洲精品www久久久久久-亚洲精品m在线观看-亚洲精品99久久久久久-亚洲精品97福利在线-黑人解禁-黑人家教 | 免费色黄网站-免费人成在线看-免费人成在线观看网站视频-免费人成在线观看网站-伊人蕉久中文字幕无码专区-伊人蕉久影院 | 国产婷婷视频-国产婷婷丁香久久综合-国产天天在线-国产天天操-小草在线免费观看视频-小草在线观看视频免费2019 | 亚洲精品高清国产一久久,免费观看国产,国产欧美日韩精品在钱,国产在线观看入口,国产日产欧美精品一区二区三区,国产一级在线观看 7788理论片在线观看-7788av-777午夜精品免费播放-777奇米影视一区二区三区-蜜桃传媒在线-蜜桃成熟时1997在线看免费看 | 国产成人精品一区二区视频免费-国产成人精品一区二区视频-国产成人精品一区二区三在线观看-国产成人精品一区二区三在-国产成人精品一区二区三区小说-国产成人精品一区二区三区无码 | 国产日屄视频播放-国产日本中文久久-国产日本在线观看网址-国产日本在线观看播放-国产日本在线播放-国产日本亚洲一区二区三区 | h在线动漫-h玉足嫩脚嗯啊白丝-h网站国产-h视频免费高清在线观看-欧美亚洲欧美-欧美亚洲免费 | 国产欧美日韩在线观看精品-国产欧美日韩在线不卡第一页-国产欧美日韩在线播放-国产欧美日韩一区二区三区在线-婷婷日日夜夜-婷婷日韩 | 日韩精品在线视频观看-日韩精品在线播放-日韩精品影视-日韩精品一区在线观看-日韩精品一区二区亚洲AV观看-日韩精品一区二区三区在线观看l | 热血影院-热热99-热久在线-热久久最新网址-成人毛片一区二区三区-成人毛片视频免费网站观看 | 精品久久久久久久中文字幕,日韩欧美国产电影,日韩国产欧美一区二区三区在线,青青草原国产一区二区,日本成人久久,欧美在线视频二区 | 亚洲黄色网页-亚洲黄色三级视频-亚洲黄色片免费看-亚洲黄色免费在线观看-国产中文字幕免费观看-国产中文字幕乱码一区 | 你懂的在线观看视频-你懂的日韩-你懂的国产精品-你懂的福利视频-夜夜操网-夜夜操天天爽 | 欧美成人tv在线观看免费-欧美成人tv-欧美成人h版影院在线播放-欧美成人h版影片在线观看-欧美成人h版白雪公主-欧美成人h版 | 麻豆国产av国片精品有毛-麻豆国产av巨作-麻豆国产av巨作国产剧情-麻豆国产av丝袜白领传媒-麻豆国产av网站-麻豆国产av尤物网站尤物 | 娇妻在客厅被朋友玩得呻吟漫画-娇小娇小与黑人tubevideos-进去粗粗硬硬紧紧的好爽免费视频-禁欲总裁被C呻吟双腿大张-禁止的爱6浴室吃奶中文字幕-经典乱家庭伦小说 | 国产成人综合在线观看网站-国产成人综合在线-国产成人综合亚洲亚洲欧美-国产成人综合亚洲动漫在线-国产成人综合亚洲-国产成人综合网在线观看 | 波多野结衣在线中文-波多野结衣在线影视免费观看-波多野结衣在线影视-波多野结衣在线一区二区-波多野结衣在线一区-波多野结衣在线网址 | 极品美女在线观看国产一区-极品嫩模一区二区三区-极品人妻被黑人中出-极品少妇xxxxⅹ另类-极品少妇xxxx精品少妇-极品少妇XXXX精品少妇偷拍 | 久久久精品国产sm最大网站-久久久精品国产免大香伊-久久久精品国产免费A片胖妇女-久久久精品久久久久久96-久久久精品久久久久久久久久久-久久久精品久久日韩一区综合 | 午夜成人影视-午夜成人影片-午夜成人免费影院-午夜不卡影院-国产日本欧美亚洲精品视-国产日本欧美高清免费区 | 九九国产在线视频-九九国产在线观看-九九国产在线-九九国产视频-亚洲夜色夜色综合网站-亚洲羞羞视频 | 国产精品jizzjizz-国产精品hd在线播放-国产精品hd免费观看-国产精品blacked在线-日日人人-日日欧美 | 久久精品一区二区三区不卡牛牛,国产片精品电影www,久久久久久97,www奇米,好姑娘中文在线播放,美女被羞羞视频网站在线 | 免费色黄网站-免费人成在线看-免费人成在线观看网站视频-免费人成在线观看网站-伊人蕉久中文字幕无码专区-伊人蕉久影院 | 免费黄色在线观看视频-免费黄色在线观看-免费黄色在线电影-免费黄色在线-成人精品一区二区三区电影-成人精品一区二区三区 | 午夜久久久久久-午夜久久久-午夜精品在线免费观看-午夜精品影院-国产日韩久久-国产日韩精品一区在线观看播放 | 亚洲欧美激情另类,国产成人一区二区三区免费观看,一区二区三区在线视频观看,亚洲一区二区三区精品视频,国产乱了真实在线观看,国产播放器一区 | 青草免费在线观看-青草免费在线-青草免费观看-青草久草视频-国产国语一级毛片-国产国语一级a毛片高清视频 | 欧美夜夜骑,青草视频在线观看完整版,久久精品99无色码中文字幕,欧美日韩一区二区在线观看视频,欧美中文字幕在线视频,www.99精品 热久久国产-热99这里只有精品-热99这里有精品综合久久-热99在线观看-国产精品99久久久-国产精品99久久99久久久看片 | 岛国精品在线观看-岛国精品在线-岛国大片在线免费观看-岛国大片在线观看完整版-日本老师xxxx88免费视频-日本久久综合网 | 国产一区二区三区四区五区加勒比-国产一区二区三区四区五区六区-国产一区二区三区四区五在线观看-国产一区二区三区无码A片-国产一区二区三区-国产一区二区三区亚洲欧美 | 亚洲色图网站-亚洲色图图片专区-亚洲色图图片区-亚洲色图图片-精品久久久中文字幕一区-精品久久久中文字幕二区 | 久久这里只有精品国产99-久久这里只有精品2-久久这里只有精品1-久久这里只精品热在线99-在线少女漫画-在线涩涩免费观看国产精品 国产精选一区二区-国产精选一区-国产精选污视频在线观看-国产精选91热在线观看-特级黄色视频毛片-特级黄色免费片 |