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

ABB25年11月
關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
工業(yè)智能邊緣計(jì)算2025年會(huì)
2025工業(yè)安全大會(huì)
CAIAC 2025
OICT公益講堂
當(dāng)前位置:首頁 >> 案例 >> 案例首頁

案例頻道

數(shù)控系統(tǒng)G代碼解釋器的設(shè)計(jì)與實(shí)現(xiàn)
  • 企業(yè):控制網(wǎng)     領(lǐng)域:電氣聯(lián)接     行業(yè):倉儲(chǔ)    
  • 點(diǎn)擊數(shù):9113     發(fā)布時(shí)間:2006-07-22 20:40:57
  • 分享到:
分析了數(shù)控G代碼的特點(diǎn),并實(shí)現(xiàn)了數(shù)控G代碼解釋器,經(jīng)過實(shí)踐檢驗(yàn)可以用于實(shí)際加工和圖形仿真。



0 
引言:

  
數(shù)控機(jī)床可以保證產(chǎn)品達(dá)到很高的精度和穩(wěn)定的加工質(zhì)量,生產(chǎn)效率高,準(zhǔn)備周期短。可以大大節(jié)省專用工藝設(shè)備,適應(yīng)產(chǎn)品快速更新?lián)Q代的要求,已經(jīng)得到廣泛的應(yīng)用。


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


    對程序進(jìn)行譯碼的方式主要由兩種:編譯和解釋,編譯系統(tǒng)速度快,結(jié)構(gòu)復(fù)雜;解釋系統(tǒng)速度慢,結(jié)構(gòu)簡單。目前,絕大多數(shù)的數(shù)控系統(tǒng)都采用解釋方式對數(shù)控加工程序進(jìn)行譯碼。因?yàn)閿?shù)控系統(tǒng)雖然是一個(gè)對系統(tǒng)的實(shí)時(shí)性要求比較高的應(yīng)用程序,但其主要的實(shí)時(shí)性任務(wù)是插補(bǔ)及位置控制,譯碼并不需要非常快的速度,盡管越快越好。考慮到解釋程序結(jié)構(gòu)簡單,且足夠滿足系統(tǒng)需要,本系統(tǒng)采用解釋的方式進(jìn)行譯碼,相應(yīng)的程序稱為G代碼解釋器。


1 數(shù)控加工程序的組成和特點(diǎn)


1
1 數(shù)控程序的組成

   
國際標(biāo)準(zhǔn)化組織制定了字地址程序段格式ISO-6983-1-1982標(biāo)準(zhǔn),其形式如下:

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

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


1
2 數(shù)控程序的特點(diǎn)

   
分析數(shù)控程序的組成,可知數(shù)控程序如下的一些結(jié)構(gòu)特點(diǎn):


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


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


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


(4)
在同一個(gè)程序段內(nèi),同一個(gè)字不能重復(fù)出現(xiàn)

 

 
依據(jù)ISO的標(biāo)準(zhǔn)的G代碼,經(jīng)分析后可以總結(jié)出G代碼的文法和語法特點(diǎn)


(1)
數(shù)控程序段為典型的上下文無關(guān)文法,即語法單位可完全獨(dú)立于其可能出現(xiàn)的環(huán)境。


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


2 數(shù)控程序解釋器的功能


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

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

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

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


    (2)數(shù)據(jù)格式轉(zhuǎn)換:

    
讀入程序行,提取運(yùn)動(dòng)信息,將所有的程序行轉(zhuǎn)化為機(jī)床運(yùn)動(dòng)的坐標(biāo)信息和機(jī)床輔助功能指令


    (3)處理變量表達(dá)式:

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


    (4)控制結(jié)構(gòu)處理:

    
解釋器可以根據(jù)用戶設(shè)定的具體條件來選擇合適的執(zhí)行路徑以實(shí)現(xiàn)預(yù)定的控制邏輯。


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


     子程序和宏程序的實(shí)現(xiàn)可以方便用戶重用程序,提高效率。


