畢忠梁,李陶勝,王偉
安慶職業技術學院機電工程學院,安徽安慶,246003
隨著虛擬仿真技術的不斷發展和應用,虛擬機床仿真技術應用在高檔數控機床上越來越普遍。虛擬機床仿真的目標是模擬實際的加工環境和條件,并對加工過程進行全面的監測。這樣可以提前預知機床的運動碰撞、干涉等問題和相關警報,防止加工產品報廢、刀具折斷、機床被撞擊,危及操作者的生命安全[1],虛擬機床仿真還能對機床的加工能力、加工過程的合理性、加工精度等進行評價,為加工提供參考數據,從而優化加工過程。
越高端的數控機床對虛擬仿真的要求越高,因為高端的數控機床普遍包含多軸、多通道、多刀具、多工位、多部件,這就要求虛擬仿真的精確度要高,要能真實仿真機床所有的運動細節,除了仿真刀具路徑外,還應包括換刀、夾具的加緊松開、切削進給加速度,切削力等的仿真,此外高度數控機床控制器大多深度定制,很多特殊指令的指令代碼和功能也需要仿真。目前針對復制高端數控機床的虛擬仿真應用不多,文章以津上M06SD雙主軸單通道四動力頭車銑復合數控機床為例,應用NX軟件的CSE功能對車銑復合加工的整個操作流程進行了虛擬仿真加工。
對于CAM軟件而言,機床虛擬仿真通常包括兩大類:一種是純刀具路徑的仿真,另一種是直接帶機床運動的仿真。刀具路徑仿真往往只能驗證CAM軟件生成的刀具路徑軌跡是否正確,切削時是否有過切或者干涉的情況;而機床虛擬仿真包含機床、刀具和夾具等,可以預測加工過程中的碰撞。帶機床運動的虛擬仿真又分成兩種:一種是基于刀具路徑軌跡的機床虛擬仿真,另一種是基于G代碼的機床虛擬仿真[2]。前者仿真時只參考CAM軟件生成的刀路軌跡,基于刀具路徑驗證與模擬,無法驗證G代碼的正確性;而后者同真實的CNC控制系統一樣,集成虛擬加工環境,直接讀取G代碼并執行仿真動作,顯然更接近實際情況,仿真更加精準。
N X軟件的C A M部分,包含了一整套集成仿真與驗證系統(integrated simulation and verification,以下簡稱ISV仿真),通過圖1可以看到,NX的ISV仿真可以直接仿真后處理生成的G代碼,包含了兩種仿真驅動模式,一種是通用仿真引擎(CSE)驅動,另一種是虛擬 CNC 控制器(VNCK)驅動,VNCK界面與真實的數控機床操作面板完全一致,仿真效果更強大,但是目前只針對Sinumerik 840D系統才能運行,由于津上M06SD-II采用的是FANUC系統,因此這里采用通用仿真引擎(CSE)驅動。置文件MCF(machine configuration file),用于定義機床幾何特性、軸配置、通道配置、機器驅動參數等的二進制/加密XML文件。④子程序,包含至少1個換刀循環文件,可附加鉆孔循環、車削循環、用戶自定義其他子程序等。NX軟件自帶了CSE 支持的3種主要控制器類型(Fanuc、Sinumerik S840D、Heidenhain TNC)的DLL、CCF和MCF文件,以及各種類型的包含運動學的機床模型,基本可以實現通用型機床的OOTB。但是針對一些高端復雜的數控機床,還是需要定制和深度開發才可以使用。

