APP下载

适应设备改造的维护BOM表动态生成技术研究

2010-04-11骆华武

制造业自动化 2010年12期
关键词:结点定义动态

胡 浩,汪 崟,骆华武,李 锋

HU Hao1,2, WANG Yin1, LUO Hua-wu3, LI Feng1

(1. 浙江理工大学 艺术与设计学院,杭州 310018;2. 浙江大学CAD&CG国家重点实验室,杭州 310027 3. 杭州娃哈哈集团有限公司,杭州 310018)

适应设备改造的维护BOM表动态生成技术研究

The dynamic generating technique of maintenance bill of material adaptation for equipment adjustment

胡 浩1,2,汪 崟1,骆华武3,李 锋1

HU Hao1,2, WANG Yin1, LUO Hua-wu3, LI Feng1

(1. 浙江理工大学 艺术与设计学院,杭州 310018;2. 浙江大学CAD&CG国家重点实验室,杭州 310027 3. 杭州娃哈哈集团有限公司,杭州 310018)

长寿命机械设备在使用者维护方式下会由于各种原因进行设备改造,设备改造会改变设备结构进而影响到从设备结构中派生出的维护BOM表。为了能够适应设备改造对维护BOM表带来的各种调整与更改,本文提出了一种维护BOM表的动态生成技术。首先,将设备结构形式化地定义为结构树,并定义其中的各种元素以及各种操作;然后每次设备改造被归纳为增加新模块、去除旧模块以及叶结点模块内部结构的更改3种基本情况的组合,每种情况都会对制造商提供的原始维护BOM表进行更改以生成新的维护BOM表,可以利用设备结构树上的操作将每种情况定义为一种基本算法,3种基本算法被组合成维护BOM表动态生成算法就能够定义设备改造对维护BOM表造成所有可能的更改而生成新的维护BOM表。最后以碳酸制瓶机设备改造前后的维护BOM表的变化作为案例阐述了研究思路。

设备结构树;维护BOM表;设备改造;维护BOM表动态生成算法

0 引言

物料清单(Bill of Material,BOM)是产品结构的描述性文件,其中包括产品结构关系以及零部件模块的基本属性信息。维护BOM表(Maintenance Bill of Material,MBOM)是维修服务部门根据零部件的相关属性信息,按具体维修要求从设备结构中筛选出来的维护备用件清单。维护BOM表的信息结构反映了维修生产的实际需求,提供了维修备用件物料编码、备用件数量、单位、备用件库存种类、采购周期等管理信息。

目前国内有关的BOM的研究主要集中在PDM/ERP系统中BOM的结构、构造算法以及BOM的管理系统研究上。其中学者郝广科、何卫平等[1]提出了PLM背景下的BOM多视图映射技术,首先建立BOM结构数学模型,然后给出BOM结构映射算法;学者项艳梅等[2]提出了基于BOM将产品设计视图、产品工艺视图以及制造视图进行集成。学者张帅、孙树栋等[3]基于大型装备的装配问题提出维护BOM建构方法;学者倪现存,左洪福等提出基于PDM的民机航线维修BOM管理系统的研究与开发方法[4]。

长寿命机械设备出厂之后的维护可以分成使用者维护(organizational maintenance)、中间层维护(intermediate maintenance)以及制造商维护(manufacturer maintenance)三种方式,在使用者维护方式下,假设设备出厂后制造商提供了设备结构(图纸或者CAD模型)信息以及维护备用件清单—原始维护BOM表,这是使用者维护的基础。

使用者维护方式下的设备维护过程中,由于备件供应、生产调整以及技术淘汰等各种原因,往往会经历零到数次的设备改造(equipment modification),设备改造活动带来了设备结构的改变,而维护BOM表也需要重新生成。本文提出一种能够适应设备改造的维护BOM表的动态生成技术,能够依据设备改造活动对于设备结构的具体改变情况而修改原来维护BOM(制造商提供原始维护BOM表或者以前设备改造后的修改的维护BOM表)生成新的维护BOM表。

1 设备结构树的元素与操作

维护BOM有两种形式,一种是设备结构树的形式,而另一种是从设备结构树中提取出的维修备用件的表格清单-维护BOM表,本文所研究的维护BOM表是多层BOM表,维护BOM表中的每行都是维护备用件的各种维护生产属性信息[5],为了实现适应设备改造的维护BOM表的动态生成技术,首先需要根据维护生产需求定义设备结构树上的元素以及从设备结构树选择备用件模块插入维护BOM表的各种操作。

1.1 设备结构树的数据对象与基本操作

设备结构树中各种元素与操作定义如下:

