装配树柔性层级模式的BOM统计算法

2014-12-18 08:04贾鸿盛
制造业自动化 2014年21期
关键词:层级部件柔性

李 盛,贾鸿盛

(1.重庆赛迪冶炼装备系统集成工程技术研究中心有限公司 CAE技术中心,重庆 401122;2.中冶赛迪重庆信息技术有限公司 CAD系统部,重庆 401122)

0 引言

设备的物料清单(简称:BOM)是以数据格式来描述产品结构的技术文件,是识别物料、编制计划、制造过程、成本计算等的依据。BOM按照用途分为设计BOM,计划BOM,制造BOM,成本BOM,维修BOM,其中设计BOM(即设计装配树BOM)是其他类型的BOM的源头。常规BOM统计,主要包括单级展开、多级展开、缩行展开、汇总展开、单层跟踪、汇总跟踪、缩行跟踪等算法。

由于统计类型的多样性,统计内容的复杂性,统计阶段的关联性,国内有很多学者针对BOM统计的抽象模型、统计效率和精度方面作了很多研究。饶上荣等[1]提出了一种以面向对象的方式组织数据和进行模板设计的强有力方法,根据对象模型来设计规则,可以充分利用面向对象的继承和多态的特性,简化规则设计并增强设计功能。张亚勤等[2]设计了一种基于实体装配模型的装配BOM的自动生成的算法,能够对装配关系进行遍历、组织和显示,并实现装配建模CAD与装配工艺设计CAPP的有效集成。叶红朝等[3]提出了一种基于双阶分离式BOM的物料需求计划的算法,即将单一BOM分解成产品BOM和部件BOM,直接读取部件BOM 并进行统计,能提高物料需求计划运算的速度和精度,使计划的经常性变更成为可能。黄峥等[4]运用面向对象的层次模板技术设计CAD材料统计表,增强了表格灵活性并避免了重复工作。邱胜海[5]等设计了一种基于增强型合成模式的统一BOM管理组件模型架构和统计算法,来实现现PDM与ERP的集成。另外,针对某些具体的产品的BOM也作了一些研究,比如洪鑫华等[6]针对具体的铁塔产品,采用基于存储过程的BOM遍历算法中的分层遍历算法进行铁塔的遍历,实现了铁塔零件BOM表的生成。朱安庆等[7]通过对TRIBON 中自动生成的数据进行分析来实现造船生产设计中的BOM表自动生成。程好秋[8]等根据现有产品与客户动态的需求构建相关度矩阵,利用效用函数求解新的BOM模型。王魁生[9]等通过两种常用BOM结构及通用算法提出了一种石油钻井的BOM结构树生成方法。以上研究均基于装配树下的每个节点都具有确切的统计物理意义的假设来进行的,比如某个树节点代表着某个独立加工完成的零件,或者代表着某个制造单元、采购单元或者具有独立功能模块的部件,然而实际设计实践并非如此。

三维设计中有时需要将没有确切统计物理意义的零部件作为装配树中的某个节点。如由于三维软件在大装配中需要节约计算储存资源,人为将某些装配重复的零件组合成无意义的部件,如图1左侧所示;如生产线设备设计时,需要参考其输入或输出端相邻设备的外形和基准,因此必须将该设备作为部件加入到本设备中去;再比如设计主机的操作平台和机上配管需要将主机作为部件以供参考,如图1右侧所示。

这些零部件将导致目前的BOM统计产生问题,即将无需统计的零部件纳入统计。基于此类问题,提出了一种既兼顾特定模式的BOM统计,又同时满足极端个性BOM统计的柔性模式的统计算法。该算法在历经一年多的设计过程中被证明能够满足三维设计方面的所有需求,具备较好的推广价值。

1 装配体结构

设备(装配体)由各个部件和零件构成,部件又包含子部件和零件,最后直至分解到各个最小单元(即零件),如图1所示。因此从微观上看,设备可认为由零件按一定顺序装配而成,而部件仅为某些零部件的组合。为表达方便,依据是否具有确切统计意义和是否属于本设备的一部分的两个标准引入常规部件、形式部件、参考部件和耦合引用的概念。

1.1 常规部件

定义1(常规部件)指由于模块化设计、独立功能以及加工装配采购的需要而设置的零件组合。

常规部件即通常统计意义上的部件,作为设备的一部分,其本身也是组织生产、进行装配或采购的工作单元。如液压缸、电机或减速器即可认为是常规部件。