圖1 NX集成仿真與驗證系統
CSE(common simulation engine)是一個虛擬控制器仿真引擎,支持許多常見的數控系統,例如:西門子840D+840C、發那科系列、海德漢TNC等,采用G代碼(后處理直接生成、手動創建或者外部導入G代碼)直接驅動虛擬機床,CSE自帶后處理器可以在仿真前自動將刀軌數據轉換為NC代碼。它可以像真正的機床操作系統一樣編譯讀取G代碼仿真。通過CSEDriver驅動程序中設置的機器運動學,為每個軸設置硬限位和軟限位、最大速度、最大加速度、最大減速度、加加速度和KV系數等。CSE有4個主要組成部分:①控制器編譯文件DLL,它可以編譯特定控制器的代碼(例如發那科G10、西門子CYCLE等)。②控制器配置文件CCF(controller configuration files)一個二進制/加密的XML文件,它定義了為有效語句執行的操作。③機床配
首先需要根據機床的結構,通過測量真實部件的尺寸對數控機床進行幾何建模,該機床型號為津上M06SD(圖2),具有雙主軸結構,配備了四個軸向和徑向銑削動力頭,在車鉆鏜削的基礎上,也可進行銑削加工,實現車銑復合加工,主軸和背軸均配有C軸功能,采用電主軸可實現對接加工,無需二次裝夾,配備熱位移校正功能,可長時間穩定加工。具體參數如表1所示。

圖2 津上M06SD雙主軸車銑復合機床

表1 津上M06SD機床參數
利用UG NX CAD模塊將M06SD機床的各個運動部件依據結構特點分別建模,如床身、刀塔、主軸背軸、卡盤和鈑金等,需要保證機床各個部件尺寸1:1還原。然后將各個部件按照機床在靜止狀態下的初始模式進行裝配,需要注意作為機床運動學的機床組件一定要是獨立的部件。如圖3所示,為建好的機床模型。

圖3 NX建立的M06SD機床實體模型
首先,開啟NX的Machine Tool Builder機床構造器,定義機床的運動學模型,在機床構造器導航器的最頂層節點處添加新機床,并將其命名為“M06SD”?;旧希瑱C床運動學定義過程可以分為4個步驟。
(1)建立機床運動學組件。在運動學模型中的組件是代表機械特征的剛體。每臺機床包含各個組件的聯結,這些組件建立了父子關系,并且以關系樹的形式存在。可以通過選擇多個裝配組件來定義單個組件來創建簡化的運動模型以便設置軸運動。更復雜的運動學模型可以通過部件分類來創建,可以在檢查碰撞干擾時根據類別來進行檢查。組件建立的方法以床體基座為例進行設置:在機床名稱“M06SD”鼠標右鍵選擇“插入”——“機床組件”,在彈出的對話框中設置名稱為“_MACHINE_BASE”,選擇幾何體為機床模型中的床身,聯結名稱為 “MACHINE_ZERO*”,設置坐標系為機床零點坐標,設置在卡盤的左端面的中心處,最后確認即完成組件建立。使用同樣的方法設置機床其他運動組件,在機床關系樹中確定父子關系及分類。其余機床組件設定如表2所示。

表2 M06SD機床運動學組件
(2)建立機床運動學聯結點。機床運動學聯結點是一個分類和命名的坐標系(CSYS),它是相對于機床模型零件的絕對坐標系定義的。每個連接點都與一個機床組件相關聯[3]。當創建機床組件時,NX會自動為該組件分配一個默認連接,我們也可以根據需要調整聯結點位置。NX使用運動學聯結點有以下作用:可以在CAM中自動安裝部件,要正確安裝零件,SETUP組件的聯結點必須與計劃安裝的零件的方向相同;在CAM中自動安裝工具或其他機床附件如動力頭等;可以用來定義NC 軸的方向;可以用于變換坐標系等。該機床需要建立的運動學聯結點主要有以下幾個:機床零點MACHINE_ZERO*、主軸車削旋轉中心工作平面MAIN_SPINDLE_CSYS、背軸車削旋轉中心工作平面SUB_SPINDLE_CSYS、主軸零件安裝自動裝配聯結點MAIN_MOUNT_JCT、主軸零件安裝自動裝配聯結點SUB_MOUNT_JCT、刀塔旋轉中心聯結點TURRET_ROT,以及12個刀具安裝工位的聯結點TOOL_MOUNT_JCT。
(3)建立機床運動軸。要將機床運動分配給機床組件,必須為該組件定義一個運動軸,然后沿著或圍繞該軸進行運動。如果一個機床組件移動,那么在機床結構樹中它下面的所有子組件也會跟隨父組件一起移動。創建機床運動軸,需要包含以下幾點:①軸名稱:每個軸都必須定義自己的軸名稱,一旦確定軸名稱,則所有CSE功能/命令都使用此名稱。②軸聯結點名稱:即軸引用的聯結點,所有軸都必須參考一個聯結點,也可以共享軸聯結點。③軸方向:表示軸的連接方向(X、Y 或 Z),影響組件的運動行為。④軸的運動類型:包含旋轉軸或線性軸。⑤軸號:軸號必須唯一且不能重復。⑥軸運動的上限和下限:表示機床軸運動的極限位置,參考機床坐標系下的坐標。
以Z軸建立為例,如圖4所示:右鍵點擊Z-S L IDE插入軸,輸入軸名稱Z,聯接名稱MACHINE_BASE@MACHINE_ZERO,方向為Z+,定義該軸類型為線性直線軸,軸編號為3,初始值441mm,上限541mm,下限141mm[4]。類似方法建立其他運動軸,津上M06SD一共包含7個軸,分別是線性移動軸X、線性移動軸Z、主軸車削旋轉軸CM、背軸車削旋轉軸CB、背軸線性移動軸A、刀塔旋轉軸T和動力刀頭旋轉軸S。

