梁子財(cái)
數(shù)控加工G代碼程序仿真驗(yàn)證軟件開(kāi)發(fā)
梁子財(cái)
(華中科技大學(xué) 中歐清潔與可再生能源學(xué)院,湖北 武漢 430074)
利用Qt平臺(tái)與OpenGL庫(kù)開(kāi)發(fā)了一款針對(duì)數(shù)控加工G代碼程序的仿真驗(yàn)證軟件,該軟件能夠根據(jù)加載的G代碼程序自動(dòng)繪制加工圖像,同時(shí)可以檢測(cè)G代碼程序的錯(cuò)誤并標(biāo)記,方便用戶(hù)提前驗(yàn)證G代碼的可行性,減少資源浪費(fèi),縮短開(kāi)發(fā)周期。
Qt;OpenGL;數(shù)控加工G代碼;G代碼程序仿真驗(yàn)證
眾所周知,數(shù)控機(jī)床作為制造業(yè)領(lǐng)域的工作母機(jī),在國(guó)民生產(chǎn)中占據(jù)著非常重要的地位。數(shù)控技術(shù)與傳統(tǒng)機(jī)床技術(shù)、信息技術(shù)相結(jié)合,已然是制造工業(yè)現(xiàn)代化的重要基礎(chǔ)[1]。數(shù)控加工G代碼包含加工所需的所有信息,指導(dǎo)數(shù)控機(jī)床加工工作[2]。筆者利用Qt平臺(tái)與OpenGL庫(kù)開(kāi)發(fā)了一款針對(duì)數(shù)控加工G代碼程序的仿真驗(yàn)證軟件,該軟件能夠根據(jù)加載的G代碼程序自動(dòng)繪制加工圖像,同時(shí)可以檢測(cè)G代碼程序的錯(cuò)誤并標(biāo)記,方便用戶(hù)提前驗(yàn)證G代碼的可行性,以便及時(shí)對(duì)G代碼進(jìn)行調(diào)整,達(dá)到加工要求。
數(shù)控加工G代碼程序仿真驗(yàn)證軟件主要由圖像繪制模塊、G代碼顯示模塊和錯(cuò)誤顯示模塊三部分組成,具體如圖1所示。
圖1 數(shù)控加工G代碼程序仿真驗(yàn)證軟件的系統(tǒng)結(jié)構(gòu)圖
圖像繪制模塊:主要有三個(gè)功能,包括繪制坐標(biāo)網(wǎng)格功能、繪制加工圖像功能和圖像操作功能。繪制坐標(biāo)網(wǎng)格功能實(shí)現(xiàn)坐標(biāo)系的繪制、三維坐標(biāo)軸的建立;繪制加工圖像功能實(shí)現(xiàn)繪制G代碼的加工圖像;圖像操作功能實(shí)現(xiàn)圖像的翻轉(zhuǎn)、尺寸放大或者縮小、坐標(biāo)平移等操作。
G代碼顯示模塊:主要加載顯示G代碼程序文件。
錯(cuò)誤顯示模塊:顯示G代碼程序的語(yǔ)法錯(cuò)誤或者語(yǔ)義錯(cuò)誤,提示用戶(hù)進(jìn)行修改。
圖像繪制模塊通過(guò)調(diào)用OpenGL庫(kù)進(jìn)行圖像繪制和圖像操作。軟件界面如圖2所示。
圖像繪制模塊不僅可以繪制圖像,還可以實(shí)現(xiàn)對(duì)圖像的操作,比如放大、縮小、翻轉(zhuǎn)、平移等。圖像繪制模塊的具體實(shí)現(xiàn)流程如圖3所示。
圖3 圖像繪制模塊實(shí)現(xiàn)流程
當(dāng)軟件啟動(dòng)時(shí),首先用GLWidget(繪圖窗體)進(jìn)行初始化設(shè)置,完成繪圖的準(zhǔn)備工作。之后繪制坐標(biāo)網(wǎng)格和三維坐標(biāo)軸。完成這兩個(gè)操作后即可進(jìn)入繪圖等待階段。當(dāng)有G代碼程序文件加載之后,系統(tǒng)對(duì)G代碼進(jìn)行譯碼并將圖像數(shù)據(jù)傳給繪圖模塊進(jìn)行繪圖。如果用戶(hù)對(duì)圖像進(jìn)行操作,系統(tǒng)則會(huì)立即刷新圖像顯示。軟件的繪圖效果如圖4所示。
圖4 軟件繪圖效果
G代碼顯示模塊采用QTableWidget類(lèi)作為顯示載體,同時(shí)增加瀏覽上一行、瀏覽下一行、跳轉(zhuǎn)目標(biāo)行等功能,實(shí)現(xiàn)對(duì)G代碼程序的顯示。
系統(tǒng)加載G代碼程序文件之后,開(kāi)始對(duì)G代碼文件進(jìn)行譯碼工作,流程如圖5所示。如果檢測(cè)到錯(cuò)誤,則在錯(cuò)誤顯示模塊中顯示具體錯(cuò)誤信息,提示用戶(hù)進(jìn)行修改。
圖5 譯碼工作流程
筆者開(kāi)發(fā)了一款針對(duì)數(shù)控加工G代碼程序的仿真驗(yàn)證軟件,該軟件能夠根據(jù)加載的G代碼程序自動(dòng)繪制加工圖像,同時(shí)可以檢測(cè)G代碼程序的錯(cuò)誤并標(biāo)記,方便用戶(hù)提前驗(yàn)證G代碼的可行性,以便及時(shí)對(duì)G代碼進(jìn)行調(diào)整,以達(dá)到加工要求。該軟件的出現(xiàn),能夠讓技術(shù)人員無(wú)需進(jìn)行機(jī)床試加工即可驗(yàn)證G代碼程序的效果,可以減少資源浪費(fèi)和縮短開(kāi)發(fā)周期。
[1]潘海鴻,葉文海,陳琳.特種復(fù)合加工中心數(shù)控系統(tǒng)G代碼編譯器設(shè)計(jì)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2015(6):71-73.
[2]田永中,周建平,梁楚華.開(kāi)放式數(shù)控系統(tǒng)中G代碼編譯器的設(shè)計(jì)與研究[J].機(jī)械設(shè)計(jì)與制造,2011(3):154-155.
C829.2
A
10.15913/j.cnki.kjycx.2019.16.051
2095-6835(2019)16-0119-02
梁子財(cái)(1993—),男,在讀碩士,研究方向?yàn)樯a(chǎn)物流系統(tǒng)仿真優(yōu)化與數(shù)控軟件開(kāi)發(fā)。
〔編輯:王霞〕