3 數(shù)控程序解釋器的實(shí)現(xiàn)

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


    NC信息的結(jié)構(gòu)如下:

struct Dot

{  

    int       command;     //G代碼命令

    int       LineNumber;  //代碼行號(hào)

    int       MyLineNumber;//解釋行號(hào)

int       assitantcode;//輔助功能字

double    XPosition;   //相對于機(jī)械坐標(biāo)原點(diǎn)的X軸絕對位置

    double    YPosition;   //相對于機(jī)械坐標(biāo)原點(diǎn)的Y軸絕對位置

    double    ZPosition;   //相對于機(jī)械坐標(biāo)原點(diǎn)的Z軸絕對位置

double    OXPosition;  //原始X軸位置

    double    OYPosition;  //原始Y軸位置

    double    OZPosition;  //原始Z軸位置

 

double    DXPosition;   //兩點(diǎn)的X軸相對位置

    double    DYPosition;   //兩點(diǎn)的Y軸相對位置

    double    DZPosition;   //兩點(diǎn)的Z軸相對位置

double    IPosition;   //圓弧插補(bǔ)時(shí)的I值

    double    JPosition;   //圓弧插補(bǔ)時(shí)的J值

    double    KPosition;   //圓弧插補(bǔ)時(shí)的K值

double    angle;       //圓弧插補(bǔ)時(shí)的角度值

    double    radius ;     //圓弧插補(bǔ)半徑

. . . . . .

 

    double    advancespeed; //進(jìn)給速度

    double    rotatespeed;  //主軸轉(zhuǎn)速

    BYTE      byMoveAxis;   //移動(dòng)軸

};

    
另外對于子程序,它被主程序調(diào)用,執(zhí)行結(jié)束后回到主程序中指定的位置,且子程序又可以調(diào)用自身或其它子程序,當(dāng)每次完成子程序后,它又得回到相應(yīng)的主程序中,其先進(jìn)后出的特點(diǎn),可以用棧來實(shí)現(xiàn),因此在其被調(diào)用時(shí)建立一個(gè)子程序棧,其數(shù)據(jù)結(jié)構(gòu):

struct programme

{

int     name;    /子程序名

int     beginaddress /子程序的起始地址

int     endaddress   /子程序的返回地址

int     loop         /子程序的執(zhí)行次數(shù)

};



其具體解釋過程如下:

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


(2)
執(zhí)行語法檢查,詞法檢查和邏輯結(jié)構(gòu)檢查。
 
 對依次讀入的每一程序行,與G代碼的詞法規(guī)則,語法規(guī)則,邏輯結(jié)構(gòu)進(jìn)行比較檢查。


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

   
(3)從有效的字符段中提取相應(yīng)命令和數(shù)據(jù)。

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

   
(4)執(zhí)行語義分析,將所有命令轉(zhuǎn)化為圓弧和直線插補(bǔ)。

   
讀入Dot類對象的數(shù)組,將所有的非圓弧和直線插補(bǔ)的動(dòng)作指令轉(zhuǎn)化為圓弧和直線插補(bǔ),其中的回參考點(diǎn)指令,固定循環(huán)等。如固定循環(huán),就是一系列圓弧插補(bǔ)和直線插補(bǔ)的組合,根據(jù)其指令中的參數(shù),完全可以計(jì)算出轉(zhuǎn)化為直線插補(bǔ)時(shí)的每一步的進(jìn)給量和圓弧插補(bǔ)的參數(shù)。

   
在最后所得到的一系列的類對象數(shù)組中,所有的動(dòng)作命令全部都已轉(zhuǎn)化為圓弧插補(bǔ)和直線插補(bǔ)這兩種指令,所有的功能指令也都存放在相應(yīng)的標(biāo)志位中,所有的X,Y,Z的坐標(biāo)都已轉(zhuǎn)化為相對于機(jī)械坐標(biāo)原點(diǎn)的值。


    總而言之,整個(gè)G代碼解釋的過程就是通過詞法檢查,語發(fā)檢查,邏輯檢查,然后提取命令和數(shù)據(jù)。最后是對具體命令進(jìn)一步解釋為圓弧和直線插補(bǔ)指令。