圖4 機床運動軸設置
(4)定義機床運動鏈及配置通道。設置完運動軸之后,還需要指定軸所在的通道。設定方法:在機床導航器中,右鍵單擊機床名稱“M06SD”——選擇“通道配置”,M06SD為單通道雙主軸機床,設置通道Main為Channel 1包括以下軸,由一個 NC 程序驅動:軸 X、Z、A、CM(主軸)、CB(背軸)、T、S,NX能夠自動識別運動學模型中存在的所有軸,無論它們是線性軸、旋轉軸還是主軸。單擊確定以保存設置。最后設置運動鏈,代表組合的鏈用于機床的逆運動,NX系統提供預先配置的軸組合作為“默認鏈”。對于復雜的機床,必須檢查配置的運動鏈或對其進行調整。每條運動鏈最多可以包含3個線性軸和2個旋轉軸。M06SD由于是雙主軸機床,因此包含兩條運動鏈,主軸和背軸各包含一個運動鏈。最終機床運動仿真關系如5圖所示。

圖5 M06SD機床運動學關系圖
(5)將機床添加到機床數據庫。將機床添加到機床數據庫文件中,該文件名為machine_database.dat,位置在…Program FilesUGSNX1980MACH esourcelibrarymachineascii machine_database.dat。把建好的機床模型文件放在以graphics 命名的文件夾里,替換到UG安裝目錄下的 SiemensNX1980MACH esourcelibrarymachineinstalled_machinesM06SDgraphics里[5]。
打開已經建好的CAM文件,該零件已經定義了一些操作和刀具,以便可以生成了刀具路徑。進入加工模塊里,加載后切換到操作導航器——機床視圖。將在最頂層節點找到“NULL_MACHINE”或“GENERIC_MACHINE”,將先前定義好的機床分配給實際的CAM零件。雙擊最上面的(機床)節點,單擊從庫中檢索機器按鈕以獲取可用機器的列表,從庫中檢索車銑復合機床MILL-TURN,找到之前建立的M06SD機床并打開。選擇零件放置定位使用部件安裝聯接,將零件安裝到主軸的三爪卡盤上,確定后系統加載對應的機床并將其與CAM部件成功連接,接下來就可以選擇刀具路徑運行機床仿真,如圖6所示。

圖6 虛擬機床仿真加工驗證
本文使用NX CSE虛擬機床仿真技術,創建了M06SD車銑復合數控機床的運動學模型,利用CSE建立了機床模擬和切削驗證,為數控機床虛擬模型仿真提供了技術支撐。CSE虛擬機床仿真是基于G代碼的機床虛擬仿真。其他的一些CAM軟件只是基于刀具路徑仿真,無法驗證G代碼的正確性;而CSE虛擬機床仿真技術同真實的CNC控制系統一樣,集成虛擬加工環境,直接讀取仿真G代碼,仿真更真實、直觀,更接近實際加工情況[6]。仿真后的G代碼可直接輸入數控系統進行加工,提高了數控加工質量,確保了數據的準確性和可用性,優化了數控加工時間,消除了事故的發生。