T(Tree){

数据对象P:

设备结构模块P(Part)∈PS,PS(Parts Set)是设备结构树中所有结构模块的集合。

PS中的设备结构模块分为两类:Ⅰ、维护模块(Maintenance Part,MP):在设备维修中需要进行维护保养的模块,设备结构树根节点(整机)是维护模块;Ⅱ、非维护模块:在设备结构树中除了维护模块以外的其余结点都是非维护模块。

维护模块还可以分为两类:Ⅰ、最小维护模块(indivisibility maintenance part ,IMP):是指在维修生产中,作为模块修理更换、备件库存或者采购的不可分割的维护单元即维护备用件,维护BOM表中的维护备用件都是最小维护模块[6];Ⅱ、非最小维护模块:维护模块中除了最小维护模块之外都是非最小维护模块。

基本操作O:

IsMP(&T,&p); 初始条件:树T存在,p是树中某个结点。操作结果:如果p是维护模块,则返回为True(1),否则返回False(0)。

IsIMP(&T,&p); 初始条件:树T存在,p是树中某个结点。操作结果:如果p是最小维护模块,则返回为True(1),否则返回False(0)。

IsLeaf(&T,&p); 初始条件:树T存在,p是树中某个结点。操作结果:如果p是结构树上的叶结点,则返回为True(1),否则返回False(0)。

ChildSet(&T,&p); 初始条件:树T存在,p是树中某个结点。操作结果:若p为非叶结点,返回p的子结点集合;若p为叶结点(可分解模块),则返回其下一层子结点集合。

ExpandChild(&T,&p); 初始条件:树T存在,p指向T中某个叶结点(可分解成下一层子结点)。操作结果:展开结点p的所有下一层子结点。

1.2 设备结构树的扩展操作

与维护BOM表相关的附加操作AO:

InsertMBOM (&T,&p);初始条件:树T存在,p是树中某个最小维护模块结点。操作结果:将p代表的最小维护模块插入维护BOM表的行项目中。

DeleteMBOM (&T,&p);初始条件:树T存在,p是树中某个最小维护模块结点。操作结果:将代表p结点的最小维护模块从维护BOM表的行项目集合中删除。

在基本操作O与附加操作AO基础上定义的扩展操作EO:

ExpandChildTree(&T,&p){

ExpandChild(&T,&p);

For (&p &c:ChildSet(&T,&p)) {

if(IsIMP(&T,&c)=1)then{InsertMBOM(&T,&c);}

if(IsMP(&T,&c)=1&&IsIMP(&T,&c)=0&&IsLe af (&T,&c)=1)

then { ExpandChild(&T,&c);

ChildSet(&T,&p)+=ChildSet(&T,&c);}}}

初始条件:树T存在,p指向T中某个叶结点。操作结果:将p的所有子结点展开至所有维护模块的叶结点都是最小维护模块,并将其中的最小维护模块都插入维护BOM表的行项目中。

DeleteSetMBOM(&T,&p){

ExpandChild(&T,&p);}

For (&p &c:ChildSet(&T,&p)) {

if(IsIMP(&T,&c)=1) then { DeleteMBOM(&T,&c);}

if(IsMP(&T,&c)=1&&IsIMP(&T,&c)=0&&IsLe af (&T,&c)=1)

then { ExpandChild(&T,&c);

ChildSet(&T,&p)+=ChildSet(&T,&c);}}}

初始条件:树T存在,p是树中某个结点。操作结果:将p结点子结点中的所有最小维护模块结点从维护BOM表的行项目中删除。

2 设备改造后结构的变化

从图1可以看出,每次设备改造事件给设备结构模块带来的变化可能性可以分为3种:1)新的产品结构模块被增加到产品结构中;2)原有产品结构模块从产品结构中去除;3)叶结点产品结构模块由于其内部结构更改而变成新模块(如果不是叶结点则还可分解成子结点的增加、去除以及更改的组合)[6],任何一次设备改造事件所引起的设备结构变化都可以用其产品结构模块的这3种变化组合加以定义。

为了使用1.2节定义ExpandChildTree(&T,&p)操作与DeleteSetMBOM(&T,&p)操作而使算法更加简洁,定义设备改造中的新增结点与删除节点都是使设备结构改变的顶层的新增结点集合与删除节点集合。

图1 设备改造给设备带来结构改变示意

3 维护BOM表的动态生成算法

设备改造之后,可以利用1.1节定义在设备结构树上的各种操作,在原来维护BOM表基础上实施更改而形成新的维护BOM表。