4 實(shí)際加工和仿真


    筆者用Visual C++ 6.0 語言在windows平臺(tái)下開發(fā)了一套與運(yùn)動(dòng)控制卡相配套的數(shù)控雕刻軟件.已經(jīng)基本實(shí)現(xiàn)數(shù)控軟件的基本功能,同時(shí)通過實(shí)際加工和圖形仿真,充分驗(yàn)證了G代

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

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

 

圖3為實(shí)際加工飛機(jī)的圖像。


圖4為仿真圖像和整個(gè)軟件界面:                 


5 結(jié)論


    本文分析了G代碼的形式,結(jié)構(gòu)和特點(diǎn),設(shè)計(jì)和實(shí)現(xiàn)了G代碼解釋器,并經(jīng)過實(shí)踐證明,代碼解釋器實(shí)現(xiàn)了對數(shù)控機(jī)床各種指令和功能的正確解釋,完全可以用于計(jì)算機(jī)實(shí)際加工和仿真。


參考文獻(xiàn):

【1】王愛玲 沈興全 吳淑琴 彭彬彬 編著 現(xiàn)代數(shù)控編程技術(shù)和應(yīng)用 國防工業(yè)出版社

【2】   邁克 馬特森 CNC編程原理與應(yīng)用  機(jī)械工業(yè)出版社

【3】   Kenneth Louden 編譯原理技術(shù)與實(shí)踐 機(jī)械工業(yè)出版社

熱點(diǎn)新聞

