0 引言
产品生命周期管理(Product Lifecycle Management,PLM)是覆盖了从产品诞生到消亡开放过程所开发的互操作的应用方案。Teamcenter是一款软件系统,它的开发环境是集成开发工具包ITK(IntegrationToolkit)。该系统采用客户端/服务器(C/S)架构模式,其二次开发分为客户端和服务器端。其中,客户端使用JAVA语言开发用户界面层,同样客户端的二次开发也使用JAVA语言;服务器端二次开发则要利用ITK工具包及C语言,ITK实质上就是一套经过封装的C语言程序集。本文研究了如何在Teamcenter系统上,通过对服务器端的二次开发实现物料清单(BOM)的生成。
1 BOM的结构和特点
BOM主要描述产品结构信息中有关产品物料组成和配置信息,它不仅反映产品物料的组成情况,而且能反映产品各物料之间的从属关系。在实际生产中,零组件之间的装配关系是一个多对多的关系,所以BOM的原始数据结构呈网状结构。网状的BOM结构如图1所示,其中,A、B、C、D、E、F、G、H、I、J、K、L分别代表不同的零组件。
图1 网状的BOM结构
但是这种网状结构不便于对数据的管理和使用,所以要对网状结构进行处理。为了能够清晰地展示产品的结构关系,就要打破这种网状结构,把在同一位置重复的部件和零件进行拆分,按不同的部件来处理,于是就有了产品结构树。所谓产品结构树是由产品、部件与零件的相互依赖关系组成的树状结构。树状的BOM结构如图2所示。
图2是由图1转化来的,其中A、B、C、D、G、H、H、I、J没有变动,E1、E2和E,F1、F2和F,K1、K2和K,L1、L2和L是同一个零组件,只是装配的位置不同。
图2 树状的BOM结构
用产品结构树来反映产品结构比较直观,方便人们对部件和零件的信息进行有效的管理。
本文针对BOM的结构和特点,将网状结构的实际产品结构转换成树状结构,把树状结构每个节点的信息存储在Excel软件中,通过VB程序和C程序驱动,实现BOM的生成。
2 BOM生成
国内外对BOM的研究很多,但是侧重于BOM应用与转换,而对BOM是如何生成的并没有详细地阐述。对于企业来说,如果能快速、稳定地生成BOM,将大大提高企业的效率。本文提出了一种在Teamcenter中BOM生成的Excel驱动生成算法,实现了在Teamcenter中BOM结构的生成,BOM生成的流程如图3所示。
图3 BOM生成的流程
2.1 数据处理
根据树状BOM结构的特点,在将部件和零件信息储存在Excel表格中时,对于相同部件或零件的信息需要重复存储,储存Item信息的Excel表格形式如图4所示。
图4 储存Item信息的Fxcel表格形式
部件和零件的信息储存在Exce1表格中是无序的,调用VB程序对低层码进行排序,可以使无序的零组件(Item)信息变成有序的Item信息。
2.2 运用ITK开发程序
在ITK工具包的utilities项中可以编写代码对Teamcenter进行操作。以下是实现的步骤。
1)读取VB生成的排序信息。
2)创建Item,其函数如下:
ITEM_create_item(altmld,aItmName,aItmType,altmld,&tagNewltm,&tagNewltmRev);
3)保存到Home文件夹下,其函数如下:
SA_ask_user_home_folder(tagMyUser,&tagMyHomeFdr);
FI_insert(tagMyHomeFdr,tagFdr);
4)寻找Item及其版本,其函数如下:
ITEM_find(aItmId,&numltm,&tagNewjtm);
ITEM_ask_latest_rev(tagNewltm,&tagNewItmRev);
5)建视图(BOM view)及其版本,其函数如下:
PS_create_BOM_view(tagviewlype,"","",tagNewltm,&tagBOMview);
PS_crcate_hvr(tagBOMview,"","",true,tagNewltmRev,&tagbvr);
6)创建BOM关系,其函数如下:
PS_create_occurrences(TargetTaghvr,tagNewItmRevl,NUI,LrrAC,1,&occurrences_tag);
7)保存数据,其函数如下:
AOM_save(tagNewltm);
AOM_save(tagNewltmRev);
2.3 BOM生成算法
产品结构之间的装配关系是根据Excel表格中的低层码而定。所以按照Excel表格通过一定的算法就可以生成BOM树结构,图5所示为BOM生成的Excel驱动生成算法流程,图5中,n为零件个数。
2.4 批处理生成最终文件
批处理文件,或称为批处理程序,是由一条条的DOS命令组成的普通文本文件。在“命令提示”下键入批处理文件的名称,或者双击该批处理文件,系统就会运行该批处理程序。以下是本文生成的批处理文件中的语句:
图5 BOM生成的Excel驱动生成算法流程
其中tc8_TC8DB.bat也是一个批处理文件,其内部的内容主要是设置程序的运行环境,语句如下:
3 应用实例
笔者参加了某汽车企业的Teamcenter项目系统的开发和实施工作,该企业的Item信息需要从外部导入,笔者应企业要求开发了Teamcenter外部程序,实现了BOM生成的Excel驱动生成算法,以下为BOM生成的过程。
1)在该企业的Teamcenter环境下新建一个CreateBom的文件夹,此文件夹用于存放生成BOM需要的可执行文件、Excel表格文件、批处理文件以及Txt文件。
2)运用Microsoft Visual Basic 6.0软件编译VB程序,生成可执行文件ProcessData.exe,把此文件拷贝到CreateBom文件夹下。
3)运用Eclipse3.5软件编译C程序,生成可执行文件Bom.exe,把此文件拷贝到CreateBom文件夹下。
4)编写批处理文件Execute.bat,把此文件拷贝到CreateBom文件夹下。
5)在CreateBom文件夹下新建Excel表格Items.xls,并填写Item的信息,储存Item信息的Excel表格如图6所示。
图6 储存Item信息的Excel表格
6)双击执行批处理文件Execute.bat,将在CreateBom文件夹下自动生成文本文件Items.txt,此文件存放处理后的Item信息。待程序执行完进入Teamcenter系统,将发现在Teamcenter的Home文件夹下生成了“Fabia Fl自动排挡盖板总成”的文件夹,把其中的ID为“5JD713111F”的零组件发送到Teamcenter的结构管理器,将会看到生成的BOM结构,如图7所示。
图7 生成的BOM结构
7)如果还要继续生成其他的BOM结构,需要重新填写Excel表格Items.xls和执行批处理文件Execute.bat。
4 结语
通过对Teamcenter系统进行服务器端的二次开发,结合多种计算机语言,根据语言的特点合理地设计程序,使该程序适合在不同企业环境下创建BOM结构树,达到方便企业用户结合自己的产品导入BOM到Teamcenter系统的目的。在满足企业个性化需求的同时,能够极大地提高企业的效率。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/