數控代碼智能形成的措施及應用
2022年07月04日 13:45點擊:461來源:沈陽天乙新數控機械有限公司>>進入該公司展臺
1概述數控系統廣泛應用于制造業的各種設備中,良好的數控系統是數控機床等加工高性能高精度零件產品的保證,隨著開放式數控的發展,數控系統開發方法的研究已成為一個重要研究方向。從早期的結構化程序設計到面向對象思想的應用以及基于組件的數控系統設計的研究基本上都是采用以代碼為中心的開發方式。但其存在如下缺點:(1)系統測試滯后,難以保證系統可靠性;(2)系統開發周期長,開發效率低。雖然基于模型驅動的數控系統開發.
對上述弊端有一定的改善作用,但是其建模語言采用的是UML,難以被數控系統開發人員直接應用,因此,本文提出基于領域建模的數控系統開發方法,以解決傳統開發方法遇到的問題。
2基于領域建模的數控系統開發框架領域建模的開發方法提高了模型在整個開發中的地位,無論是系統分析、系統設計、還是系統實現都是以模型的構建、變換為核心,并以此增強開發過程中各個環節的耦合度,基于領域建模的數控系統開發框架它描述了基于領域建模數控系統的核心內容:領域建模,模型轉換及代碼自動生成。領域建模包括數控系統元模型的構建和數控系統模型構建。首先用通用的元元模型定義數控系統元模型的的元素以及元素的聯系,而數控系統元模型又定義了數控系統模型的建模規則(即語法和語義),此元模型經解釋后成為計算機數控系統建模語言(Computer Numeric Control Modeling Language, CNCML),CNCML具有明顯的數控領域特征,各建模元素具有顯式的領域語義,容易被數控領域工程師所識別和使用。模型轉換主要負責把數控系統模型轉換到第三方驗證環境(如實時性能驗證工具UPPAAL),工程師可以根據驗證和仿真的結果有效改進模型,實現系統早期性能驗證,保證*終系統的可靠性,提高系統質量。代碼自動生成則實現對模型的遍歷、分析、綜合,并根據嚴格的元模型語法和語義,建立和目標編程語言(如C語言)對應的映射規則,實現從模型到可運行代碼的自動轉換,以此提高系統的開發效率。
本文介紹關于數控系統元模型的構建以及代碼自動生成的相關研究,其中,模型轉換內容。
3數控系統元模型的構建元模型對某一特定領域建模環境中如何建立模型、模型之間如何集成和互操作等規范的描述。元模型定義了該領域的語法和語義,能表示該領域內的所有或全部系統,經解釋后直接成為該領域的建模語言。本研究采用基于多視角的元建模(Multi-View based Meta Modeling, MVMM)方法,應用GME元建模工具來實現數控元模型的構建。
MVMM主要從功能視角和非功能視角并結合用層次化的方式來描述系統。從功能主視角出發。系統基本功能區劃分為人機交互控制功能區(HMC)、可編程邏輯控制區(PLC)、數值控制功能區(NC)3個部分。HMC繼續分為人機交互(HMI)、系統配置、故障診斷功能;PLC分為邏輯控制、輸入輸出控制;NC分為運動準備、運動控制、軸控制。如在人機交互HMI部分,CNC系統按照操作模式分成6大模式:手動模式、回零模式、自動模式、編輯模式、錄入模式以及手輪模式,詳細的元模型。
從非功能主視角來看,計算機數控系統是典型的實時系統,實時性是*重要的非功能屬性,另外,各任務的優先執行情況以及工作軸之間的同步情況,這些非功能性需求必須在元模型中能夠如實地反映。
具體分析如下:(1)運動任務元素是整個控制模塊的主要元素,根據實際運動任務不同,派生出2種子任務類型:TTMotionTask和ETMotionTask,分別代表時間觸發的硬實時運動任務和事件觸發的弱實時任務。
(2)每個任務具有*壞執行時間(WCET)、周期(period)以及優先級(priority)等參數。根據不同的目標平臺(主要指實時操作系統)可設定任務的參數,以滿足任務調度的要求。
(3)軸組管理(AxisManager)根據運動指令(MotionCmd)的類型啟動相應的任務,這些關系可通過它們之間的關聯關系來表示,如TaskCmdConn表示運動任務和運動指令之間的關聯關系。
4代碼自動生成實現從模型自動生成產品級源代碼是基于領域建模的數控系統開發方法的關鍵環節。靈活的代碼自動生成技術具有以下明顯的優勢:(1)提高了代碼變更的能力;(2)實現代碼與模型之間靈活的同步機制;(3)大幅度提高了工作效率;(4)保證了所有生成代碼的一致性。
代碼自動生成的機理是根據讀取模型的元數據,按照的映射規則,混合產生出規范的源代碼。一般其生成過程可以分為以下2個步驟來實現:(1)模型解析。模型解析是對模型進行訪問,提取模型信息,為下一步的模型到代碼的映射做準備。本研究在元對象網絡(Meta Object Network, MON)和構造對象網絡(Builder Object Network, BON)的基礎上
建立面向數控領域的解析類庫,通過領域解析類庫對不同的應用模型進行解析,并獲取與模型對應的信息,這些信息以各種類型的數據結構進行存儲,并為下一步從模型到代碼或其他信息的映射提供準備。
(2)模型映射。模型映射是從模型信息到代碼或其他模型信息的映射,根據不同的領域應用模型自動產生相應的代碼或配置數據。本研究采用一種基于映射規則庫和代碼模板的映射方法,并結合可重用構件庫,可自動生成產品級源代碼。
從本質上來看,模型映射過程是以領域應用模型為輸入,以產品級源代碼為輸出的處理過程。領域應用模型根據系統需求的不同而各不相同,要把不同的應用模型映射成對應的系統源代碼,其映射規律必然來自應用模型的建模規則以及目標源代碼的組織結構。本研究中建模規范是數控領域元模型,目標源代碼的組織結構與特定平臺信息緊密關聯,這些信息主要包括面向目標平臺的軟件體系結構、編程語言類型以及集成開發源代碼組織結構及其配置結構。例如,基于DSP平臺的運動控制系統,其編程語言一般采用C/C++,其集成開發環境為TI公司CCS開發環境,實時控制應用軟件建立在DSP/BIOS的實時調度內核之上,因此,面向DSP平臺的代碼映射則必須考察CCS如何組織源代碼組織結構、如何進行多任務配置以及DSP/BIOS提供何種類型的服務接口等。
為了規范映射過程,結合數控系統的開放性要求,本研究提出一種基于映射規則庫以及代碼模板庫模型映射過程,首先對數控領域元模型規則和目標平臺源代碼組織結構進行綜合分析,分析的目的是建立從模型到代碼的映射規則表,并為代碼的自動生成設計相應的代碼模板,映射規則庫和代碼模板庫是代碼映射過程中的重要信息來源;分析的內容主要為模型的不變性與可變性特征,及其與目標源代碼的對應關系。通過4個步驟實現映射具體過程:(1)根據領域解析類庫對模型進行解析,并把獲取的模型信息以特定的數據格式進行存儲;(2)以模型信息為基礎,根據映射規則表,判斷是否需要進行代碼映射,調用相應的映射算法進行映射;(3)對代碼模板進行解析,尋找相關的關鍵字(Keyword)或區標志(BlockFlag),根據模型信息對代碼進行提取、填充或替代,生成對應的代碼;(4)從構件庫中選擇合適的構件,與自動生成的代碼進行粘合、補充,*后形成完整的產品級別源代碼。
5三軸車床設計實例根據以上的分析和建立的元模型以及相應代碼自動生成器,本實例主要完成三軸車床設計。本車床采用基于Windows CE DSP的開放式CNC實現方案,即上位機嵌入式單板計算機(SBC-C26)與下位機DSP運動控制卡通過PC104總線實現主從式結構的連接。根據該要求,利用所描述運動控制形成的CNCML建立該車床的下位機模型如所示。
使用代碼自動生成器之后所得到的任務管理模塊的代碼如下:void Tsk_Axis_Manager(){ while(true){ //循環獲取上位機發送的運動指令msgID= MsgCom::receiveMsg(pMsgAddr,pHC2DSP_Buf);switch (msgID)//判斷消息運動指令{case LINE_3D_MOTION://三軸聯動-3D直線運動…//啟動相關任務break;case ARC_3D_Motion: //三軸聯動-3D圓弧運動…//啟動相關任務break;case LINE_3D_MOTION://三軸聯動-3D直線插補…//啟動相關任務break;case BALL_3D_Motion: //三軸聯動-球面插補…//啟動相關任務break;} 6結束語提高模型在系統開發中的作用是現代數控系統開發的趨勢,本文分析基于領域建模的數控系統開發框架,指出代碼自動生成是實現該框架的關鍵步驟,研究模型映射的框架和過程,并通過三軸數控車床的設計實例證實了該方法的可行性,目前整個項目進展順利,下一步研究重點在于解決多目標平臺的代碼生成器的集成以及目標代碼的優化。
上一篇:選購走心機需要做出合理的判斷
下一篇:激光切割機如何控制聚焦點
- 凡本網注明"來源:機床商務網"的所有作品,版權均屬于機床商務網,轉載請必須注明機床商務網,//www.wzmyfl.com/。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。