由于设备改造给设备结构带来的变化是新增模块、去除模块以及更改模块这3种情况的组合,因此设备改造给维护BOM表带来的变化也是这3种情况单独给维护BOM表带来的改变的组合。

假设新增模块集合为IncModuleSet(简称IS),集合中的元素都是设备结构中新增模块的顶层模块;去除模块集合为DecModuleSet(简称DS),集合中的元素都是设备结构中删除模块的顶层模块;更改模块集合为AltModuleSet(简称AS),3个集合都可以包含从0到有限个模块。用S代表以 上任意一个集合,则遍历集合中每个元素的操作是TravelToNext(S);判断每个集合是否被完全遍历操作为HasMoreElement(S),如果集合内已经被遍历或者集合为空,其值为False(0),否则为True(1)。

3.1 新增模块情况下维护BOM表生成算法

设备改造的第1种基本情况:设备改造活动仅仅为设备增加新结构模块,在这种情况下生成新维护BOM表的算法如下图2所示。这个过程就是在新增加的结构模块集合中找到最小维护模块,并将它们插入到原来的维护BOM表中,形成新的维护BOM表。

由于增加新模块而生成新维护BOM表的IncreaseModule(IS)算法如下:

1)执行HasMoreElement (IS),判断IS中是否还有下一个需要遍历的结点(空集合没有下一个需要遍历结点),如果是False则直接结束,如果是True则执行TravelToNext(IS),遍历到下一个元素。

2)执行IsMP(&T,&p)判别,有2种可能:

(1)增加模块为非维护模块,跳到步骤1执行HasMoreElement (IS)判断是否还有下一个结点。

(2)增加模块是维护模块,执行IsIMP(&T,&p),又分为两种情况:ⅰ、增加模块是最小维护模块,执行InsertMBOM (&T,&p)将结点p代表模块插入维护BOM表中,跳到1)执行HasMoreElement(IS)判断是否还有下一个结点;ⅱ、增加模块不是最小维护模块,执行ExpandChildTree(&T,&p),将p模块展开直至所有维护模块叶结点都是最小维护模块,并将最小维护模块叶结点插入维护BOM表中,跳到1)执行HasMoreElement (IS)判断是否还有下一个结点。

3.2 去除模块情况下维护BOM表生成算法

设备改造的第2种基本情况:设备改造活动为仅仅设备去除旧的模块,在这种情况下生成新维护BOM表的算法如下图3所示。

这个过程就是在去除的结构模块中找到最小维护模块,并将它们从原来的维护BOM表中删除,形成新的维护BOM表。

图2 设备技术改造增加结构模块生成新维护BOM表的算法

由于去除模块而生成新维护BOM的DecreaseModule(DS)算法如下:

1)执行HasMoreElement (DS),判断DS是否还有下一个需要遍历的结点(空集合没有下一个需要遍历结点),如果是False则直接结束,如果是True则执行TravelToNext(DS),遍历到下一个元素。

2)执行IsMP(&T,&p)判别,有2种可能:

(1)去除模块为非维护模块,跳到第1)执行HasMoreElement(DS)判断是否还有下一个结点。

(2)去除模块是维护模块,执行IsIMP(&T,&p),又分为两种情况:ⅰ、去除模块是最小维护模块,执行DeleteMBOM (&T,&p)将结点p代表模块从维护BOM表中删除,跳到第1)执行HasMoreElement (DS)判断是否还有下一个结点;ⅱ、去除模块不是最小维护模块,执行DeleteSetMBOM(&T,&p),将p结点所有子结点中的维护模块叶结点从维护BOM表的行项目中删除,跳到第1)执行HasMoreElement (DS)判断是否还有下一个结点。

3.3 模块更改情况下维护BOM表生成算法

设备改造的第3种基本情况:设备技术改造活动仅仅将设备某些叶结点模块更改成新模块。

模块的更改可以看成先从设备结构中去除了旧模块,而后在同样结构位置处增加新的模块,因此实现模块更改的算法AlterationModule(AS)如下:

1)执行DecreaseModule(AS)算法如图3所示;

2)执行IncreaseModule(AS)算法如图4所示。

图3 设备改造去除结构模块生成新维护BOM表的算法

3.4 适应设备改造维护BOM表动态生成算法

图4 适应设备改造维护BOM动态生成算法

适应设备改造的维护BOM表动态生成算法DynamicModificationMBOM(MS)如下图4所示,MS=IS∪DS∪AS。

1)执行IncreaseModule(IS)算法,将新增模块中的最小维护模块增加到维护BOM表中。

2)执行DecreaseModule(DS)算法将去除模块中的最小维护模块从维护BOM表中去除。

