999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于正則表達式的譯碼方法研究

2022-09-02 03:23:46趙慶志王宏甲王嘉琦
制造業自動化 2022年8期
關鍵詞:定義

劉 洋,趙慶志,王宏甲,王嘉琦

(山東理工大學 機械工程學院,淄博 255000)

0 引言

數控加工是現在使用較為廣泛的一種自動化加工方式,數控系統作為數控加工設備的核心部分,起到了存儲、計算、控制的作用,通過數字、字母、符號組成的標準代碼對數控設備進行驅動,在數控系統中,譯碼模塊是傳遞加工信息的核心部分,是人與數控設備交流的媒介[1~3]。所以高效而準確的譯碼模塊是數控系統的必備部分。

逐字比較法在傳統數控系統中的應用較為廣泛,基于逐字比較法的譯碼模塊開發代碼行數較多,且代碼繁瑣,對于多種類組合線段的加工軌跡加工效率較低。現階段對于基于正則表達式的譯碼方法開發仍有很大的完善空間。

QT是一個基于C++的跨平臺圖形用戶界面程序開發框架,本文采用C++作為編程語言,基于QT平臺,通過Qstring類對NC代碼進行定義,QregularExpression類對NC代碼進行詞語法匹配,結合正則表達式類對NC代碼的譯碼模塊進行優化設計,實現高效準確的譯碼模塊開發。

1 正則表達式

1.1 正則表達式簡介

正則表達式又稱為規則表達式,可預先將普通字符串以及特殊字符進行組合完成一組邏輯公式,根據組合完成的邏輯公式可以對Qstring類數據進行分析處理,判斷輸入的字符串數據是否符合預先設定的表達式的特征,然后對接收字符串數據進行查找、匹配、替換、分割等操作。正則表達式高效的檢索效率非常適合對已經規范的NC代碼進行分析和處理,可在QT平臺基于正則表達式類開發數控系統的譯碼模塊[4,5]。

1.2 正則表達式基本語法規則

正則表達式的字符分為普通字符和特殊字符,特殊字符又稱為元字符,主要使用元字符對字符串模板進行設置。

Perl語言是在unix環境下運行的一種編程語言,Perl對字符有著很強的處理能力,通用表達式、量詞、斷言等是Perl語言的元字符的主要組成部分,通用表達式的作用是對有特殊意義的字符進行表達,量詞對通用表達式的表達次數進行記錄,文本的聲明則需要斷言來進行。正則表達式的元字符和其對應的功能如表1所示。

表1 常用正則表達式元字符功能說明

1.3 正則表達式在QT中的實現

譯碼模塊開發環境選擇QT5.7社區版,此版本封裝的QregularExpression類以Perl語言的正則表達為基礎,優化且兼容Perl的正則表達式。

定義的QregularExpression類包括模式選項和模式字符串,兩者構成它的正則表達式。模式字符串通過給構造函數賦值定義正則表達式的格式,配合模式選項可以進一步更改模式字符串的代表含義。

完成正則表達式的類定義后,QregularExpression內的匹配函數match()返回數據類型仍然為QregularExpression類。反回類內封裝了hasMatch()函數可以判斷正則表達式的匹配情況,hasMatch()函數反回數據類型內封裝了capture()函數,capture()反回的數據類型最終為QString字符串。例如若捕捉字符X即函數可賦值capture(”X”),即為按照定義的正則表達式匹配后捕獲的字符串。

以此為根據,可以根據設定的正則表達式來匹配捕獲NC代碼中的坐標信息,可以通過正則表達式來對坐標字符串X?Y?內的坐標信息進行提取且匹配到X以及Y軸方向。編寫的捕獲實驗程序如圖1所示:

圖1 正則表達式示例程序

2 譯碼模塊的總體框架設計

譯碼模塊需要從標準的NC代碼中提取加工信息,包括加工軌跡線段類型、主軸轉速、進給速度、加工坐標等[6~8]。NC代碼預先寫到txt的文本中,通過編寫的上位機對txt文件進行訪問,經過正則表達式對文件內容中的有用加工信息匹配和提取,譯碼流程如圖2所示:

圖2 譯碼模塊流程圖

3 譯碼模塊的功能設計

3.1 代碼預處理

NC代碼主要包括標準G代碼和M代碼,同時較為常用的有刀具功能T、進給速度F、以及主軸轉速S和坐標XYZ[9,10]。譯碼模塊將對以上的字母和數字組合而成的NC代碼進行處理分析并且提取信息,定義的NC代碼編寫以FANUC數控系統的代碼格式為標準。

當上位機載入NC代碼文件后,開始逐行對內容進行讀取,去除文件中的無用信息,調用正則類中的preprocess()函數,此函數的形參為Qstring類,可對應上位機識別代碼文件后創建生成的字符串類。

對于空格以及換行符的去除,調用Qsting::remove()函數可直接完成。正則表達式QregularExpression類則用來去除注釋,由于注釋一般用“\”來與代碼內容進行分隔,因此用來匹配的正則表達式為QregularExpression char_reg(“\.*”)。

“.”作為正則表達式中的元字符可匹配任意字符,“*”表示可多次匹配前導字符,通過此正則表達式可以完成對注釋內容的過濾。

3.2 代碼詞語法分析

