0 引言
產(chǎn)品生命周期管理(Product Lifecycle Management,PLM)是覆蓋了從產(chǎn)品誕生到消亡開放過程所開發(fā)的互操作的應(yīng)用方案。Teamcenter是一款軟件系統(tǒng),它的開發(fā)環(huán)境是集成開發(fā)工具包ITK(IntegrationToolkit)。該系統(tǒng)采用客戶端/服務(wù)器(C/S)架構(gòu)模式,其二次開發(fā)分為客戶端和服務(wù)器端。其中,客戶端使用JAVA語(yǔ)言開發(fā)用戶界面層,同樣客戶端的二次開發(fā)也使用JAVA語(yǔ)言;服務(wù)器端二次開發(fā)則要利用ITK工具包及C語(yǔ)言,ITK實(shí)質(zhì)上就是一套經(jīng)過封裝的C語(yǔ)言程序集。本文研究了如何在Teamcenter系統(tǒng)上,通過對(duì)服務(wù)器端的二次開發(fā)實(shí)現(xiàn)物料清單(BOM)的生成。
1 BOM的結(jié)構(gòu)和特點(diǎn)
BOM主要描述產(chǎn)品結(jié)構(gòu)信息中有關(guān)產(chǎn)品物料組成和配置信息,它不僅反映產(chǎn)品物料的組成情況,而且能反映產(chǎn)品各物料之間的從屬關(guān)系。在實(shí)際生產(chǎn)中,零組件之間的裝配關(guān)系是一個(gè)多對(duì)多的關(guān)系,所以BOM的原始數(shù)據(jù)結(jié)構(gòu)呈網(wǎng)狀結(jié)構(gòu)。網(wǎng)狀的BOM結(jié)構(gòu)如圖1所示,其中,A、B、C、D、E、F、G、H、I、J、K、L分別代表不同的零組件。
圖1 網(wǎng)狀的BOM結(jié)構(gòu)
但是這種網(wǎng)狀結(jié)構(gòu)不便于對(duì)數(shù)據(jù)的管理和使用,所以要對(duì)網(wǎng)狀結(jié)構(gòu)進(jìn)行處理。為了能夠清晰地展示產(chǎn)品的結(jié)構(gòu)關(guān)系,就要打破這種網(wǎng)狀結(jié)構(gòu),把在同一位置重復(fù)的部件和零件進(jìn)行拆分,按不同的部件來處理,于是就有了產(chǎn)品結(jié)構(gòu)樹。所謂產(chǎn)品結(jié)構(gòu)樹是由產(chǎn)品、部件與零件的相互依賴關(guān)系組成的樹狀結(jié)構(gòu)。樹狀的BOM結(jié)構(gòu)如圖2所示。
圖2是由圖1轉(zhuǎn)化來的,其中A、B、C、D、G、H、H、I、J沒有變動(dòng),E1、E2和E,F(xiàn)1、F2和F,K1、K2和K,L1、L2和L是同一個(gè)零組件,只是裝配的位置不同。
圖2 樹狀的BOM結(jié)構(gòu)
用產(chǎn)品結(jié)構(gòu)樹來反映產(chǎn)品結(jié)構(gòu)比較直觀,方便人們對(duì)部件和零件的信息進(jìn)行有效的管理。
本文針對(duì)BOM的結(jié)構(gòu)和特點(diǎn),將網(wǎng)狀結(jié)構(gòu)的實(shí)際產(chǎn)品結(jié)構(gòu)轉(zhuǎn)換成樹狀結(jié)構(gòu),把樹狀結(jié)構(gòu)每個(gè)節(jié)點(diǎn)的信息存儲(chǔ)在Excel軟件中,通過VB程序和C程序驅(qū)動(dòng),實(shí)現(xiàn)BOM的生成。
2 BOM生成
國(guó)內(nèi)外對(duì)BOM的研究很多,但是側(cè)重于BOM應(yīng)用與轉(zhuǎn)換,而對(duì)BOM是如何生成的并沒有詳細(xì)地闡述。對(duì)于企業(yè)來說,如果能快速、穩(wěn)定地生成BOM,將大大提高企業(yè)的效率。本文提出了一種在Teamcenter中BOM生成的Excel驅(qū)動(dòng)生成算法,實(shí)現(xiàn)了在Teamcenter中BOM結(jié)構(gòu)的生成,BOM生成的流程如圖3所示。
圖3 BOM生成的流程
2.1 數(shù)據(jù)處理
根據(jù)樹狀BOM結(jié)構(gòu)的特點(diǎn),在將部件和零件信息儲(chǔ)存在Excel表格中時(shí),對(duì)于相同部件或零件的信息需要重復(fù)存儲(chǔ),儲(chǔ)存Item信息的Excel表格形式如圖4所示。
圖4 儲(chǔ)存Item信息的Fxcel表格形式
部件和零件的信息儲(chǔ)存在Exce1表格中是無(wú)序的,調(diào)用VB程序?qū)Φ蛯哟a進(jìn)行排序,可以使無(wú)序的零組件(Item)信息變成有序的Item信息。
2.2 運(yùn)用ITK開發(fā)程序
在ITK工具包的utilities項(xiàng)中可以編寫代碼對(duì)Teamcenter進(jìn)行操作。以下是實(shí)現(xiàn)的步驟。
1)讀取VB生成的排序信息。
2)創(chuàng)建Item,其函數(shù)如下:
ITEM_create_item(altmld,aItmName,aItmType,altmld,&tagNewltm,&tagNewltmRev);
3)保存到Home文件夾下,其函數(shù)如下:
SA_ask_user_home_folder(tagMyUser,&tagMyHomeFdr);
FI_insert(tagMyHomeFdr,tagFdr);
4)尋找Item及其版本,其函數(shù)如下:
ITEM_find(aItmId,&numltm,&tagNewjtm);
ITEM_ask_latest_rev(tagNewltm,&tagNewItmRev);
5)建視圖(BOM view)及其版本,其函數(shù)如下:
PS_create_BOM_view(tagviewlype,"","",tagNewltm,&tagBOMview);
PS_crcate_hvr(tagBOMview,"","",true,tagNewltmRev,&tagbvr);
6)創(chuàng)建BOM關(guān)系,其函數(shù)如下:
PS_create_occurrences(TargetTaghvr,tagNewItmRevl,NUI,LrrAC,1,&occurrences_tag);
7)保存數(shù)據(jù),其函數(shù)如下:
AOM_save(tagNewltm);
AOM_save(tagNewltmRev);
2.3 BOM生成算法
產(chǎn)品結(jié)構(gòu)之間的裝配關(guān)系是根據(jù)Excel表格中的低層碼而定。所以按照Excel表格通過一定的算法就可以生成BOM樹結(jié)構(gòu),圖5所示為BOM生成的Excel驅(qū)動(dòng)生成算法流程,圖5中,n為零件個(gè)數(shù)。
2.4 批處理生成最終文件
批處理文件,或稱為批處理程序,是由一條條的DOS命令組成的普通文本文件。在“命令提示”下鍵入批處理文件的名稱,或者雙擊該批處理文件,系統(tǒng)就會(huì)運(yùn)行該批處理程序。以下是本文生成的批處理文件中的語(yǔ)句:
圖5 BOM生成的Excel驅(qū)動(dòng)生成算法流程
其中tc8_TC8DB.bat也是一個(gè)批處理文件,其內(nèi)部的內(nèi)容主要是設(shè)置程序的運(yùn)行環(huán)境,語(yǔ)句如下:
3 應(yīng)用實(shí)例
筆者參加了某汽車企業(yè)的Teamcenter項(xiàng)目系統(tǒng)的開發(fā)和實(shí)施工作,該企業(yè)的Item信息需要從外部導(dǎo)入,筆者應(yīng)企業(yè)要求開發(fā)了Teamcenter外部程序,實(shí)現(xiàn)了BOM生成的Excel驅(qū)動(dòng)生成算法,以下為BOM生成的過程。
1)在該企業(yè)的Teamcenter環(huán)境下新建一個(gè)CreateBom的文件夾,此文件夾用于存放生成BOM需要的可執(zhí)行文件、Excel表格文件、批處理文件以及Txt文件。
2)運(yùn)用Microsoft Visual Basic 6.0軟件編譯VB程序,生成可執(zhí)行文件ProcessData.exe,把此文件拷貝到CreateBom文件夾下。
3)運(yùn)用Eclipse3.5軟件編譯C程序,生成可執(zhí)行文件Bom.exe,把此文件拷貝到CreateBom文件夾下。
4)編寫批處理文件Execute.bat,把此文件拷貝到CreateBom文件夾下。
5)在CreateBom文件夾下新建Excel表格Items.xls,并填寫Item的信息,儲(chǔ)存Item信息的Excel表格如圖6所示。
圖6 儲(chǔ)存Item信息的Excel表格
6)雙擊執(zhí)行批處理文件Execute.bat,將在CreateBom文件夾下自動(dòng)生成文本文件Items.txt,此文件存放處理后的Item信息。待程序執(zhí)行完進(jìn)入Teamcenter系統(tǒng),將發(fā)現(xiàn)在Teamcenter的Home文件夾下生成了“Fabia Fl自動(dòng)排擋蓋板總成”的文件夾,把其中的ID為“5JD713111F”的零組件發(fā)送到Teamcenter的結(jié)構(gòu)管理器,將會(huì)看到生成的BOM結(jié)構(gòu),如圖7所示。
圖7 生成的BOM結(jié)構(gòu)
7)如果還要繼續(xù)生成其他的BOM結(jié)構(gòu),需要重新填寫Excel表格Items.xls和執(zhí)行批處理文件Execute.bat。
4 結(jié)語(yǔ)
通過對(duì)Teamcenter系統(tǒng)進(jìn)行服務(wù)器端的二次開發(fā),結(jié)合多種計(jì)算機(jī)語(yǔ)言,根據(jù)語(yǔ)言的特點(diǎn)合理地設(shè)計(jì)程序,使該程序適合在不同企業(yè)環(huán)境下創(chuàng)建BOM結(jié)構(gòu)樹,達(dá)到方便企業(yè)用戶結(jié)合自己的產(chǎn)品導(dǎo)入BOM到Teamcenter系統(tǒng)的目的。在滿足企業(yè)個(gè)性化需求的同時(shí),能夠極大地提高企業(yè)的效率。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:Teamcenter中的BOM生成算法研究
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401937695.html