CNC作為數控機床的核心部件,從20世紀50年代被開發以來,已經經歷了重大的變化。盡管CNC已經取得了很大的進步,但是仍然需要進一步的改進。尤其是目前CNC所使用的編程接口,即G代碼,存在著許多問題。而STEP.NC(IS014649)作為一個CAD/CAM和CNC之間進行數據傳遞的新接口標準,彌補了G代碼存在的缺陷,并且完全兼容STEP(IS010303)標準。
STEP-NC數控系統是指能夠直接支持STEP-NC數據接口的新一代數控系統。利用STEP-NC豐富的數據信息平臺以及與CAD/CAM無縫連接,STEPNC數控系統一方面可以針對機床實際情況進行加工仿真、故障檢測和精度校驗,另一方面能夠根據加工現場情況進行在線的調整,快速進行加工方案的重新規劃。從長遠看,STEPNC數控系統將取代基于G代碼的數控系統。因此,為實現STEPNC數控系統進行有益的先期研究顯得尤為重要。
根據CNC實現STEPNC的不同程度,基本可劃分為3類。第1類是采用STEP-NC加工程序輸入,利用后處理器對STEPNC加工程序進行識別、解釋,生成G代碼加工程序,由傳統的控制器根據G代碼進行加工。第2種類型的CNC直接讀取STEP-NC加工程序,經過解釋器解釋后轉化為數控系統能夠直接識別的數據類型,具備在線刀具路徑生成功能。第3種類型將智能化控制加入到CNC內核中,STEPNC數控系統能夠執行加工過程中智能化的操作,如自動切削參數優化、自動故障排除等。
目前絕大多數STEP-NC數控系統的研究基本還局限于前兩種。在STEPNC推廣的初級階段,如何與現有的數控機床兼容是其面臨的首要問題。故本文所開發的STEP.NC數控系統MMI軟件屬于類型1。該類型一方面能夠滿足當前大量傳統數控系統能夠兼容STEP.NC標準;另一方面在改造上只需采用軟、硬插件的方式,易于實現系統的改造。
1 STEP-NC數控系統MMI總體設計
目前,基于STEP—NC的數控程序大多采用IS010303Part21物理文件格式,它雖然格式工整,但對于沒有相關領域知識的人而言很難理解,并且不適合在網上傳輸,因而極大地影響了企業的生產和發展。而XML作為一種優秀的網絡語言得到了廣泛的應用。因此,本文設計的STEP.NC數控系統MMI軟件的輸入是XML格式的STEP.NC程序。
第一步,讀人XML格式STEP-NC數控程序,將程序中出現的實體實例信息存到內存中,并以工藝序列樹的形式在界面中顯示。
第二步,根據加工現場情況,調整STEP.NC程序中給出的工藝參數、機床功能等。對數控程序中以$給出的可選屬性,設置其具體值。對程序中被修改的信息進行更新。
第三步,根據程序中的幾何特征數據及工藝數據,規劃刀具路徑。
第四步,對生成的刀具路徑進行加工仿真,驗證刀具路徑規劃模塊輸出路徑的正確性。
第五步,對通過加工仿真模塊驗證的刀具路徑信息轉換為G、M代碼,傳輸到機床進行加工。
其中左側區域為程序顯示區域,主要用來顯示讀人的STEP-NC數控程序與規劃好的加工路徑信息;右側區域是三維圖形顯示區域,幫助使用者更加直觀的查看工件、加工路徑,且可以查看切削仿真過程,驗證生成路徑的正確性;下側區域是實時監控區域,用于數控系統的實時狀態顯示。以下就主要的幾個功能模塊進行詳細論述。
2 STEP-NC數控系統MMI主要模塊設計與實現
2.1 信息提取
目前對XML支持的解析器和開發工具箱非常廣泛,因此對XML格式STEPNC程序的解析可以直接采用一些常用的XML解析器完成14 J。本文使用Microsoft提供的MSXML編程庫完成。首先讀人整個數控程序,構建一個駐留內存的樹結構。此時,可以理解為XML在內存中開辟一個存儲文件信息的數據庫。然后使用DOM來操作這個樹結構,可以遍歷樹以搜索數控程序中包含的工作計劃、工步和加工操作等信息。本文以STEP-NC類庫作為提取出信息的載體,它是刀具路徑規劃模塊的輸入,也是系統各模塊之間聯系的紐帶。定義了所有加工特征類的基類CMachFeature與它的一個派生類CPlanarFace,并解釋了類中成員變量的含義。首先通過對內存中DOM節點樹的操作,提取出程序中的所有特征節點,根據節點名稱選擇相匹配的特征類,建立特征對象。最后再通過對每個特征節點中幾何信息和工藝信息的提取,初始化特征對象,最后得到路徑規劃模塊所需的各種信息。
2.2 數據顯示
STEP-NC代碼中各個信息實體間存在相互關聯,這種關聯信息可以采用樹型結構來表達。故本文提供了單層、多層和工作計劃3種數據呈現方式。單層顯示直接在樹根節點上顯示各個實體及其屬性信息,而不顯示各自的關聯層次;多層顯示在樹根節點上顯示各個實體及作為葉節點顯示所關聯的實體,經過關聯的實體不再在根節點顯示。
STEP-NC程序信息是非常繁雜的。數控系統的使用者往往只想關心全部信息中的一部分。過于豐富的數據一方面賦予了STEP-NC強大的功能,也給使用過程中帶來了理解上的困難。因此,不能只對XML文件進行簡單的顯示,應首先對STEP-NC程序進行適當處理,以一種友好直觀的呈現方式給使用者提供所關心的STEP-NC數據。經過處理的STEP-NC數據清晰地反映在樹型結構中。由圖可見,加工計劃包含了一個平面特征的精銑、一個孔特征的鉆削和鉸削以及一個型腔的粗銑和精銑。每個加工計劃中又包含了安全平面、加工特征、加工操作和3方面信息。右圖中的對話框是在雙擊加工操作時彈出,給使用者呈現了平面特征的精銑操作參數,并允許使用者根據實際情況對工藝信息進行修改。
2.3 刀具路徑生成
刀具運動路徑雖然不包括在STEP-NC程序內,但STEPNC程序包括了走刀策略、特征信息、刀具信息和其他參數信息,這些信息構成了生成刀具路徑信息的信息來源。路徑規劃就是通過這些信息的處理,最后生成刀具路徑信息。刀具路徑自動生成的功能使得數控系統操作員根據實際情況可以對加工計劃作出一定的調整,例如機床安全平面調整、下刀策略調整等。這種特性是采用G代碼所不具備的,傳統的數控加工遇到這種情況往往只能重新進行一次CAM規劃。
路徑規劃的目標是生成總體加工路徑,這是一條連續的路徑,僅僅生成各個工步的路徑還不能達到路徑連續的要求。本文的路徑規劃工作分為三個步驟完成:①根據加工策略、操作信息、刀具信息、特征幾何信息對工作計劃中的每一個工步進行路徑規劃,經坐標變換后得到各工步加工路徑信息;②按照工作計劃定義的加工工步順序,規劃工步間的路徑,生成工步間的過渡路徑信息;③連接所有的工步路徑和過渡路徑,生成連續的刀具單元路徑集合。這些數據作為整個解釋器的輸出結果,可以被仿真系統和運動控制系統所調用。
2.4 切削仿真
切削仿真功能能夠幫助使用者更直觀地查看加工的零件、刀具路徑及其他相關信息,并能對加工過程進行仿真。可以減少或者消除因為STEP-NC加工程序錯誤而導致的機床夾具損壞或刀具折斷、工件報廢等
問題,減少產品設計制造的時間,降低成本。切削仿真模塊主要由以下幾個功能組成:
(1)三維模型顯示本文通過讀取STL文件顯示工件三維模型。STL文件由多個三角形面片的定義組成,每個三角形面片的定義包括三角形各個頂點的三維坐標及三角形面片的法矢量。程序中通過遍歷三角形面片的3個頂點,可以方便地構造實體。然后進一步進行實體渲染,以增加工件實體的真實感。
(2)材料去除本文采用基于三角網格的幾何仿真方法。,通過計算毛坯模型表面三角片頂點與刀具掃掠面之間的距離,計算出各三角片頂點高度值,修改自定義的數據結構,從而實現材料的去除效果。因此首先需要建立毛坯的數據模型。本文采用的是三角網格方法來建立毛坯模型。
(3)人機交互基于OpenGL切削仿真的人機交互接口包括:加工路徑顯示與隱藏、動靜控制、仿真速度控制、視角變換。
2.5 G代碼生成及驗證
由于在刀具路徑生成模塊已經生成了路徑信息鏈表,所以要生成G代碼程序文件只需從頭開始讀取整個路徑信息鏈表,從每個節點中取出有關的加工工藝參數(如主軸轉速、進給速度和冷卻液等),按照指定數控系統的指令格式將其分別轉換成相應的F、M、S等功能字,并把刀具軌跡轉化為指定的數控系統的G代碼指令格式。由于在不同工步中所使用的刀具可能不相同,在讀取下一個節點時,還要判斷該節點所使用的刀具是否與上個節點所使用的刀具相同,如果不相同則需要添加換刀功能字。當路徑信息鏈表中所有節點都轉換后,即完成了STEP-NC文件到G代碼程序的轉換。
為驗證所生成的G代碼的正確性,本文利用VERICUT軟件對生成的G代碼進行了加工仿真驗證。VERICUT軟件是美國CGTECH公司開發的數控加工仿真系統,由NC程序驗證模塊、機床運動仿真模塊等組成,具有很高的國際知名度,在制造業中得到廣泛應用。
3 結語
STEP-NC程序包含了產品全生命周期的所有信息,同時消除對CNC系統的依賴性,STEPNC的提出和發展結束了長期以來數控系統只能被動執行動作的歷史,解決了CNC與CAX之間的雙向無縫連接問題,為網絡制造、虛擬制造、并行工程等先進制造技術和模式提供了技術保證。因此,相對于G代碼來說,具有很大的優勢,是未來的一種發展趨勢。
本文對基于STEP-NC數控系統人機界面(MMI)軟件進行了研究和開發,實現了STEP.NC信息提取,利用程序信息樹的形式再現了STEP.NC文件的數據結構,并根據提取出的工藝信息進行刀具路徑的規劃,利用OpenGL圖形庫實現了三維工件顯示及加工路徑仿真功能,為在商用CNC系統上開發STEP-NC人機界面軟件提供了參考。
(審核編輯: 智匯張瑜)
分享