吳居豪,張玉婷,宋永浩,謝 堂,陶建華
(廣州大學(xué)機(jī)械與電氣工程學(xué)院,廣東廣州 510006)
隨著經(jīng)濟(jì)的發(fā)展,我國(guó)已成為世界制造業(yè)的重要基地。我國(guó)的裝備制造業(yè)能始終能保持技術(shù)先進(jìn)、成本低廉的優(yōu)勢(shì),這與模具的使用功不可沒(méi),因此,模具專業(yè)人員的勞動(dòng)力價(jià)值也愈發(fā)被關(guān)注。我國(guó)的模具制造與裝備制造依賴于大量專業(yè)化人才的智慧與努力,模具設(shè)計(jì)、制造、裝配維護(hù)等方面的技能人才更是供不應(yīng)求。然而,隨著模具行業(yè)人才流動(dòng)性的提高,從事該行業(yè)的人員越來(lái)越少,模具人才更是嚴(yán)重短缺。另外,由于經(jīng)濟(jì)發(fā)展制造業(yè)對(duì)模具需求急劇膨脹、模具工藝知識(shí)傳承的復(fù)雜性和極長(zhǎng)的周期性以及模具技師的老齡化,模具人才遠(yuǎn)遠(yuǎn)跟不上行業(yè)的發(fā)展需求,從而也對(duì)模具經(jīng)驗(yàn)和技術(shù)的積累造成不利的影響。因此,如何縮短模具人才培養(yǎng)周期,傳承模具技術(shù),積累學(xué)習(xí)工藝知識(shí)已成為中國(guó)制造業(yè)發(fā)展的當(dāng)務(wù)之急。
本文通過(guò)研究數(shù)控加工技術(shù)與工藝知識(shí)數(shù)據(jù)庫(kù)生成技術(shù),開(kāi)發(fā)一款基于PowerMILL的數(shù)控工藝知識(shí)庫(kù)自動(dòng)生成系統(tǒng)。該系統(tǒng)能從已有的編程項(xiàng)目文件中獲取加工對(duì)象的準(zhǔn)確信息,并生成相對(duì)應(yīng)的工藝知識(shí)清單,方便人員針對(duì)不同模型特征,學(xué)習(xí)工藝策略,在模具人才培養(yǎng)上具有適應(yīng)性和實(shí)用價(jià)值。
本系統(tǒng)運(yùn)行的支撐環(huán)境為PowerMILL。PowerMILL軟件為用戶提供了二次開(kāi)發(fā)控件,如PowerSolutionDOTNetOLE.dll控件。若系統(tǒng)安裝了PowerMILL軟件,該控件便生成在系統(tǒng)目錄下。同時(shí),該控件包含CopyCAD、PowerMILL、clsPowerMILLOLE、PowerShape等二次開(kāi)發(fā)接口。這種開(kāi)發(fā)方式是預(yù)先定義某些函數(shù)使開(kāi)發(fā)人員可通過(guò)直接訪問(wèn)這些接口調(diào)用函數(shù)來(lái)實(shí)現(xiàn)特定功能的技術(shù),有利于提高用戶的開(kāi)發(fā)效率。
本系統(tǒng)使用Visual Basic.NET Framework框架作為二次開(kāi)發(fā)框架。Visual Basic.NET Framework框架是用于WINDOWS新托管的代碼編程模式,它能夠把強(qiáng)大的功能與技術(shù)引入進(jìn)來(lái),使得用戶能夠運(yùn)用VB語(yǔ)言設(shè)計(jì)出友好的用戶界面,并可實(shí)現(xiàn)跨技術(shù)邊界的無(wú)縫通信。
本系統(tǒng)選用的數(shù)據(jù)庫(kù)為MySQL數(shù)據(jù)庫(kù),MySQL數(shù)據(jù)庫(kù)性能卓越、服務(wù)穩(wěn)定,而且其開(kāi)放源代碼而且無(wú)版權(quán)制約,自主性及使用成本相對(duì)較低,安裝方便,易于維護(hù)。此外,MySQL支持多種操作系統(tǒng),提供多種API接口,有利于系統(tǒng)開(kāi)發(fā)過(guò)程中與Visual Basic.NET框架的連接。
以上是相關(guān)開(kāi)發(fā)原理的介紹,系統(tǒng)的整體開(kāi)發(fā)思路如下:
開(kāi)發(fā)人員首先在Visual Studio中添加PowerSolutionDOTNetOLE.dll控件,通過(guò)調(diào)用clsPowerMILLOLE類的connect函數(shù)與PowerMILL軟件建立連接,再根據(jù)功能的需求調(diào)用其它類的相關(guān)接口函數(shù),結(jié)合VB語(yǔ)言進(jìn)行界面的創(chuàng)建和程序的編寫(xiě)。此外,為了將相關(guān)工藝策略及其參數(shù)值創(chuàng)建與保存至數(shù)據(jù)庫(kù),開(kāi)發(fā)人員在Visual Studio平臺(tái)上調(diào)用數(shù)據(jù)庫(kù)控件,實(shí)現(xiàn)與MySQL數(shù)據(jù)庫(kù)的連接,再結(jié)合VB語(yǔ)言與SQL語(yǔ)言進(jìn)行程序的編寫(xiě)和界面的創(chuàng)建,從而代替繁瑣的SQL語(yǔ)句命令操作。最后調(diào)用Microsoft Office Excel等相關(guān)軟件庫(kù)生成知識(shí)清單以及使用電腦系統(tǒng)自帶的記事本作為NC程序后處理模塊的數(shù)據(jù)存儲(chǔ)。如圖1、圖2、圖3所示。
圖1 系統(tǒng)總體技術(shù)路線
圖2 軟件開(kāi)發(fā)技術(shù)路線
圖3 系統(tǒng)總體結(jié)構(gòu)圖
該模塊屬于數(shù)據(jù)提取模塊。工藝參數(shù)分3部分提取,包括大小尺寸、元素列表、元素信息。其中大小尺寸包含模型尺寸與毛胚尺寸;元素列表包含該工程項(xiàng)目下的刀具路徑、刀具、邊界等相關(guān)信息;元素信息包含某刀具路徑下對(duì)應(yīng)的刀具直徑、刀尖半徑、刀柄長(zhǎng)度、主軸轉(zhuǎn)速、切削進(jìn)給、下切進(jìn)給等相關(guān)信息。這樣分類的目的是簡(jiǎn)化操作界面,方便用戶閱讀,從而快速識(shí)別出工藝參數(shù)類型。
在大小尺寸的提取部分中,開(kāi)發(fā)人員調(diào)用GetEntitySize函數(shù)進(jìn)行模型尺寸和大小尺寸的提取,該函數(shù)的功能是返回指定元素的最小值和最大值;在元素列表和元素信息的提取部分中,開(kāi)發(fā)人員調(diào)用GetEntitySize函數(shù)和GetEntityParameterInfo函數(shù)進(jìn)行相關(guān)信息的提取,GetEntitySize函數(shù)的功能是返回指定元素的信息列表,GetEntityParameterInfo函數(shù)的功能是計(jì)算出指定元素的變量,并返回到指定的數(shù)組中。
以下將以元素信息提取為例介紹相關(guān)的算法實(shí)現(xiàn)過(guò)程,其余兩部分的實(shí)現(xiàn)過(guò)程大致雷同,但調(diào)用函數(shù)有所區(qū)別。圖4所示為元素信息提取的算法實(shí)現(xiàn)流程圖,圖5所示為元素信息提取界面。
圖4 元素信息提取的算法實(shí)現(xiàn)流程圖
圖5 元素信息提取界面
該系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)遵循MySQL數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì)規(guī)范。數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)分為邏輯設(shè)計(jì)和物理設(shè)計(jì),邏輯設(shè)計(jì)是根據(jù)數(shù)據(jù)實(shí)體之間的邏輯關(guān)系對(duì)表進(jìn)行設(shè)計(jì);而物理設(shè)計(jì)則是根據(jù)所用的數(shù)據(jù)庫(kù)特點(diǎn)進(jìn)行表結(jié)構(gòu)的設(shè)計(jì)。由于存放數(shù)據(jù)的類型不同,需要對(duì)數(shù)據(jù)的類型進(jìn)行分析,分析其需要用什么數(shù)據(jù)類型進(jìn)行存放,這樣的類型分析劃分可以有效的減少內(nèi)存。根據(jù)數(shù)據(jù)間的關(guān)系,設(shè)計(jì)的數(shù)據(jù)庫(kù)ER圖如圖6所示,其中長(zhǎng)方體代表實(shí)體,橢圓形代表屬性,菱形代表關(guān)系。帶下劃線的屬性是主鍵屬性。
在數(shù)據(jù)庫(kù)保存模塊中,針對(duì)操作流程的規(guī)范性,開(kāi)發(fā)人員設(shè)計(jì)3種類型的數(shù)據(jù)表對(duì)工藝參數(shù)信息進(jìn)行存放。其中包括毛坯模型大小信息表(見(jiàn)表1)、工藝策略參數(shù)信息表(見(jiàn)表2)以及NC代碼信息表(見(jiàn)表3)。毛胚模型大小信息表用于存放毛坯和模型的大小尺寸數(shù)據(jù),設(shè)立6個(gè)坐標(biāo)值字段,包括X_Min、X_Max、Y_Min、Y_Max、Z_Min、Z_Max;工藝策略參數(shù)信息表用于存放工藝參數(shù)信息,包括刀具路徑名稱、刀具號(hào)、刀具類型、刀具直徑、刀具刀尖半徑、刀柄長(zhǎng)度大小,設(shè)立的字段包 括Tool_path、Tool_type、Tool_diameter、Tip_radius、Lengthe_of_hilt;NC代碼信息表設(shè)定NC字段名,采用varchar類型,長(zhǎng)度為30位,用于存放字符串?dāng)?shù)據(jù)。開(kāi)發(fā)人員最后再結(jié)合VB語(yǔ)言與SQL語(yǔ)言編寫(xiě)相關(guān)程序便可實(shí)現(xiàn)工藝參數(shù)信息的存放。
圖6 數(shù)據(jù)庫(kù)設(shè)計(jì)ER圖
表1 毛坯模型大小信息表
表2 工藝策略參數(shù)信息表
表3 NC代碼信息表
數(shù)據(jù)庫(kù)操作模塊主要分為連接數(shù)據(jù)庫(kù)、庫(kù)操作、表操作3大部分。用戶只需在操作界面上點(diǎn)擊相關(guān)按鈕,便可對(duì)數(shù)據(jù)庫(kù)進(jìn)行相關(guān)的操作,從而有效地代替MySQL數(shù)據(jù)庫(kù)中繁瑣的語(yǔ)句命令操作。
系統(tǒng)程序流程圖如圖7所示。
圖7 系統(tǒng)程序流程圖
圖8為PowerMILL工程項(xiàng)目文件下的模型圖,通過(guò)該系統(tǒng),用戶可以迅速地獲取該工程項(xiàng)目對(duì)應(yīng)的工藝策略及其參數(shù)信息,如圖9、圖10、圖11所示。
圖8 系統(tǒng)功能演示的模型圖
圖9 模型大小的信息提取界面圖
圖10 元素列表的信息提取界面圖
圖11 元素信息的信息提取界面圖
本文詳細(xì)概述了PowerMILL的二次開(kāi)發(fā)過(guò)程,通過(guò)調(diào)用其強(qiáng)大的API接口功能,選用交互界面設(shè)計(jì)更加友好的Visual Stdio平臺(tái),采用Visual Basic.NET框架進(jìn)行功能設(shè)計(jì),開(kāi)發(fā)一款基于PowerMILL的數(shù)控工藝知識(shí)庫(kù)自動(dòng)生成系統(tǒng)。實(shí)現(xiàn)對(duì)PowerMILL工程項(xiàng)目的工藝策略及其參數(shù)值自動(dòng)獲取與分析,并將獲取的工藝策略創(chuàng)建數(shù)據(jù)庫(kù),生成相應(yīng)的知識(shí)清單,有利于缺乏經(jīng)驗(yàn)的編程人員積累和學(xué)習(xí)工藝知識(shí),在模具人才培養(yǎng)上具有廣泛適應(yīng)性和實(shí)用價(jià)值;同時(shí),也有效地減少產(chǎn)品設(shè)計(jì)過(guò)程中由于人為錯(cuò)誤造成的經(jīng)濟(jì)損失,為同類產(chǎn)品的設(shè)計(jì)提供技術(shù)支持。