1.2 形式部件

定义2(形式部件)不满足模块化设计、独立功能或加工装配采购需要的零部件组合。

设计师在三维设计中,由于主流的三维设计软件在解析装配体的时候,一般只计算到顶下一层(即第二层)的配合约束关系,因为如果遍历计算到设备的每个零件配合约束,将产生巨大的计算和储存资源消耗,使得三维设计过程非常缓慢并变得很不稳定,影响设备三维设计的普及和效率。因此三维装配体设计一般采用“多设部件,分而治之”的策略,尽可能降低顶下一层(即第二层)的配合约束数量;因此必须将那些装配重复数量大的,但又没有常规意义的零件组合起来构成形式部件。形式部件与常规部件在表达方式上是一样的,只是无法表达某一具体意义。比如几颗螺栓、链轮的组合。但是形式部件的确是设备的一部分。

在图2中,假如部件A3为形式部件,则意味着设备本来一级层级中应该包含部件A4和零件P4,但由于其又均被部件A2引用,所以为便于管理,设置其组合为部件A3,实际毫无具体意义。

1.3 参考部件

定义3(参考部件)它是相对某个具体设备而言的,在针对该设备进行外部关联设计时,事实上不属于该设备但又被引入到该设备模型空间的部件。

参考部件与该设备具有比较强的空间几何、运动姿态或者功能衔接的关联性。它不能计入该设备的BOM统计,否则将造成重复统计。如图2中虚框中的部件A1,引入进来仅起参考作用,方便其他零部件的几何引用。这种在生产线设备设计(比如冶金轧制和运输设备)上十分常见。

1.4 耦合引用

定义4(耦合引用)指零部件之间相互引用、打破层级间界限的情况。

其中,零件可同时被总装件、部件和子部件引用;子部件也可同时被总装件和部件引用。如图2中的零件P1,同时被第一层的总装件A、第二层的部件A1和第三层的部件A4引用;而部件A3则被第一层的总装件A和第二层的部件A2引用。再比如相同规格的螺栓,可能同时被总装和部件引用。耦合引用使得在展开某个形式部件的时候,对内部的零部件的数量统计必须执行卷积计算。

装配树层级越多,零件越多,零部件耦合引用越多,则装配树的复杂程度越大,进而BOM统计也越复杂。同时形式部件和参考部件的引用将进一步加剧BOM统计的复杂性。BOM统计是装配树结构的另一种产品结构表达,但是又与装配树结构不完全相同,是为一定目的服务的,比如管理、设计、制造、成本、采购等等。因此,与常规部件相比,形式部件和参考部件尽管采用了相同的建模方式,但在BOM统计中必须另作处理。

1.5 常规统计问题

常规统计方法比较刚性,对部件和零件的处理方式各有一套固定的处理方式。由于形式部件和参考部件与常规部件的三维建模方式均为装配体,常规的自动BOM统计算法则均将形式部件和参考部件按常规部件进行BOM统计,无法区别对待。当一个装配树中同时存在着常规部件、形式部件和参考部件,形式部件必须分解为下层零部件,参考部件必须剔除,而常规部件无需分解。若按自动单级展开的统计方法,形式部件和参考部件被统计为BOM节点;若按自动多级展开的统计方法,则常规部件被分解成下层零部件,而本身没有被统计;若按缩行展开的统计方法,常规部件、形式部件和参考部件均被展开并计入统计。以上处理均不符合BOM统计的需要。为满足实际上的统计需要,有必要引入柔性层级的模式。

2 柔性层级模式

2.1 柔性层级

定义5(柔性层级)即模糊装配树上下级层级界限的层级模式,此时上层部件可自由降解为下层零部件,从而造成下层零部件自动升级。

在BOM统计中,形式部件不能被统计为BOM节点,而其引用的零部件却应当被认为是BOM节点;而参考部件由于不属于该设备,则参考部件及其下层所有零部件均不能被统计到BOM中。下表为常规部件、形式部件和参考部件的异同表,如表1所示。

表1 不同类型部件异同表

柔性层级认为装配树结构下所有固化的层级节点皆可分解和删除,形成一个新的动态变化的树型结构。

2.2 柔性原理

常规处理原则为:第一、若统计部件,则其统计下层零部件;第二、若统计某部件的下层零部件,则该部件不能统计。该原则无法处理形式部件和参考部件。