完成NC代碼的預處理后,接下來的詞法分析的作用是對NC代碼的指令字母與坐標字母后的參數組合進行分析,判斷加工代碼中的組合是否符合規范標準,然后在操作界面上做出反饋。舉例與代碼行數字母N匹配的正則表達式如下所示,可對NC代碼行數N進行詞法分析匹配。

其它參數字母的正則表達式可按此方法定義。

當NC代碼中的字母全部為合法字符后,下一步需要匹配其語法是否符合規范。NC代碼的語法匹配就是確保指令G代碼以及功能M代碼不重復或者錯序出現,防止加工順序產生沖突[11~13],當檢測出錯誤時也可以產生反饋,語法匹配的流程圖如圖3所示:

圖3 語法匹配流程圖

本課題在應對語法匹配時對每一行代碼通過正則表達式進行匹配,保證單行代碼中的指令代碼和輔助代碼只出現一次,提取代碼數據采用匹配刪除法,以G代碼為例利用G代碼的正則表達式對指令代碼進行提取儲存后刪除匹配過的代碼,同時對創建的全局變量賦值,防止數據的重復定義。

4 譯碼模塊的實際加工測試

4.1 基于QT的上位機開發

譯碼模塊和整個數控系統的開發平臺都為QT5,譯碼模塊編寫完成后檢測其是否可以正確識別NC代碼,在開發的上位機中加入了圖形仿真模塊可以直接顯示譯碼后的加工路徑,通過對加工路徑的模擬判斷譯碼是否成功。NC代碼和模擬加工路徑仿真結果如圖4所示。

圖4 上位機界面仿真

4.2 基于STM32的下位機開發

將PC機作為上位機,下位機的控制板選擇基于ARM架構的STM32F4系列單片機。運行通過POWERMILL軟件生成的組合線段的加工代碼來進行測試實驗。加工軌跡是直線和圓、雙曲線、拋物線的組合線段,加工效果如圖5所示。

圖5 加工測試

在加工過程中,雕刻機運行較為平穩,沒有明顯的震動,雕刻加工軌跡平滑,實驗表明,本文提出的基于正則表達式的譯碼方式在QT平臺上可行。

5 結語

本課題實現了基于正則表達式的譯碼模塊在QT5平臺上的開發,同時在QT5平臺開發了數控系統進行實際的加工測試,實驗結果表明,QT5的正則表達式QregularExpression類開發的譯碼模塊效率和精度較好,可以用作譯碼模塊的開發。

猜你喜歡
定義
以愛之名,定義成長
活用定義巧解統計概率解答題
例談橢圓的定義及其應用
題在書外 根在書中——圓錐曲線第三定義在教材和高考中的滲透
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
嚴昊:不定義終點 一直在路上
華人時刊(2020年13期)2020-09-25 08:21:32
定義“風格”
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
有壹手——重新定義快修連鎖
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 国产成人精品第一区二区| 欧美日韩高清在线| 少妇高潮惨叫久久久久久| 久久动漫精品| 亚洲中文无码av永久伊人| 亚洲欧美国产高清va在线播放| 国产网站一区二区三区| 青青青国产视频手机| 国产成人永久免费视频| 国产av无码日韩av无码网站| 亚洲日本韩在线观看| 91精品国产综合久久不国产大片| 国产呦视频免费视频在线观看| 五月婷婷中文字幕| 97视频在线观看免费视频| 人妻少妇乱子伦精品无码专区毛片| 日韩色图区| 四虎AV麻豆| 成人免费视频一区二区三区| 亚洲欧美日韩精品专区| 亚洲人人视频| 欧美va亚洲va香蕉在线| 就去色综合| 精品少妇人妻无码久久| 久久精品免费国产大片| 国产性精品| 国产尤物视频在线| 97亚洲色综久久精品| 欧美国产综合色视频| 久久99国产视频| 欧美精品1区| 九色91在线视频| 老色鬼久久亚洲AV综合| 亚洲天堂视频在线观看| 日本亚洲最大的色成网站www| 成人免费一区二区三区| 亚洲美女一区| 亚洲黄色高清| 久久免费看片| 亚洲成人精品在线| 伊人色在线视频| 亚洲欧洲日韩久久狠狠爱| 日韩无码视频播放| 国产成人av一区二区三区| 在线观看网站国产| 午夜精品福利影院| 免费观看成人久久网免费观看| 国产精品无码AV片在线观看播放| 国产麻豆91网在线看| 国产尤物在线播放| 亚洲色无码专线精品观看| 国产成人综合亚洲网址| 欧美午夜在线观看| 久久久久久久久久国产精品| 欧洲亚洲欧美国产日本高清| 国产欧美成人不卡视频| 就去色综合| 91欧美亚洲国产五月天| 欧美成人影院亚洲综合图| 在线观看国产网址你懂的| 色综合成人| 色综合久久综合网| 精品国产免费观看| 亚洲一区二区成人| 日韩无码黄色| 欧美日韩中文国产| 亚洲美女一区| 天天躁夜夜躁狠狠躁躁88| 91人妻在线视频| 精品成人一区二区三区电影 | 亚洲伦理一区二区| av色爱 天堂网| 国产精品久久久久婷婷五月| 欧美日韩亚洲综合在线观看| 成人一级黄色毛片| 国产麻豆精品手机在线观看| 国产成人福利在线视老湿机| 亚洲VA中文字幕| 97在线观看视频免费| 亚洲婷婷六月| 一本一本大道香蕉久在线播放| 成人无码区免费视频网站蜜臀|