特種復合加工中心數控系統G代碼編譯器設計
引言 精工技術結合傳統機床技術與信息技術,是制造 工業現代化的重要基礎。隨著科技的發展,與傳統封 閉式精工技術相比開放式全閉環精工更符合未來發展 趨勢⑴。“PC +NC (運動控制器),’型開放式精工系 統[2-]具有很好外部擴展性、適應性和靈活性,能根據 用戶要求定制特種復合加工系統。自主研發的鈑金刻 銑與激光切割復合加工中心結構上為“PC + NC”型開 放式精工系統,即運動控制器為主體,PC作為上位機 運行系統控制軟件處理非實時性任務[4],如響應用戶 消息、G代碼的編譯[5]等。精工加工代碼是指導精工系統加工的關鍵信息。 目前,對精工代碼進行處理的方式主要有兩種:解釋和 編譯[6-]。解釋需要將代碼表示成某種中間形式再加 以執行,譯碼效果有限;編譯則直接將代碼轉換成為計算機上可執行的數據流,由控制器直接讀取執行,譯碼 效果理想。在“PC +運動控制器”型開放式精工系統 中,上位機PC負責將G代碼編譯成為可供運動控制 器直接讀取的目標程序格式,完成加工信息與非加工 信息分離和有效管理。針對自主研發的鈑金刻銑與激光切割復合加工數 控系統要求在同一機床坐標系下既要實現銑削功能還 要完成激光切割的特點,設計一種G代碼編譯器,實 現對加工G代碼的檢錯、譯碼及數據管理。1 G代碼編譯器總體設計G代碼編譯器是精工系統連接上(PC)下(運動控 制器)位機的重要模塊[8],該模塊主要完成對符合標 準或特定格式要求的G代碼進行編譯,然后以結構體 形式存放在上位機申請的動態數組中等待打包下發給 運動控制器。所設計編譯器整體流程如圖1所示,在編譯器內部實現對G代碼的詞法、語法分析和指令模 態下傳,并對存在問題的程序段進行錯誤提示。2 G代碼編譯器的實現自主研發的精工系統控制對象為特種復合加工中 心,該設備的結構包括通用三軸銑削精工加工中心部 分、激光軸部分和專用夾具部分。因此,G代碼編譯器 設計時除了滿足常規精工標準G代碼指令譯碼要求 外,還需識別激光軸和專用夾具控制指令。2.1詞法分析程序的實現精工加工代碼由字母與數字數據組成,對其進行 詞法分析需完成數據分離、提取和格式轉換工作。根 據特種復合加工中心的結構特點,在詞法分析程序定 義的G代碼字符集中增加激光軸標識符J和M21、 M53等激光、夾具控制指令。所設計的G代碼編譯器 詞法分析步驟如下:(1) 以程序段為單位對G代碼逐行讀取,將程序 段存至臨時字符串數組中。從程序段中讀取一個字 符,忽略其大小寫,判斷該字符是否在定義的精工系統 G代碼字符集中。若不在,則標記錯誤類型以及錯誤 位置,并跳出編譯循環提示用戶錯誤信息;若存在,提 取該字符后的數據信息。(2) 根據讀取的字符類型將其數據進行轉換。根 據字符的類型調用函數atm()或者at〇f()將數據轉換 為int型或float型。當出現非常規數字(如出現兩個 正負號或一個以上小數點),則標記錯誤類型以及錯位 , 環 示用戶 。2.2語法分析程序的實現詞法分析僅對G代碼程序字進行檢測,但無法確 保程序段語法的正確性。因此,需要對詞法分析所識 別出的功能字和數據按照標準G代碼精工指令的規 則和語法進行檢查。針對特種復合加工中心的主軸與 激光軸的移動位于同一方向的結構特點,在程序段語 法分析時增加了對進給軸的互鎖檢查。G代碼編譯中 對程序段進行如下語法分析#(1) 程序段號檢查#將當前程序段號與前一段對 比,若不符合遞增規律,則標記錯誤類型;(2) 程序段模態指令檢查:標記程序段中同組模 態指令出現次數。當該程序段同時存在多個同組指 令,如G02 G03 X100,則標記錯誤類型;(3) 冗余指令檢查:判斷程序中是否出現冗余指 令或字符,如同一行中出現兩個X坐標字,則標記錯 誤類型;(4) 指令數據和進給軸行程范圍檢查:若存在數 值超程,如主軸轉速超過上限10000 r/min,則標記錯;(5) 進給軸互鎖檢查:若程序段中同時存在主軸 和激光軸的運動指令,則標記錯誤類型。當語法分析過程中錯誤類型標記不為空,則跳出 編譯循環并提示用戶錯誤信息和程序段位置。詞法、 語法分析程序實現流程見圖2。2.3指令模態下傳的實現在G代碼中有一些模態功能)940」指令,如G00、 G01等。這類指令將 會保持有效直到被下 一條具有相同模態功 的 指換, 調用函數 CheckSen ()實現程序段間的模態 傳遞。具體實現流程 見圖3,其中SenEr/是模態下傳時出現錯 的 記。3編譯數據存儲譯碼過程中需對取的代據進行存儲,因此設計 結構體GC0DE保存G代碼程序段編譯完成后所得數據,并以動態數組存儲G 代碼文件的全部譯碼數據。GCODE結構體如下:struct GCODEiunsigned char n; //.了數unsigned char m; //輔助功能代碼unsigned char t;//刀具號unsigned char g;//G 功能代碼Ratf;//F代碼(進給速率)int s;//S代碼(主軸轉速)float x;//X軸坐標float y;//Y軸坐標float z;//Z軸坐標float q;//J軸坐標float i;//圓弧插補參數float j;//圓弧插補參數float k;//圓弧插補參數float w;//螺距參數float p;//延時參數};4實驗驗證以鈑金刻銑與激光切割復合加工中心開放式精工 系統為實驗平臺,通過圖形仿真與實例加工來驗證所 設計G代碼編譯器的可行性。繪制加工零件并生成對應G代碼,將該G代碼導人 鈑金刻銑與激光切割復合加工中心精工系統上位機控制 軟件,導人的部分G代碼如圖4所示,經過編譯代碼后的 軌跡仿真和實例加工的樣例分別如圖5a和圖5b所示。N0820 G01 X-68.15 F936N0830 G03 X-68 Q0 10 J0.15NO840 G02 X-S4.S49 Q20.6978 122.6S J0N的G03 X-46.72 Q39.S988 1-6.的12 J13.S702N0860 G的 K-17.燦88 Q68.87 121.1403 J8.13的N0870G03X1.4522〇76.699I5.3308J13.8602N0880 G02 ^42.8478 120.6978 J-9.199N0890 G03 K61.7488 Q68.87 113.5702 J6.0312N0900G02K91.02〇39.5988 I8.1309J-21.1403N0910 G03 X98.849 Q20.6978 113.8602 J-5.33的N0920 G02 Q-20.6978 1-9.199 J-20.6978N0930 GQ3 X91.02 Q-39.S988 16.0312 J-13.S702H09l|0G02}{61.7li88Q-68.87 I-21.1li03J-8.1309H0950 G03 X42.8478 Q-76.699 1-5.3308 J-13.8662H0960 G02 X1.U522 1-20.6978 J9.199H0970 G03 X-17.IIU88 q-68.87 1-13.5702 J-6.的 12N0980 G02 X-U6.72 Q-39.5988 1-8.1309 J21.1403N0990 G03 X-54.5II9 Q-20.6978 1-13.8602 J5.3308N1000 G02 X-68 QB 19.199 J20.6978N1010 G03 X-68.15 Q0.15 1-0.15 JON1030 M83N1040 M52N185Q M30 (a)加工前的仿真軌跡(b)加工后的實物照片5結束語針對自主研發的開放式精工系統具有鈑金刻銑與 激光切割復合加工的特點,設計出一種既滿足一般通 用性又滿足刻銑與激光切割復合加工要求的G代碼 編譯器。該編譯器能夠對G代碼進行詞法和語法分 析,并提示譯碼過程中的錯誤信息。實際加工實驗結 果表明所開發的G代碼編譯器能準確實現數據提取 與解析,完成加工信息的轉換。該研究可為后續開放 式精工系統的開發與實現提供一定的借鑒作用。本文由海天精工整理發表文章均來自網絡僅供學習參考,轉載請注明!
- 相關文章
- 發表留言
-
◎歡迎參與討論,請在這里發表您的看法、交流您的觀點。
主站蜘蛛池模板:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|