數控系統中G代碼的實現方式。采用QT界面開發數控軟件,在Qt4環境下對人機界面應用程序的實現。
傳統常用的嵌入式數控系統多是以PC做為硬件平臺,有較廣泛的應用。但是這種數控系統有諸多缺點,如獨立性和自主性差,系統穩定性欠缺等。所以很多場合下不易于應用。而采用ARM—MCX3l4為硬件控制平臺,同時應用RTLinux為嵌入式操作系統的數控系統,具備有低價位、高性能、小體積的經濟型數控系統較好克服了這些缺點,在中小企業數控機床的自主研發和創新,以及對于生產制造和技術的改造升級有很好的應用前景。
1 嵌入式數控系統軟硬件結構
基于成本的控制和性能要求的考慮,本文設計的嵌入式控制系統選用ARM9控制處理器S3C2410作為系統的主要控制核心來進行統一運算處理工作。另外在重要的輸出軸X/Y/Z的運動控制的設計上,為了加快研究進程,課題采用了具備良好的運動控制性能的運動控制專用芯片MCX314ALt:1來對X/Y/Z三軸運動的進行控制。本控制系統的硬件框架如圖1所示。
圖1 嵌入式控制系統的硬件框架
基于ARM—MCX314AL為硬件平臺,在嵌入式Linux的操作系統下,將我們這個以的嵌入式系統應用于工業控制當中的數控方面,有這很好的適應性,另外采用Qt圖形界面開發工具,對人機交互界面進行設計,并加以實現。本系統人機界面結構圖2所示。
圖2 嵌入式數控系統人機界面結構
2 數控系統中關鍵數控軟件部分的實現
2.1 數控系統中G代碼編譯方式
基于對幾種刀具補償方式的比較,在本系統采用了C型刀具補償,這種刀具補償方式的實現是要先計算出下一條軌跡控制指令伺服電機的信息,才能夠將本段程序的加工軌跡確定下來,所以這就對系統控制核心芯片提出了較高的性能要求。在本系統中采用了三星的S3C241O作為系統的控制核心,采用了ARM9TDMI內核的16/32位RISC處理器。經過測試顯示,如果插補的周期為4 ms,那么完成了一次插補運算后是有充分的時間進行譯碼和刀具補償的任務的。所以,在綜合考慮之下,本系統采用解釋的方式進行譯碼是可行的。
2.2 G代碼處理
數控系統中的零件加工程序是由許多行的G代碼、M代碼等構成,其中每行程序都表示一段刀具相對于零件幾何外形輪廓的加工軌跡,和加工當中的一些輔助功能的操作,輔助功能諸如,停車,換刀等,可以使零件順利加工成形。數控程序通常具有以下典型的格式:
Nxxxx Gxx Xxxx Yxxx Zxxx Mxx Sxx Fxx Txxxx
說明:N是每行程序行號,G表示為準備功能,X、Y、Z為機床的運動坐標值,M、S、F、T表示加工當中的工藝參數(主軸轉速、進給速度、刀具號等)。數控程序是由這樣一組字地址組成的指令集,它包含加工時所需的一切信息,提供了數控機床實際加工零件時所需的一切信息。
數控加工指令代碼解釋功能模塊首先將G代碼一行行讀入,先進行詞法分析,做標識符的轉化和非法指令字的判別,將其結果為語法分析的輸入流。語法分析模塊的解決思想借鑒了自底向上的分析方法,對詞法分析的輸入進行規約,然后查找規則表,完成語法分析。然后進行邏輯結構分析并從中提取加工信息存入Sqlite數據庫,經刀具補償處理后送入運動控制器執行。對于出錯處理模塊而言,在解釋過程中遇到錯誤時,并不能因此停止譯碼工作,而希望系統記錄錯誤位置及錯誤類型,繼續進行解釋工作,直到程序解釋完成后再打印所有錯誤信息,以便進行錯誤處理。本系統錯誤處理的實現也遵循了這條原則,系統錯誤處理方面只提供錯誤信息打印和錯誤位置回溯等功能,而把對錯誤更正工作留給用戶自行完成。
2.3 人機圖形交互功能的實現
在完成了譯碼程序編寫之后,采用在QT4環境下,通過信號和槽機制,建立譯碼按鍵的交互功能,從而完成整個數控代碼解釋器的設計。這樣比采用其他工具使用回調函數創建用戶交互,更簡單、清晰、容易理解。所謂信號和槽都是類成員函數,使用這種新方法只需要一行代碼就能夠將用戶事件和程序事件連接起來。信號需要自己做定義,實現起來相對容易,也可以直接采用用Qt中帶有的信號。每當發射按鈕的clicked( )信號時,槽函數將被執行,調用數控代碼解釋器程序進行譯碼工作。
Connect(MyButton, SLGNAL(clicked() ),this, SLOT(MyCompileSlst0)
3 嵌入式系統集成與測試
在嵌入式數控系統的最終測試中,通過設計功能需求覆蓋比較完整的測試用例,主要針對數控譯碼模塊和刀具補償模塊兩方面的準確性,設計的時候將主要的刀補類型都覆蓋上,包括直線轉接直線、直線轉接圓弧,圓弧轉接直線和圓弧轉接圓弧四種形式,每種情況中還考慮左刀補(G41)和右刀補(G42),另外還考慮一些在直線與圓弧轉接中的一些特殊情況,如相切轉接和垂直轉接。主要的測試用例如圖3。仿真結果顯示如圖4所示。
圖3 系統測試用例圖
圖4 仿真測試實驗
在以上的軟件測試中采用的是功能測試的方法,通過設計的有針對性的測試用例,進行軟件仿真,對數控代碼編譯模塊和刀具補償模塊進行了覆蓋性測試,具有可行性。
通過測試也發現了一些功能方面的不足和缺陷,說明軟件功能有待進一步完善,同時也在一定程度上,驗證了以上功能模塊的實用性。
4 結論
本文實現了一種以ARM9為嵌入式硬件平臺的數控系統設計,同時對嵌入式數控系統軟件關鍵部分的實現進行的說明,包括G代碼的處理,以及在QT4的開發環境下實現人機交互圖形界面,相比基于PC的傳統的數控系統具有更好的獨立性和自主性。并通過對實際加工事例,本系統進行測試證明,能夠實現對數控機床各種指令和功能的正確解釋。
(審核編輯: 智匯胡妮)
分享