摘 要:文章以機床仿真碰撞為例,借助PowerMILL軟件二次開發(fā)平臺,運用VB.NET進行二次開發(fā),實現(xiàn)機床仿真碰撞工作批量執(zhí)行,以滿足客戶使用要求。
關鍵詞:VB.NET;機床仿真;PowerMILL
引言
PowerMILL是由英國Delcam公司開發(fā)的一個獨立運行,世界領先的專業(yè)數(shù)控加工編程軟件,現(xiàn)已成為國內汽車覆蓋件沖壓模具加工行業(yè)中主流的CAM軟件之一。其特點是簡單易用,計算速度快,刀具路徑安全無過切,無碰撞,加工策略豐富,刀路編輯功能強大,非常適合于高速及多軸加工的需求。但隨著加工行業(yè)的細分,各個加工廠家對軟件的功能有了更高的要求。因此軟件制作商為用戶提供了二次開發(fā)平臺,用戶可借此平臺進行二次開發(fā)來實現(xiàn)軟件更多的功能。本文講述運用PowerMILL軟件的二次開發(fā)模塊,解決常規(guī)編程中機床仿真只能逐一操作的問題,減少用戶繁瑣操作,達到效率提升。
1 常規(guī)編程操作中機床仿真問題
現(xiàn)階段,大部分汽車模具制造廠家,由于現(xiàn)場加工機床規(guī)格型號參差不齊,不同機床執(zhí)行同一程序對刀具長度的要求不同。針對機床型號不同的問題,各廠家做了相應對策。大致分為以下幾種:
1.1 刀具夾持設置
在編程軟件內部將刀具夾持部分增加機床頭護板部分,以一截圓柱形式設計且要求圓柱部分能包裹住現(xiàn)場最大機床主軸護板,以此刀具編程,程序編制完畢后碰撞檢查,參考碰撞信息最終確定刀具長度。
1.2 現(xiàn)場指定機床加工
現(xiàn)場計劃安排明確指定各個部件的加工機床,程序編制完畢調用相應型號的機床主軸模型進行仿真碰撞,參考碰撞信息最終確定加工刀長。
1.3 程序員逐個機床碰撞對比后指定現(xiàn)場加工機床
程序員編制程序后,將機床主軸頭模型根據外形尺寸由大到小順序逐個調入進行仿真碰撞,若外形尺寸最大的機床滿足加工,就可以判定現(xiàn)有刀具長度滿足全部機床,不滿足則選用小一型號機床仿真碰撞,直至選出符合要求的機床。
以上策略中,對于刀具加持設置的方法,由于參考最大尺寸主軸頭進行刀具設置,碰撞報告結果與現(xiàn)場實際差距較大,偶爾存在現(xiàn)場機床全不滿足要求的情況,不能使現(xiàn)場機床及刀具得到充分有效利用;而對于現(xiàn)場指定機床加工方法中,首先需要精細的計劃安排,其次對計劃安排人員技能要求較高,需做到對工件結構和機床參數(shù)以及加工進度非常了解,實施非常困難;如今,對于程序員逐個機床碰撞對比后指定現(xiàn)場加工機床的策略各個廠家應用較廣,此方法可以使現(xiàn)場機床及刀具得到合理有效利用,總體促進企業(yè)加工效率的提高,但也存在不足之處,例如程序員需逐個機床逐個程序進行仿真最終選擇機床和確定刀具長度,存在操作繁瑣,占用時間長,工作強度加大等弊端。減少操作步驟及減輕勞動強度的問題有待解決。軟件常規(guī)操作的局限性已成為制約用戶效率提高的瓶頸,自動批量操作已成為用戶更高的需求,若實現(xiàn)此功能,只能借助軟件的二次開發(fā)來實現(xiàn)。
2 通過二次開發(fā)實現(xiàn)批量執(zhí)行機床仿真碰撞
針對常規(guī)編程操作的機床仿真碰撞中的問題,運用第三方軟件VB.NET對PowerMILL軟件進行二次開發(fā),最終實現(xiàn)批量執(zhí)行機床仿真碰撞,減少了操作步驟,降低了勞動強度,實現(xiàn)效率最大化。大致分為以下幾步:
2.1 界面設置和添加PowerMILL軟件與VB.NET的鏈接
界面包括程序列表及機床主軸頭列表,同時包含仿真執(zhí)行操作按鈕,滿足多程序及多機床同時執(zhí)行批量仿真碰撞操作。(界面如圖所示)
2.2 添加代碼
點擊相應按鈕后添加對應代碼,使其以代碼的先后順序執(zhí)行,執(zhí)行完畢后反饋最終報告,供編程員分析對比,最終確定加工機床及刀具參數(shù)。以下為單一機床的調入及執(zhí)行仿真碰撞命令代碼,實現(xiàn)多個機床及多個程序批量執(zhí)行只需添加相應條件和循環(huán)語句即可。
PMILL.ExecuteEx(\"macro 'E:\編程數(shù)據庫\Pmill2\機床頭調用\10#.mac'\")'機床輸入
PMILL.ExecuteEx(\"ACTIVATE MACHINETOOL 'KM 10#'\")'激活機床
PMILL.ExecuteEx(\"UNDRAW MACHINETOOL 'KM 10#'\")'隱藏機床模型
Dim toolpath As String = ListBox1.SelectedItems(i)
PMILL.ExecuteEx(\"ACTIVATE Toolpath \" toolpath.ToString) '激活刀具路徑
PMILL.ExecuteEx(\"SIMULATE TOOLPATH \" toolpath.ToString \" TOOLBAR SIMULATION RAISE\")
info = info PMILL.ExecuteEx(\"SIMULATE PLAY\")'報告碰撞結果
部分實例代碼
2.3 調試封裝
命令代碼設置完畢進行調試作業(yè),以便驗證執(zhí)行過程及結果是否達到預期效果,對應問題逐步完善,最終達到預期效果后進行封裝。
通過以上二次開發(fā),一方面,增強了軟件的部分功能,簡化了編程員的操作步驟,將編程員從繁瑣的操作過程中解放出來,大大降低了工作強度,并將等待時間轉換為其它工作,整體提高了工作效率;另一方面,實現(xiàn)多個程序或機床仿真碰撞,仿真完畢后將各個程序/機床的碰撞信息整體報告給用戶,可協(xié)助用戶綜合比較各方面因素,正確更改刀具長度和布置加工機床,使機床及刀具得到合理有效利用,提高用戶整體加工效益。
3 結束語
二次開發(fā)程序中的幾個簡單操作就能取代常規(guī)編程中大量繁瑣操作,而且部分功能常規(guī)編程是根本無法實現(xiàn)的,展望未來,軟件的二次開發(fā)將逐步成為降低程序員勞動強度和提高編程效率的主要途徑。通過對軟件的二次開發(fā),完善并提高軟件的功能,打造符合用戶要求的軟件,必將給企業(yè)的編程效率及加工質量的提高帶來質的飛越。
參考文獻
[1]楊書榮,周敏.深入淺出PowerMILL數(shù)控編程[M].北京:中國電力出版社,2008.
[2]劉炳文.Visual Basic 程序設計教程[M].北京:清華大學出版社,2009.
作者簡介:王海東,男,河北工業(yè)職業(yè)技術學院,助理工程師。