在线观看日产精品_成人性生交大片免费看中文网站_神马影院午夜我不卡_亚洲国产精品久久久久久

中文核心期刊咨詢網(wǎng)權威的中英文核心期刊目錄大全,最新2023中文核心期刊目錄查詢,英文論文期刊發(fā)表學術咨詢服務。
中文核心期刊咨詢網(wǎng)

數(shù)控仿真軟件中數(shù)控程序如何糾錯

作者: 中文核心期刊2018-09-11閱讀:文章來源:中文核心期刊咨詢網(wǎng)

  針對數(shù)控仿真軟件如何為用戶填充的NC代碼提供簡單的語法和詞法糾錯功能,對其進行了簡要介紹和探討,接下來小編簡單介紹一篇優(yōu)秀計算機數(shù)控論文。

軟件世界

  當前數(shù)控仿真軟件主要運用于職業(yè)學校數(shù)控教學以及廣大從事數(shù)控行業(yè)的人員進行自學與提高,其教學功能的重要性不言而喻,那么開發(fā)數(shù)控仿真軟件不僅要具有仿真功能,還需要具有對用戶輸入數(shù)控代碼的簡單糾錯功能,提高用戶

  的學習效率,現(xiàn)將本人開發(fā)軟件時對這部分的設想做一個簡單介紹。

  數(shù)控加工程序以*.cld文本文件的形式存放在硬盤中,讀入內存后才能進行處理。程序打開一個文本文件,使用讀取語句依次讀入一行NC程序到設置的Cstring字符串數(shù)組類的對象中,這個字符串數(shù)組規(guī)定為由10個字符串組成。每行以碰到回車符號為結束。然后把這個字符串數(shù)組對象中的信息進行解釋,并儲存到一個結構體對象中。這里有2種方法處理數(shù)據(jù),一種方法是直接反復循環(huán),直到把文件讀取完畢。整個數(shù)控程序就被讀入到CSrtingList類的對象中了,NC程序的每一行就成為了此對象中的一個元素。然后對整個NC程序進行詞法和語法檢查,譯碼解釋程序成為圖形模擬的計算機程序。但是這種方法對內存的要求比較高,容易使程序運行變慢。而第二種方法是每讀取一行數(shù)控程序就直接進行語法和詞法的檢查。如果出錯就直接報錯,沒有錯誤就繼續(xù)讀取下一行數(shù)控程序。如此循環(huán),直到把程序完成為止。

  1.數(shù)控程序的詞法檢查

  數(shù)控程序詞法檢查時以一個程序段為解釋單位,一次解釋一個程序段。首先,數(shù)控程序都是按照嚴格的格式書寫的,每個G代碼、M代碼、F代碼、S代碼、T代碼都有嚴格的書寫格式。這里做的第一步就是檢查程序的格式是否正確,采取的方法是在檢查類中為每一個G代碼和M代碼都定義一個嚴格的格式規(guī)則。G00的格式是G00X…Z….就規(guī)定G00后面一定要跟上X和其后的數(shù)值以及Z和其后的數(shù)值,G01的格式是G01X…Z….F…就規(guī)定G01后面一定要跟上X和其后的數(shù)值以及Z和其后的數(shù)值還有F地址字和其后的數(shù)值。G02/G03的格式是G02(G03)X…Z….R…就規(guī)定G00后面一定要跟上X和其后的數(shù)值以及Z和其后的數(shù)值和地址字R和其后的數(shù)值。至于其他G代碼規(guī)則也是如此規(guī)定,就不一一詳述,M代碼也一樣比如M03格式為M03S…..。后面一定要跟上S地址字以及其后的數(shù)值。對每一種代碼都作了嚴格規(guī)定后,如果出現(xiàn)上述表中沒有的G代碼或M代碼,程序就會識別錯誤并立即報錯。如果出現(xiàn)了已規(guī)定的代碼而其后的地址數(shù)值不對也報錯。如果沒有檢查出錯誤即進入下一步檢查,下一步驟將檢查我們輸入的錯誤。如在程序中使用了未定義的地址符號“E”,,為此把數(shù)控程序中常用的N、G、M、F、S、T、X、Z等代碼建立了一個字符集庫,依次檢查數(shù)控程序字符字是不是N、M、G、F、S、T、X、Z…..中的一個。如果是就繼續(xù)進行,如果不是,調用報錯函數(shù)報“字符使用錯誤”。所以當我們遇到數(shù)控程序不會用到的代碼字時就會報錯。另外,其實每種數(shù)控程序中大部分代碼其后都跟有數(shù)值,如X100、Z100等等,他們代表該點在此坐標名稱下的坐標值,由于數(shù)控機床所加工的工件大小是有規(guī)定的,刀架的運行也是有一定范圍的。所以對X、Z代碼后的數(shù)值也限定了范圍,如X設置在-10到500之間,Z設置在-300到200之間,如果超出這個范圍,即報“超過機床允許范圍”錯誤。比如我們輸入時把X200輸入成為X-200,把Z-150輸入成為Z1500等等錯誤都可以檢查出來。以上三種檢查方法可以發(fā)現(xiàn)我們大部分的因粗心而出現(xiàn)的輸寫錯誤。

  2.數(shù)控程序的語法檢查

  語法檢查主要檢查數(shù)控代碼語法是否符合規(guī)則。數(shù)控代碼中主要有以下幾方面的語法錯誤:

  2.1.我們把具有相近類型的G代碼分成一個組,比如G00、G01、G02、G03、G32就屬于一個組。同組代碼不能在一個程序段中同時出現(xiàn)。所以定義一個方法,該方法讀取一行數(shù)控代碼時如果有2個同組G代碼出現(xiàn)就報錯,M代碼也是一樣,可以實現(xiàn)把剛才定義的方法加上同一行出現(xiàn)2個M代碼時會報錯的功能。在此,先把需要識別的G代碼或M代碼分為幾個組,把不能同時在一行出現(xiàn)的代碼放置在一個組中,識別時如果在一行中出現(xiàn)了2個同組的代碼即系統(tǒng)報錯。

  2.2.G代碼中一般要求字母要大寫,設置檢查程序有識別大小寫功能,如出現(xiàn)小寫字母即報錯。

  2.3.指令的某些參數(shù)必須要明確指定。這里涉及到一些指令的格式問題,比如G00X100Z100代碼,G00后必須有X和Z的坐標值。對于此處,其實和前面的詞法檢查同時進行,在前面設計的詞法檢查代碼格式鏈表中為每個G、M、F、S、T代碼編寫好詳細的代碼規(guī)則,識別時會判別這些規(guī)則,出現(xiàn)和規(guī)則不同的情況即程序報錯。

  2.4.程序開始有程序開始字符,結束有程序結束字符。檢查程序時最先檢查的就是程序是否由%開頭,如果有則繼續(xù)向下檢查,如果沒有則系統(tǒng)報錯“請輸入程序名稱”。整個程序識別到M30或M02指令時,先不做響應,繼續(xù)識別下一程序段。如果下一段為空則在對話框中輸出“程序檢查完畢”,如下一段不為空則報“結束符號使用錯誤”。如果識別代碼時沒有碰到M02或M30即碰到為空的程序段,就會報“程序沒有結束符號”。

  由于語法錯誤非常的復雜,本程序只進行這些初步檢查。其他深入的檢查方法將在后續(xù)版本中逐漸實現(xiàn)。希望能對大家有所幫助。

  參考文獻:

  [1]李峰數(shù)控仿真系統(tǒng)譯碼模塊的開發(fā)現(xiàn)代制造工程2004(12)

  [2]郭培全,王紅巖.數(shù)控機床編程與應用.機械工業(yè)出版社.2000

  [3]肖忠躍,周燕輝,劉朝暉數(shù)控車削仿真系統(tǒng)NC程序編譯器的研究與開發(fā)井岡山學院學報第30卷第2期2009年2月

  閱讀期刊:軟件世界

  《軟件世界》(半月刊)創(chuàng)刊于1984年,由中國電子信息產業(yè)發(fā)展研究院、北京中電報科技發(fā)展有限公司主辦。計算機科學技術刊物。旨在推動計算機在我國的應用,推動我國軟件產業(yè)的建立和發(fā)展,促進軟件應用社會化、軟件開發(fā)工程化、軟件成果商品化和軟件經(jīng)營企業(yè)化等方面的工作更好開展。

相關論文

主站蜘蛛池模板: 石阡县| 海丰县| 昭通市| 辉南县| 青海省| 邯郸市| 武胜县| 上杭县| 固原市| 区。| 华宁县| 香港 | 莱西市| 青川县| 武威市| 尚志市| 蓬莱市| 灌阳县| 茶陵县| 临洮县| 尉氏县| 台南县| 石楼县| 开平市| 会同县| 尼勒克县| 航空| 康平县| 搜索| 德州市| 德安县| 阳西县| 伽师县| 胶南市| 海淀区| 哈巴河县| 慈利县| 盐池县| 紫云| 涡阳县| 新野县|