七七国产精品_看黄色录像一级片_久久频这里精品99香蕉久_午夜福利无码在线观看视频,跪求黄色网址,2020无码日韩,亚洲高清老牛影视,最新人妻,久久三级片免费视频,91黄片视频,国产95精品视频

海天精工機(jī)床有限公司 海天精工博客

NC代碼編譯器的技術(shù)基礎(chǔ)、結(jié)構(gòu)、研究與設(shè)計(jì)

0  引言精工 NC代碼驅(qū)動(dòng)機(jī)床運(yùn)動(dòng)實(shí)現(xiàn)加工的自動(dòng)化 ,能夠大大提高加工性能,。但不正確的 NC代碼會(huì)造成過(guò)切或欠切加工出廢品 ,也可能發(fā)生零件與刀具,、 刀具與夾具、 刀具與工作臺(tái)之間的干涉碰撞 ,這顯然十分危險(xiǎn),。因此 ,迫切需要一種虛擬的仿真加工平臺(tái)來(lái)檢驗(yàn) NC代碼的正確性 ,NC代碼編譯器是組成精工虛擬仿真平臺(tái)的核心部分之一,。國(guó)內(nèi)外的 NC代碼翻譯技術(shù)已經(jīng)比較成熟[ 1, 2 ]。針對(duì)精工代碼標(biāo)準(zhǔn)的多樣性 ,文獻(xiàn) [ 3 ]中提出獨(dú)立的“NC代碼規(guī)則庫(kù) ” 和“處理引擎 ” 的概念 ,并通過(guò) TCL ( Tool CommandLanguage)來(lái)實(shí)現(xiàn) EBNF定義的 NC程序語(yǔ)法規(guī)則 ,提高了 NC代碼編譯器的通用性[ 4 ],。本系統(tǒng)采用高級(jí)語(yǔ)言 Java開(kāi)發(fā) ,具有良好的平臺(tái)無(wú)關(guān)性 ,通過(guò) EBNF定義 NC程序語(yǔ)法規(guī)則 ,并以 ANT LR為底層分析工具 ,開(kāi)發(fā)出一個(gè)通用性,、 開(kāi)放性強(qiáng) ,效率高的 NC代碼編譯器。1 NC代碼編譯器的技術(shù)基礎(chǔ)1 . 1  精工程序的組成及特點(diǎn)一個(gè)完整的精工加工程序由若干程序段組成 ,而精工程序段又由若干條精工指令按照一定的結(jié)構(gòu)構(gòu)成,。精工程序結(jié)構(gòu)如圖 1所示,。圖 1中各個(gè)標(biāo)號(hào)的含義如下: 1— 起始符; 2— 程序名; 3—程序主體; 4— 程序結(jié)束語(yǔ); 5— 功能字; 6— 程序段,。目前精工程序段常采用字地址程序段格式 ,上述功能代碼 G、 M,、 S即為“ 字地址 ” ,。每個(gè)“ 字 ” 由“ 字地址 ” 和其后面的數(shù)字 (有的帶有符號(hào) )組成。G,、 M及 F,、 S、 T指令描述精工機(jī)床的運(yùn)動(dòng)方式,、 加工類型,、 主軸狀態(tài)、 冷卻液的開(kāi)關(guān),、 進(jìn)給速率,、 主軸轉(zhuǎn)速的設(shè)置和刀具的選擇等。X,、 Y,、 Z、I,、 J,、 K為坐標(biāo)指令字 ,分別描述刀心位置及加工軌跡中圓弧的圓心坐標(biāo)等。精工程序段為典型的上下文無(wú)關(guān)文法 ,而且語(yǔ)法規(guī)則簡(jiǎn)單,、 數(shù)量較少 ,可以通過(guò) EBNF定義其語(yǔ)法規(guī)則,。1 . 2 ANT LR技術(shù)簡(jiǎn)介ANT LR[ 5 ]能夠簡(jiǎn)化編譯器的構(gòu)建。ANT LR是 LL ( k)文法的語(yǔ)法分析器生成器 ,其生成的目標(biāo)程序非常直觀且易于調(diào)試 ,文法表述能力相對(duì)強(qiáng)于 LEX/YACC,。ANT LR通過(guò)讓用戶自定義詞法分析器和語(yǔ)法分析器的規(guī)則 ,來(lái)生成相應(yīng)詞法分析器和語(yǔ)法分析器的程序,。利用生成的詞法分析器 ,先將輸入的字符流轉(zhuǎn)換成由短語(yǔ)組成的流 ,再作為語(yǔ)法分析器的輸入 ,從而得出最終的結(jié)果 — — — 語(yǔ)法樹(shù)。有了語(yǔ)法樹(shù)便可以根據(jù)實(shí)際的應(yīng)用要求求得執(zhí)行結(jié)果,。生成的分析器是以類的形式出現(xiàn) (一個(gè)分析器就是一個(gè)類 ,所有功能都封裝在類中 ) ,能方便地嵌入到應(yīng)用程序中,。ANT LR總體框架如圖 2所示。在使用 Antlr時(shí) ,要先創(chuàng)建一個(gè)稱為語(yǔ)法文件的文本文件 (. g文件 ) , 將自定義的詞法分析器和語(yǔ)法分析器的規(guī)則全部寫(xiě)在里面,。Antlr就是通過(guò)讀取分析語(yǔ)法文件中的規(guī)則來(lái)生成詞法分析器與語(yǔ)法分析器的,。Antlr語(yǔ)法文件的工作過(guò)程如下:首先 ,定義詞法分析器 Lexer類 ,在類中定義各種 Token;然后 ,定義語(yǔ)法分析器Parser類 ,在類中使用 EBNF語(yǔ)法 ,遞歸定義各種句子 , Parser類負(fù)責(zé)把讀入的 Token串匹配成句子 ,翻譯出 AST(抽象語(yǔ)法樹(shù) ) ;最后 ,定義用于處理 AST的 TreeParser類 ,根據(jù) Parser類分析出來(lái)的 AST(抽象語(yǔ)法樹(shù) )進(jìn)行動(dòng)作。Antlr語(yǔ)法文件具體組成部分及規(guī)則解析參見(jiàn)文獻(xiàn) [ 6 ],。2 NC代碼編譯器體系結(jié)構(gòu)NC代碼編譯器的首要作業(yè)歸納起來(lái)有兩個(gè):檢錯(cuò)和翻譯,。檢錯(cuò),即依照該精工系統(tǒng)的編程規(guī)則和有關(guān)精工加工的知識(shí),對(duì)NC代碼進(jìn)行詞法剖析、 語(yǔ)法剖析,、 語(yǔ)義剖析,然后檢查出該NC代碼的詞法過(guò)錯(cuò),、 語(yǔ)法過(guò)錯(cuò)、 邏輯過(guò)錯(cuò)(其間包含數(shù)據(jù)不合理,加工狀況不合理等),。通過(guò)檢錯(cuò)期間,若NC代碼未被查出過(guò)錯(cuò),則進(jìn)入翻譯期間,。翻譯,即從NC代碼中提取操控機(jī)床部件運(yùn)動(dòng)的有關(guān)指令動(dòng)作和狀況信息,將運(yùn)動(dòng)的數(shù)據(jù)依照位移和速度的改變劃分紅一系列時(shí)刻片段[ 7 ],計(jì)算出各時(shí)刻片段的機(jī)床各坐標(biāo)的位移,如:各種零件輪廓信息(起點(diǎn),、 結(jié)尾、 直線或圓弧等),、 加工速度信息( F代碼)和其他輔助信息(M, S, T代碼等)等,然后驅(qū)動(dòng)機(jī)床模型的運(yùn)動(dòng),完成NC代碼驅(qū)動(dòng)的加工進(jìn)程仿真,。根據(jù)以上對(duì) NC代碼編譯器主要工作的分析 ,設(shè)計(jì)本系統(tǒng)體系結(jié)構(gòu)如圖 2所示。3 NC代碼編譯器的研究與設(shè)計(jì)根據(jù)面向?qū)ο蟮能浖O(shè)計(jì)方法 ,該編譯器可細(xì)分為詞法分析,、 語(yǔ)法與語(yǔ)義分析,、 信息提取三個(gè)模塊。3 . 1  詞法分析模塊詞法分析的主要功能是將輸入的 NC程序由字符串序列分解為單詞序列[8 ],。詞法分析的任務(wù)包括兩個(gè)方面:檢查精工程序內(nèi)是否有非法字符;對(duì)精工程序的源代碼進(jìn)行格式整理,。精工程序中出現(xiàn)非法字符主要指以下兩種情況:第一種情況為含有系統(tǒng)無(wú)法識(shí)別的字符。在本編譯系統(tǒng)中 ,系統(tǒng)可識(shí)別的字符集為 { G, X, Y, Z, H, D, F, O, N, I , J, K,M, S, T,R. , ; , % } ,阿拉伯?dāng)?shù)字 0~99,若精工程序內(nèi)出現(xiàn)“A” 等字符集所不包含的字符時(shí) ,則認(rèn)為精工程序含有非法字符,。第二種情況是由系統(tǒng)可識(shí)別字符集組成的系統(tǒng)無(wú)法識(shí)別的字符串,。這種錯(cuò)誤一般是由于用戶的誤操作造成的 ,包括以下兩種: 1)沒(méi)有相應(yīng)的精工功能與字符串相匹配 ,如“7100” ,“M890” ,“MFO 1” 等均屬于這種情況; 2)數(shù)值格式輸入有誤 ,如 150正確的表達(dá)應(yīng)為“150 . ” ,但若用戶在中間輸入空格則變成“1 5 0 . ” ,這種情況在本編譯系統(tǒng)中也被視為是數(shù)值格式輸入錯(cuò)誤的一種。對(duì)精工程序的源代碼進(jìn)行格式整理的主要任務(wù)是刪除精工程序中的空白字符,、 回車符,、 程序注釋等非加工信息字符 ,并將精工程序轉(zhuǎn)換成便于代碼編譯程序進(jìn)行處理的內(nèi)部格式。在 ANT LR定義的. g語(yǔ)法文件中通過(guò)下面的代碼來(lái)實(shí)現(xiàn)詞法分析器的功能,。ANT LR中 的 規(guī) 則 分 為 公 有 型 ( public ) 和 保 護(hù) 型(p r otected)兩類。上述 D IGIT規(guī)則定義了一個(gè)數(shù)字 ,其為p r otected類型 ,該規(guī)則不能單獨(dú)使用 ,只能嵌套到其他規(guī)則中,。該規(guī)則被 NUMER I C規(guī)則調(diào)用 ,定義任意整數(shù),。WS規(guī)則中的“ $setType ( Token . SKIP) ” 是代碼調(diào)用一個(gè) ANT LR的內(nèi)置函數(shù) ,告訴詞法分析器 ,前面定義的這四種字符都一律跳過(guò)。完成該文件后 ,運(yùn)行 ANT LR便可以生成相應(yīng)的詞法分析器 ,然后通過(guò)以下的循環(huán)可以依次將 NC文件的短語(yǔ)讀出來(lái),。3 . 2  語(yǔ)法分析和語(yǔ)義分析模塊精工語(yǔ)法分析模塊的任務(wù)是在詞法分析基礎(chǔ)上將精工加通過(guò)線程及 Java 3D 對(duì)動(dòng)畫(huà)效果,、 交互式操作、 形體組合,、復(fù)雜的應(yīng)用程序的支持等來(lái)實(shí)現(xiàn)仿真 (模型顯示于界面右部 ) ,并可通過(guò)按鈕和菜單對(duì)仿真的過(guò)程進(jìn)行控制,。圖 6為系統(tǒng)運(yùn)行實(shí)例。本文由海天精工文章整理發(fā)表,,文章來(lái)自網(wǎng)絡(luò)僅參考學(xué)習(xí),,本站不承擔(dān)任何法律責(zé)任。http://sweetieny.cn加工中心專業(yè)制造
留言列表
發(fā)表留言
◎歡迎參與討論,,請(qǐng)?jiān)谶@里發(fā)表您的看法,、交流您的觀點(diǎn)。