柔性层级模式可以根据部件的不同类型确定其是否列入设备的BOM中,即柔性决定装配树上某个特定层级的零部件被记入明细表进行统计。它将原本不能被计算机区分的常规部件、形式部件和参考部件,根据各自特点进行了相应的处理,比如对照表1,若其需要被BOM统计则为常规部件,若其不被BOM统计则应为形式部件或参考部件。

柔性层级也同时满足刚性的单级展开、多级展开的设置要求。若其为单级展开,则在柔性层级中,所有的层级节点均被设置为常规部件即可;若其为多级展开,则所有的层级节点均被设置为形式部件即可。

下面为某设备层级的柔性设置的结果。设备“立方称量漏斗及闸门”中的“上料斗装配”为常规设备,故被直接设置为待统计的BOM节点;“漏斗闸门装配”为形式部件,故其自身不能设置为节点,而其下层常规部件“翻版门装配”则由于为设备的一部分,故加入BOM节点序列中;“毛毡”为参考部件,故其自身以及下层零部件均不计入统计。显然柔性设置层级节点能满足设备BOM统计的需要。如图3所示。

以上为层级判断的柔性设置过程。在实际工作中,可针对每一个零部件事先设置一个的“BOM类型”属性,根据实际情况设置分别设置为常规部件、形式部件或参考部件。程序在BOM统计过程中,自动重构原有的装配树,形成支持BOM统计的树结构,自动完成柔性层级模式设定。如图2的装配树,假定部件A1为“参考部件”,部件A2和A3为形式部件,则新的树结构如图4所示。

图3 柔性设置层级图例

图4 BOM统计的树结构

3 BOM统计卷积算法

BOM统计的原则就是“不漏项,不重复”。而对任何节点,包括设计师、材料、质量、标准号等多维度的信息项均被包含在节点内部,容易取得;因而最重要的需要统计的信息就是节点在整个模型中的数量信息。

在柔性模式中,形式部件的释放,会让其下的零部件与别的层级的零部件做合并统计处理。比如图2中部件A1是形式部件,则在统计它的时候,只能统计部件A4和零件P1,而与部件A1同级的也存在部件P1,则部件P1要做合并计数处理。由于形式部件的存在和零部件相互耦合引用的缘故,需要一种BOM统计卷积算法,统计模型被引用的次数以及解决相同零部件被耦合引用的合并统计问题。

3.1 算法基本原理

设某设备共分k个层级,由部件Ai和零件Pi(i=1,2,…,n) 组成,记第i层级上存在数量为ni的部件Ai和数量为mi的零件Pi。若部件Ai(i=1,...,k-1)均为形式部件,从而将部件Ak和零件Pk将作为BOM节点计入统计。则对于该设备来说,部件MNAk的数量Ak的公式:

零件Pk数量MNPk的公式:

通过每个层级节点的统计卷积公式(1)、公式(2),最终统计得到该节点的分项数量,当设备其他形式部件还存在该节点的时候,则各个分项数量的和即为该节点在设备中的数量。

3.2 算法数据储存

算法的数据储存包括装配树和BOM节点的数据结构。

装配树节点数据结构:首先将装配树储存为一个单向链表,每个链表节点代表着属于该装配体的某个零部件,同时将总装件作为根节点定义为第一个链表节点。对于节点的数据结构定义如下:

其中,ModelNode表示模型节点结构(简称MN),包含6大信息;PathName表示模型路径名称(简称PN),CfgName表示模型配置名称(简称CN);两者组合确定唯一模型节点;HierarchyNumber表示模型被上级部件引用的数量(简称HN);pParentMN表示其顶上一层模型(简称pPMN),据此可逆单向遍历到根节点(根节点此值为null);StataFlag标记该模型是否被统计(简称SF),实际存储着柔性层级的设置结果;PartFlag标记该模型是否为零件(简称PF),即是否为末端节点。

BOM表定义作为一个节点数组,其节点的数据结构定义如下:

BOMNode表示BOM节点结构(简称BN),包含3大信息:PathName表示节点路径名称(简称PN),即ModelNode模型的PathName;CfgName表示节点配置名称(简称CN),即ModelNode模型的CfgName;TotalNumber表示BOM节点在整个设备中被引用的数量(简称TN)。

3.3 算法流程

统计卷积算法流程包括逆向遍历装配树和储存合并BOM节点数组两个并发过程。

逆向遍历装配树过程:从底层节点逆向遍历,若其柔性设置为真,则可将其设置为BOM节点,此时获取其本身和上级各层层级节点的数量,直至卷积到顶层节点。

