水刀切割專用數(shù)控系統(tǒng)CAD/CAM一體化上位機(jī)軟件開發(fā)
CAD/CAM 一體化上位機(jī)軟件主要包括 CAD、CAM、CNC 等模塊。下面分別對CAD、CAM 及 CNC 模塊的主要功能進(jìn)行設(shè)計(jì): (1)CAD 模塊
在該模塊中要設(shè)計(jì)一個(gè)友好的用戶界面,提供菜單欄,工具欄,命令框等。該模塊要能夠完成讀取二維圖形文件如.dxf 文件,二維圖形的繪制、編輯修改等功能。該模塊的主要內(nèi)容有:
1)菜單欄。它主要提供不同功能模塊的菜單,如文件(File)、修改(Modify)、數(shù)控通信(HNCWindow)等,每一模塊完成不同的功能,并且每一模塊里還有子模塊(即子菜單),細(xì)化各個(gè)部分的功能。 2)基本二維圖形繪制。包括:點(diǎn),直線,圓弧,圓,橢圓,多義線(polyline),多邊形(polygon),樣條曲線(spline)、文本(text)等。 3)二維圖形編輯修改。該功能模塊主要是完成對所繪制的圖形或是從二維圖形文件中讀取的圖形進(jìn)行編輯修改等,其內(nèi)容包括:選中,移動(dòng),復(fù)制,偏置,旋轉(zhuǎn),縮放,鏡像等。 4)數(shù)據(jù)存儲。它主要是對繪制的圖形數(shù)據(jù)信息進(jìn)行序列化存儲,以文本格式或是二進(jìn)制格式輸出到文件中。 5)文件管理。它主要是完成對文件的管理,如:新建、保存、另存、打開讀取文件等。 6)圖層和塊。圖層主要是考慮到有時(shí)使某些圖形處在不同的圖層中,然后對某些圖形進(jìn)行隱藏,或是輸出保存某個(gè)圖層的圖形信息。塊主要是對部分圖形進(jìn)行打包成塊,然后整體進(jìn)行編輯修改或是復(fù)制、刪除,簡便操作。 7)窗口。對打開所有窗口進(jìn)行一個(gè)管理,包括窗口之間的切換、窗口模式及對具體單個(gè)窗口進(jìn)行各項(xiàng)操作等。 8)幫助。主要是用戶手冊,聯(lián)網(wǎng)線上查詢資料,及有關(guān)此軟件操作的說明。 (2)CAM 模塊CAM 模塊主要是實(shí)現(xiàn)將由 CAD 模塊得到的二維圖形輪廓生成可以直接驅(qū)動(dòng)機(jī)床軸運(yùn)動(dòng)的五軸數(shù)控 G 代碼。CAM 模塊從宏觀上來看主要由圖形實(shí)體屬性排序換向、五軸水刀加工工藝參數(shù)的設(shè)置及數(shù)據(jù)序列化存儲,后置處理及能夠直接用于數(shù)控加工的五軸數(shù)控代碼的自動(dòng)生成,數(shù)控加工仿真三大部分組成。圖形實(shí)體屬性排序換向的設(shè)置(圖形實(shí)體順序重排和圖形實(shí)體換向)、五軸水刀加工工藝參數(shù)的設(shè)置等這些都是為確定加工軌跡而生成初步 G 代碼做準(zhǔn)備的,然后計(jì)算出機(jī)床各軸位移增量,最后對工件加工的過程進(jìn)行仿真。該模塊具體內(nèi)容如下: 1)圖形實(shí)體屬性排序換向、五軸水刀加工工藝參數(shù)的設(shè)置及序列化存儲圖形實(shí)體屬性排序換向的設(shè)置包括圖形實(shí)體排序和圖形實(shí)體換向。CAD 功能模塊在創(chuàng)建圖形實(shí)體時(shí)或是從二維圖形文件(如.dxf 文件)中讀取圖形實(shí)體時(shí),實(shí)體與實(shí)體之間不存在任何約束關(guān)系(即先加工哪一段實(shí)體順序不定),即使實(shí)體本身也存在著方向的不確定性,如可以是繪圖起點(diǎn)指向繪圖終點(diǎn)方向,也可以是繪圖終點(diǎn)指向繪圖起點(diǎn)方向。所以為了確定走刀路徑及加工次序,需要對實(shí)體進(jìn)行重排(手動(dòng)或是自動(dòng)),及換向的操作。根據(jù)五軸水刀加工工藝要求,還需要設(shè)定五軸水刀加工工藝參數(shù),如偏轉(zhuǎn)方向、偏置方向、偏轉(zhuǎn)角度、偏置半徑、進(jìn)給速度等,及實(shí)現(xiàn)這些參數(shù)的序列化存儲。序列化(Serialization)是將類對象的狀態(tài)信息轉(zhuǎn)換為可以存儲或傳輸?shù)男问降倪^程[40]。序列化的主要目的是:以某種存儲形式如二進(jìn)制文件的格式將自定義對象永久保存;將對象從一個(gè)地方傳遞保存到另一個(gè)地方;使程序更具維護(hù)性。通俗的說就是為了便于操作者在上一次操作未完成時(shí)就關(guān)閉程序或是關(guān)機(jī)等,下次再打開文件接著上一次未編輯完的操作繼續(xù)進(jìn)行編輯修改。 2)后置處理及五軸數(shù)控代碼的自動(dòng)生成后置處理主要是通過坐標(biāo)變換將給定的點(diǎn)的繪圖坐標(biāo)及實(shí)體偏轉(zhuǎn)角度和偏置半徑(相對于坐標(biāo)系中的 Z 軸而言)轉(zhuǎn)換成機(jī)床各個(gè)加工軸的位移增量(即五軸機(jī)床五個(gè)軸運(yùn)動(dòng)坐標(biāo)),然后通過變換后的點(diǎn)的坐標(biāo)及角度生成能夠直接用于數(shù)控加工的五軸數(shù)控代碼。 五軸數(shù)控加工代碼編程的格式: G01 X_Y_Z_A_B_F_ 指令說明: X_Y_Z_指定刀具中心點(diǎn)的位置 A_B_指定旋轉(zhuǎn)軸偏轉(zhuǎn)角度 F_刀具中心點(diǎn)的進(jìn)給速度 3)數(shù)控加工仿真 數(shù)控加工仿真是集 CAD、CAM、數(shù)學(xué)建模及仿真于一體,通過在計(jì)算機(jī)的虛擬環(huán)境中對加工圖形走刀軌跡進(jìn)行模擬仿真。能夠真實(shí)的反應(yīng)刀具走刀方式、切割零件的形狀、刀具與切割工件間是否發(fā)生干涉(切削余量)等,從而檢查數(shù)控加工程序是否正確及判斷加工方案是否合理,以減少試切的次數(shù),最終縮短產(chǎn)品開發(fā)周期、提高產(chǎn)品質(zhì)量及生產(chǎn)效率等。 (3)CNC 模塊在 Windows 操作平臺下進(jìn)行華中 8 型的二次開發(fā),就需要開發(fā)者將華中 8 型相關(guān)的二次開發(fā)軟件包加入自己開發(fā)的工程文件夾中,這個(gè)過程稱之為 C++二次開發(fā)庫的配置。完成這個(gè)配置后,就可以通過華中 8 型軟件包提供的二次開發(fā)接口獲取下位機(jī)數(shù)控系統(tǒng)的數(shù)據(jù)信息,從而對下位機(jī)數(shù)控系統(tǒng)進(jìn)行控制,并且可以將上位機(jī)數(shù)據(jù)信息發(fā)送給下位機(jī)。這樣,用戶可以定制適合自己的專用的功能界面,并且獲得數(shù)控系統(tǒng)底層的數(shù)據(jù)信息而不需要知道接口函數(shù)實(shí)現(xiàn)的細(xì)節(jié),縮短了開發(fā)的周期且提高了開發(fā)的效率。 擬開發(fā)的 CAD/CAM 一體化上位機(jī)軟件中調(diào)用 HNC-8 的一些庫函數(shù)獲得下位機(jī)數(shù)控系統(tǒng)信息,及將 CAD/CAM 一體化上位機(jī)的信息傳到下位機(jī)數(shù)控系統(tǒng),這個(gè)通信的過程主要是靠華中 8 型提供的以太網(wǎng)口通過網(wǎng)線連接來實(shí)現(xiàn)的。傳遞信息主要有對G 代碼文件的操作包括向下位機(jī)發(fā)送 G 代碼文件、獲取下位機(jī) G 代碼文件、打開本地 G 代碼文件、保存本地 G 代碼文件,網(wǎng)絡(luò)連接,G 代碼編輯框,坐標(biāo)系類型,X、Y、Z、A、B 實(shí)時(shí)坐標(biāo),工件指令,進(jìn)給速度等。