3)执行AlterationModule(AS)算法,先从维护BOM中去除更改前更改模块中的最小维护模块,然后将更改后更改模块中最小维护模块增加到维护BOM表中。

4)BOM生成算法结束,得到新的维护BOM表。

4 应用案例

某饮料企业灌装车间碳酸制瓶机设备已经使用7年,设备结构被SolidWorks的PDMWorks Workgroups管理,Excel形式的维护BOM表作为设备模型的参考文件在PDMWorks中与设备的CAD结构模型关联在一起,如下图6所示,维护BOM表包含了设备维护备用件物料编码、结构层次、个数、单位、库存种类(ABC分类)、备件来源、更换频率、备件成本、采购或制造周期等维护生产所需信息。

图5所示的维护BOM表中的行项目是设备制造商提供维护备用件清单。2008年10月对进行了设备改造:在加热烘炉入口增加瓶坯干式杀菌系统模块以支持为卫生敏感饮料的生产;吹瓶机的不锈钢模具被升级为质量更轻,性能更强的铝质新模具;加热烘炉的红外加热灯管被更换成降低15%的电能消耗的新灯管。

图5 碳酸制瓶机设备改造前的维护BOM表

图6 碳酸制瓶机设备技术改造后的维护BOM表

以JavaSE1.6为开发工具对SolidWorks的PDMWorks Workgroup[7]进行二次开发,依据维护BOM表动态生成算法DynamicModificationMBOM(MS)能够实现从新的设备结构以及原先的维护BOM中得到新的维护BOM表如下图6。

图5所示维护BOM表与图6所示的维护BOM相比,增加行号为15的瓶坯杀菌系统模块的喷嘴,它是新增模块中的最小维护模块;另外图7维护BOM表中的不锈钢吹瓶模具被升级更换成了铝合金吹瓶模具;图7中维护BOM表中烘炉红外加热灯管被升级更换成了节能红外加热灯管。

新的维护BOM表与原来的维护BOM表之间采用更改标记(Revision)与生效时间进行区别。

5 结束语

1)使用者维护方式下长寿命机械设备在维护阶段会经历设备改造,设备改造是对设备结构的改变,会影响到其派生的维护BOM表发生更改。

2)将设备结构形式化定义成设备结构树,并定义其上的各种元素以及操作,以支持适应设备改造的维护BOM表的动态生成技术。

3)设备改造给设备结构带来的变化可以归结为3种基本情况:增加新模块,去除旧模块以及叶结点模块的更改,设备改造给维护BOM表带来的变化也是这3种情况单独给维护BOM表带来的改变的组合。

4)IncreaseModule(IS)算法、DecreaseModule(DS)算法与AlterationModule(AS)算法分别单独定义了3种基本情况下如何修改原有维护BOM表以生成新的维护BOM表,在此基础上,综合性的Synthesis Adjust mentMBOM(MS)算法可以针对设备技术改造具体情况对原有维护BOM表进行修改,生成新的维护BOM表。

[1] 郝广科,何卫平,阎慧.PLM环境下BOM多视图映射技术研究[J].现代制造工程,2007,12:16-18.

[2] 项艳梅,朱林,刘清华.基于BOM的产品数据多视图集成研究[J].计算机应用研究,2003,10(2):17-19.

[3] 张帅,孙树栋,蔡志强.大型复杂装配维护BOM管理系统研究与实践[J].中国制造业信息化,2008,37(9):70-73.

[4] 倪现存,左洪福,许娟.基于PDM的民机航线维修BOM管理系统研究与开发[J].飞机设计2008,28(3):50-53.

[5] 汪昌任著 SAP EAM设备维护系统应用及案例[M].北京.清华大学出版社,2005:25-28.

[6] 叶万水,主编.设备工程[M].上海:华东理工大学出版社,2005:125-143.

[7] SolidWorks公司.SolidWorks高级教程产品数据管理[M].北京:机械工业出版社,2008:183-11.

TH311.52

A

1009-0134(2010)11(上)-0004-05

10.3969/j.issn.1009-0134.2010.11(上).02

2010-03-08

国家自然科学基金项目(50975255,60974083); 国家863计划项目(2009AA04Z146)

胡浩(1971 -),男,浙江杭州人,博士研究生,研究方向为产品生命周期管理。

猜你喜欢

结点定义动态
国内动态
国内动态
国内动态
LEACH 算法应用于矿井无线通信的路由算法研究
基于八数码问题的搜索算法的研究
动态
成功的定义
修辞学的重大定义
山的定义
教你正确用(十七)