吳富民,海蓮,曹宇
(北方民族大學,寧夏銀川,750021 )
數控技術是數控機床控制系統中的關鍵,數控機床的蓬勃發(fā)展是國家實現工業(yè)自動化的基礎。G代碼作為現在最常用的數控代碼,在數控機床控制系統的搭建和自動化生產線的建設中起著重要的作用。數控機床的控制系統在未來的發(fā)展趨勢是開源的及面向大眾化、模式化、標準化的發(fā)展方向。對于數控機床控制系統未來發(fā)展趨勢是否開源式,相關研究學者都有著自己的看法。但總的來說可移植性、互操作性、可擴展性、可互換性是數控系統未來發(fā)展最基本的特征?;赟TM32芯片的雕刻機數控系統使用C程序實現數控系統功能的全軟件式數控。
數控GRBL代碼解釋器是全軟件式數控系統的核心。現在幾乎所有的工廠中數控機床通常使用G代碼來控制機床對工件的加工,如工件加工時的走刀、溫控系統的開啟、參考坐標系的選擇等。G代碼能為控制系統能提供加工時需要的數據塊。G代碼解釋器的開放性、可移植性、易讀性、高效性也是為什么說G代碼能成為生產線自動化的基礎。
雕刻機控制系統的核心是實時性,因為整個控制系統需要實時操作硬件(即步進電機、光源和散熱器)。在所有的CNC系統中使用的實時操作系統由操作系統+實時反饋信息系統(負反饋)組成。為了能夠實現開放式CNC數控系統對雕刻圖形和雕刻速度等通用操作系統的要求,滿足其實時性要求。
我們小組詳細地討論了雕刻機數控系統的總體架構;得出的結果是利用函數指針和G代碼關鍵字函數表來控制雕刻加工。這樣很不僅解決了G 代碼解釋器詞法解釋中的關鍵字分解問題而且提高了系統整體的實時性和穩(wěn)定性。除此之外我們還提出了按照功能對G代碼的指令進行分組,借鑒標準G代碼分組語法表來構建符合本系統的指令分組。這樣能為數控G代碼的語法檢查中兩條或兩條以上指令不能同時出現在同一條G代碼中提供了有益的參考。
G代碼處理語言不像Arduino語言那樣復雜也不像匯編語言那樣可讀性差,它的語言現象十分簡單??紤]到控制系統的效率和實用性,本系統將詞法分析和語法分析結合在一起。提高運行效率的同時完全不影響系統的適用性。在實際操作中,證明了該方法的實用性、有效性和可擴展性。
一般的G代碼表現形式為:[Nnnnn]Gnn[X[±]nnnn.[john][y],[+nnnn.[john][with][+nnnn.[][]W+NNNbrother.[john][i][+nnnn.[john]〔j[±〕nnnn.[john][k+][nnnn.[john][d[+]nnnn.nnn][Tnnn][Snnn][Mnn][Fnnnn];雖然這個表達式沒有涵蓋G代碼的所有語言現象,但可以從表達式中得出以下結論。
(1)G代碼的一般表達式為:關鍵字+數字+(空格)+結束符;(2)G代碼的關鍵字并不多,主要有N,G,X,Y,Z,W,I,J,K,R,M,S,T,F等,在實際的過程中,機床制造商和用戶可能對關鍵字進行擴展;(3)不同的關鍵詞對應的G代碼的語法分析和詞法分析有不同的要求。在實際控制系統中,預處理模塊移除空白、注釋和小寫字母后,G代碼可寫成:小寫關鍵字+數字。如x10;(x正向移動10)y-8;(y反向移動8) ……。在掃描每行G代碼數據的過程中,讀取指令字符和對應的數值,字符的ASCII值對應G代碼關鍵字函數名在函數表中相應的位置,然后根據位置在G代碼關鍵字函數表中找到相應的處理函數?;谧址腁SCII碼調用相應的處理函數來處理一一對應的指令,并將處理后的字符的數值發(fā)送給控制系統實現對電機的控制。在32F2中的G1處理讀取G;根據G代碼的ASCII值,可以在函數G代碼關鍵字的函數表中分析對應的函數;調用分析G1來處理G1(如讀取值1并執(zhí)行分組處理等),處理結束。
基于雕刻機STM32數控系統的雕刻機控制系統未來發(fā)展一個十分具有前景的方向,STM32F1有豐富的軟硬件資源,具有很大的靈活性。該系統就是利用了32單片機的軟硬件資源實現的,它采用AD繪圖硬件,利用了現代操作系統的虛擬內存特性,可多任務同時運行特性以及C語言的可移植性和強大的表達功能,實現了對 G代碼各項功能進行詳細解釋,全部代碼用標準的C語言寫成,具備良好的可讀性、可移植性、開放性和跨平臺特性。盡管該系統是在上位機下實現的,但它仍然具有良好的模塊化特性,系統結構簡單易懂,實用性強,運行速度快、雕刻效率高。