推薦產(chǎn)品

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



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
免费一级生活片| 精品视频在线观看一区二区| 日日日夜夜操| 久久国产一区二区| 久久精品人人做人人爽97| 亚洲第一页乱| 亚飞与亚基在线观看| 你懂的福利视频| 日本在线www| 日本在线不卡视频| 午夜在线亚洲男人午在线| 精品视频在线观看视频免费视频| 国产麻豆精品高清在线播放| 天天做日日爱夜夜爽| 99久久精品国产麻豆| 日韩免费在线观看视频| 国产成人精品综合在线| 国产a视频| 欧美激情伊人| 日本特黄特黄aaaaa大片| 日日日夜夜操| 久久国产精品永久免费网站| 国产一区免费观看| 久久成人性色生活片| 成人免费一级毛片在线播放视频| 日韩免费在线视频| 99久久网站| 日韩一级黄色| 国产网站免费在线观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 91麻豆精品国产自产在线观看一区| 精品国产一区二区三区国产馆| 久久国产精品自线拍免费| 日韩欧美一及在线播放| 国产91视频网| 九九久久99综合一区二区| 欧美爱色| 国产成人精品一区二区视频| 欧美激情一区二区三区中文字幕| 国产伦久视频免费观看 视频 | a级精品九九九大片免费看| 久草免费在线视频| 免费毛片播放| 精品国产亚洲人成在线| 久久精品免视看国产明星| 精品国产香蕉伊思人在线又爽又黄| 九九精品久久久久久久久| 成人免费观看男女羞羞视频| 国产成a人片在线观看视频| 国产伦久视频免费观看 视频 | 国产一区二区精品| 国产成人啪精品视频免费软件| 天天色成人| 精品视频一区二区三区免费| 成人免费观看的视频黄页| 欧美激情伊人| 免费一级片网站| 国产极品精频在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩一级精品视频在线观看| 日韩欧美一及在线播放| 一级女性大黄生活片免费| 欧美另类videosbestsex高清| 人人干人人草| 国产一区国产二区国产三区| 成人在激情在线视频| 久久国产精品只做精品| 日韩免费在线视频| a级毛片免费全部播放| 亚欧成人乱码一区二区| 免费国产在线观看| 美国一区二区三区| 久久99爰这里有精品国产| 一级女性全黄久久生活片| 91麻豆国产级在线| 午夜激情视频在线播放| 九九免费精品视频| 国产91丝袜在线播放0| 精品国产三级a∨在线观看| 国产高清视频免费观看| 色综合久久天天综合| 亚洲 欧美 91| 人人干人人草| 成人免费观看视频| 九九热精品免费观看| 美国一区二区三区| 色综合久久天天综合观看| 成人av在线播放| 沈樵在线观看福利| 精品国产香蕉伊思人在线又爽又黄| 中文字幕97| 国产国语在线播放视频| 精品视频免费在线| 尤物视频网站在线观看| 欧美一级视频免费观看| 精品久久久久久综合网| a级精品九九九大片免费看| 精品国产一区二区三区国产馆| 国产网站在线| 日日夜夜婷婷| 国产91精品一区| 国产成人精品影视| 国产一区二区精品久久91| 欧美激情一区二区三区在线播放| 欧美爱爱动态| 国产高清在线精品一区二区| 青青青草影院| 国产91精品一区| 日韩免费在线视频| 亚洲天堂免费观看| 可以免费在线看黄的网站| 青青久热| 成人免费一级纶理片| 九九久久国产精品| 国产伦精品一区三区视频| 黄视频网站在线看| 欧美激情一区二区三区视频高清| 成人在激情在线视频| 国产高清在线精品一区二区| 欧美a级成人淫片免费看| 日韩在线观看视频黄| 精品视频在线观看一区二区| 国产一区二区精品久久| 成人影院一区二区三区| 日日夜夜婷婷| 久久99青青久久99久久| 一级女性全黄久久生活片| 天天色成人| 成人免费网站视频ww| 国产高清在线精品一区二区 | 欧美日本免费| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 99久久精品国产高清一区二区 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产不卡高清在线观看视频| 欧美a级大片| 精品视频免费观看| 国产成a人片在线观看视频| 日本在线www| 精品视频在线观看一区二区三区| 精品毛片视频| 成人在激情在线视频| 国产成人精品在线| 国产视频网站在线观看| 国产高清视频免费观看| 精品久久久久久免费影院| 国产欧美精品| 麻豆系列国产剧在线观看| 国产麻豆精品hdvideoss| 一级女人毛片人一女人| 精品国产香蕉伊思人在线又爽又黄| 美女被草网站| 一本高清在线| 日本特黄一级| 国产91素人搭讪系列天堂| 国产高清视频免费观看| 日韩在线观看视频网站| 亚飞与亚基在线观看| 午夜精品国产自在现线拍| 成人免费观看的视频黄页| 国产伦精品一区二区三区无广告| 黄色免费网站在线| 国产一区二区精品久| 天天色色色| 日本在线不卡免费视频一区| 二级特黄绝大片免费视频大片| 日日夜夜婷婷| 韩国妈妈的朋友在线播放| 深夜做爰性大片中文| 精品美女| 亚州视频一区二区| 日本伦理网站| 美女免费毛片| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 91麻豆tv| 精品国产一区二区三区久久久蜜臀| 精品国产亚一区二区三区| 青青青草影院 | 国产视频在线免费观看| 欧美18性精品| 美女免费精品高清毛片在线视| 日本免费看视频| 日本在线不卡视频| 精品国产亚洲人成在线| 亚洲天堂在线播放| 九九免费精品视频| 亚欧视频在线| 国产网站在线| 国产韩国精品一区二区三区| 亚欧视频在线| 国产一区二区精品尤物| 国产视频在线免费观看| 四虎影视久久| 欧美激情一区二区三区视频高清| 一级片片| 日韩专区亚洲综合久久| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩男人天堂| 日本在线www| 四虎影视久久|