□ 毛文亮□ 楊小平
1.甘肅機電職業技術學院 甘肅天水741001
2.甘肅農業大學科學技術處 蘭州730000
隨著現代制造業智能化、數字化、網絡化的發展,精密復雜零件“設計-加工-測量-補償加工”一體化制造成為了趨勢。近年來,國內外學者對此進行了深入研究。Mou等[1]開發了一種基于計算機輔助設計CAD/CAM/CAI的在機檢測系統。Kramer等[2]對基于零件表面特征的檢測系統進行了研究。Yoon等[3]對基于PCNC(Personal Computer based Numerical Control)的在機檢測系統進行了研究。Kim等[4]研發了一款將檢測路徑用G代碼格式傳送給數控機床的在機檢測系統。孫志海[5]介紹了基于CAD的加工中心在線檢測系統的設計。辛娜[6]研究了加工中心在線檢測編程技術。陳歡等[7]開發了基本體在線檢測宏程序。陳明娟[8]研究了基本體在線檢測路徑規劃。總之,國外的在線檢測系統技術相對成熟,但價格非常昂貴。國內的在線檢測系統檢測功能相對比較單一,無法對復雜零件進行全面精確測量。因此,開發一套功能全面、價格低廉的數控機床在線檢測系統,對精密復雜零件 “加工-檢測-補償加工”一體化制造具有重要意義。
數控機床在線檢測系統主要由測頭、數控機床、信號接收裝置和計算機組成。在線檢測時,在檢測系統中導入零件CAD模型,選取檢測點,生成檢測程序,進行仿真校驗。仿真校驗無誤后,計算機通過數控機床通信接口將檢測程序傳送給數控機床,數控機床驅動測頭按檢測路徑運動,當測頭接觸到零件后,發出觸發信號,信號被接收裝置接收,并傳給轉換器,轉換器把信號處理后傳給數控機床控制系統,機床停止運動,測點坐標被保存下來。然后進行下一點測量,等所有點測量完畢,測點坐標通過通信接口傳輸給計算機,計算機對檢測數據進行后續處理,生成檢測報告。數控加工在線檢測原理如圖1所示。
▲圖1 數控加工在線檢測原理
筆者開發的數控機床在線檢測系統是以配置FANUC 0i MC數控系統的加工中心為執行設備,以UG NX10.0三維制圖軟件為平臺,借助UG/Open GRIP、UG/Open Menu Script[9]等UG二次開發工具,將矩陣工廠數學軟件MATLAB 2016和數控加工仿真系統VERICUT 8.0集成于UG操作環境下,進行在線檢測的一款數控機床在線檢測系統。這一在線檢測系統具有檢測模型測點選取、檢測程序生成、檢測仿真、加工中心串口通信、檢測誤差補償計算及數據處理等功能。主要由UG、MATLAB和VERICUT三大模塊組成。
檢測點信息是檢測系統獲取檢測零件表面數據信息的主要依據。主要指曲面檢測點的三維坐標、檢測點相對于檢測曲面的法向矢量、檢測點相對于檢測曲面的切向矢量等[10]。數控機床在線檢測時,首先要對檢測曲面檢測點的數據信息進行提取,為實現上述功能,在二次開發中,筆者用UG/Open GRIP以NURBS曲面在U、V兩個方向的節點矢量,均勻劃分采樣網格,設置步長,生成節點,以節點作為曲面檢測點。檢測點確定后,定義surf為曲面變量,pt(200)為測點變量,fxl(3)為檢測點相對檢測曲面的法向矢量,qxlu(3)為檢測點相對檢測曲面的U向切向矢量,qxlv(3)為檢測點相對于檢測曲面的V向切向矢量。編寫檢測點信息讀取程序,調用函數IDENT,選取檢測曲面和檢測點,保存變量,用FETCH和READ命令讀取檢測點三維坐標。調用函數SPARF,求取檢測點U、V參數值。調用函數SNORF,求取檢測點相對于檢測曲面的法向矢量。調用函數SDDUF,求取檢測曲面在U向的切向矢量。調用函數SDDVF,求取檢測曲面在V向的切向矢量。調用函數IF、JUMP循環語句,重復上述操作,待檢測曲面所有檢測點的三維坐標、法向矢量、切向矢量信息獲取后,用PRINT語句以*.txt格式輸出到列表,檢測曲面檢測點數據信息提取完畢。
曲面檢測點數據信息提取后,利用軟件MATLAB 2016讀取檢測點信息,按照測頭沿檢測點法向矢量檢測的原則,規劃三軸聯動加工中心在線檢測路徑。在線檢測路徑規劃完成后,根據建立的三軸聯動加工中心運動模型,編制后置處理程序,生成NC檢測代碼,并把NC檢測代碼傳輸給加工中心,加工中心驅動測頭按照規劃的檢測路徑運動,就可以實現加工中心對零件的在線檢測。為實現上述功能,在二次開發中,筆者對編制的MATLAB 2016源程序進行了打包處理,并以*.dll的文件格式進行了保存。在UG10.0環境下,通過UG/Open Menu Script開放的端口函數,用*.men文件對編制的MATLAB 2016源程序*.dll文件進行了調用,使MATLAB 2016與UG10.0在程序調用和數據信息轉換間實現了對接[11]。
為避免干涉,在線檢測前需要調用VERICUT8.0對檢測路徑進行仿真。為實現上述功能,通過新建系統環境變量,增設VERICUT8.0程序運行圖標,實現了UG10.0與VIRECUT8.0的無縫連接。具體操作過程為:在電腦屬性中打開系統屬性對話框,選擇高級,新建系統變量CGTECH_INSTALL,輸入變量值D:Program Filesvericut 8.0VERICUT,點擊確定;新建系統變量CGTECH_PRODUCTS,輸入變量值D:Program Filesvericut 8.0VERICUTwindows64,點擊確定;新建系統變量LSERVOPTS, 輸入變量值-s"C:ProgramDataCGTechlicensecgtech.lf",點擊確定;新建系統變量LSHOST,輸入變量值GYZX6-PC,點擊確定;新建變量UGII_VENDOR_DIR,輸入變量值D:ProgramFilesvericut8.0VERICUTwindows64 xNX10english,點擊確定。通過新建上述系統變量,并賦值,就使UG10.0與VIRECUT8.0實現了對接。新建系統環境變量如圖2所示。具體使用時,打開UG10.0進入加工環境,在工具條上單擊VERICUT8.0圖標,進入VERICUT8.0界面,就可以對檢測路徑進行仿真、優化。
▲圖2 新建系統環境變量
為驗證基于UG NX 10.0二次開發的數控機床在線檢測系統的可行性和有效性,筆者在三軸數控機床上進行了試驗驗證。具體過程為,在UG NX 10.0中創建檢測零件CAD模型,用UG/Open GRIP選取檢測曲面,確定檢測點,調用相應函數,提取檢測點坐標矢量信息,并保存。檢測零件曲面測點分布如圖3所示。檢測點信息提取后,在UG10.0環境下調用MATLAB 2016軟件,讀取檢測點三維坐標、法向矢量、切向矢量信息,自動規劃檢測路徑,路徑規劃好后,設置測頭半徑、進給率、定位距離,后置處理程序生成在線檢測NC代碼,保存到指定文件夾路徑位置。在UG NX 10.0環境下啟動軟件VERICUT8.0,根據加工中心和檢測零件模型,讀取在線檢測NC代碼,對在線檢測過程進行仿真,仿真無誤后,將在線檢測NC代碼導入加工中心,加工中心驅動測頭對零件進行在線檢測,加工中心接收到的檢測程序如圖4所示。
▲圖3 檢測零件曲面測點分布
▲圖4 加工中心接收的檢測程序
試驗中,筆者對檢測零件曲面上五個測點的在線檢測數據與三坐標測量機檢測數據進行了對比,結果顯示,基于UG NX 10.0二次開發的數控機床在線檢測系統檢測數據與三坐標測量機檢測數據的最大誤差為0.05 mm。考慮到檢測零件二次裝夾定位中產生的測量系統誤差的存在,筆者認為基于UG NX 10.0二次開發的數控機床在線檢測系統是可行有效的。曲面零件在線檢測如圖5所示,曲面零件三坐標測量機檢測如圖6所示,曲面零件五個測點的在線檢測數據與三坐標測量機檢測數據的比較見表1。
▲圖5 曲面零件在線檢測
▲圖6 曲面零件三坐標測量機檢測
表1 曲面零件五個測點的檢測數據比較mm
通過UG/OpenGRIP、UG/OpenMenu Script等UG二次開發工具,將軟件MATLAB 2016和VERICUT8.0與UG NX 10.0軟件進行了有效集成,在UG NX 10.0環境下,通過MATLAB 2016、VERICUT8.0與UG NX 10.0之間的數據信息轉換,實現了加工中心對加工零件的在線檢測,有效提高了精密復雜零件數控加工質量和效率,也為精密復雜零件“加工-檢測-補償加工”一體化制造提供了參考依據。