合并BOM节点数组过程:若BOM节点数组存在该被遍历的新节点,则求和合并;若不存在,则扩维BOM节点数组,将新节点附于上。

BOM统计所需其他信息,如标准号、模型名称、零部件类型、质量、材料等信息储存在模型属性表单里,可根据具体的PathName和CfgName确定的特定模型配置获取得到,加上已获得模型被引用的数量,可完全构建一个完整的BOM报表。

总体流程如图5所示。

图5 BOM卷积算法流程图

4 算法结果

本算法历经多次非标设备的设计的工程应用考验,体现了其工程价值。现为了使结果表达清晰,现仅以图2中的装配树层级结构来完成算法测试。

如图2的设备装配树结构,当所有层级节点被上级节点引用的数量均为1,同时部件A1为“参考部件”,部件A2和A3为形式部件,则BOM被统计的结果如图6所示,图中部件A1没有被统计,零件P3由于其上级形式部件缘故,计入统计;同时部件A4和零件P4分别在两处上级形式部件均被引用,则累加为2个。最后增加代号、材料、质量等信息项。

图6 BOM表统计结果

某主机设备零部件总数在5000个左右,由于设计的复杂性需要采用了比较多的形式部件和参考部件,采用本算法提取了能够安排制造采购的,具有确切物理意义的BOM报表,如图7所示。在设备模型中,由于较多装配了“传动侧短轴系”、“万向联轴节装配”和“离合装配”,因此将三个部件合成为一个形式部件参与总装配节约了储存计算资源和装配设计时间。但在BOM统计的时候,将该形式部件炸开,而将原有的三个部件分开统计。完美解决了同时满足大装配、设计效率和BOM统计的问题。

图7 某主机设备BOM表统计

5 结论

1)基于柔性层级提出了BOM卷积统计算法解决了针对三维设计实践中的形式部件和参考部件导致的BOM统计的逻辑混乱问题。2)该算法实际上也适用于设备装配树结构变型的多样性统计需求。无论何种类似需求,均能通过柔性模式自动展开或删除某些部件,将该部件里面的零部件暴露出来,并通过统计卷积算法将耦合引用的不同层级零部件合并加入到设备的BOM统计,从而形成特定需求的BOM报表,以供ERP管理或其他需要。

[1]饶上荣,白似雪,李士才.面向对象数据模型的表格模板规则设计[J].计算机辅助设计与图形学学报,2004,16(11):1590-1593.

[2]张亚勤,廖文和,刘长毅.基于实体装配模型的装配BOM的自动生成[J].机械制造与自动化,2006,35(2):132-135.

[3]叶红朝,孙毅.基于双阶分离式BOM的物料需求计划算法的研究与实现[J].成组技术与生产现代化,2006,23(4):53-56.

[4]黄峥.CAD材料统计表运用层次模板技术的设计和实践[J].硫磷设计与粉体工程,2003,(4):39-41.

[5]邱胜海,袁新芳,马银忠,贾晓林.产品全生命周期内统一BOM管理组件设计实现[J].机械设计与制造,2008,6(6):219-221.

[6]洪鑫华,王杰,王玫.基于Pro/E的铁塔虚拟装配系统中螺栓的统计及其BOM表的生成[J].机械制造与自动化,2009,38(1):106-107,115.

[7]朱安庆,周卫鹏,马晓平,龙伟.基于TRIBON 的船体生产设计BOM表自动生成程序开发[J].江苏船舶,2004,21(6):3-4.

[8]程好秋,费少梅,张树有.面向动态订单的产品BOM模型构建与求解方法研究[J].中国机械工程,2010,21(13):1556-1561.

[9]王魁生,刘夏.石油钻井BOM结构树生成算法的研究[J].制造业自动化,2013,35(10):76-78,119.

猜你喜欢
层级部件柔性
一种柔性抛光打磨头设计
科室层级护理质量控制网的实施与探讨
灌注式半柔性路面研究进展(1)——半柔性混合料组成设计
高校学生管理工作中柔性管理模式应用探索
军工企业不同层级知识管理研究实践
加工中心若干典型失效部件缺陷的改进
基于军事力量层级划分的军力对比评估
奥迪e-tron纯电动汽车的高电压部件(下)
基于BP与GA对非标部件结构对比研究
职务职级并行后,科员可以努力到哪个层级