BOM(Bill of Material)
物料清单,是计算机可以识别的
产品结构数据文件,它以数据格式来描述产品结构,也是
ERP的主导文件。它是定义产品结构的技术文件,因此又称为产品结构表或
产品结构树。
基本简介
概述
(1)物料清单
采用计算机辅助企业生产管理,首先要使计算机能够读出企业所制造的产品构成和所有要涉及的物料,为了便于计算机识别,把用图表达的产品结构转化成某种数据格式,这种以数据格式来描述产品结构的文件就是物料清单,即BOM。它是定义产品结构的技术文件,因此,又称为产品结构表或产品结构树。在某些工业领域,可能称为“配方”、“要素表”或其它名称。
在MRPⅡ和ERP系统中,物料一词有着广泛的含义,它是所有产品、半成品、在制品、原材料、配套件、协作件、易耗品等与生产有关的物料的统称。MRPⅡ和ERP系统中BOM通常是指由双亲件及子件所组成的关系树,可以是自顶向下分解的形式或是以自底向上跟踪的形式提供信息。BOM表示的数据之间的组织关系可以作为很多功能模块设计的基础,这些数据的某些表现形式是我们感到熟悉的汇总报表。
为了便于计算机管理和处理的方便,各种BOM清单必须具有某种合理的组织形式,这种BOM的图形化显示往往设计成产品结构树形式,而且为了便于在不同的场合下使用产品结构树,产品结构树还应有多种组织形式和格式。产品结构的数据输入计算机后,就可对其进行查询,并能按照不同的格式显示出来。各种信息系统系统的目标就是使输入的数据可以生成各种不同格式的产品结构树,以满足企业中各种用户的需求。
(2)BOM视图
由于产品BOM在其生命周期中的不同应用域有不同数据视图,即具有多视域的特性,因此提出了BOM视图空间的概念。
BOM视图空间(BOM View Spaces),指由产品全生命周期中的BOM数据形成的数据空间。BOM视图空间由产品类型、应用领域和生命周期唯一确定。在产品全生命周期中,产品BOM数据的数据子集称为BOM视图。根据集合论和线性代数理论,BOM视图空间可用n维矢量空间描述,其中n代表矢量空间中相互独立矢量的最大个数。BOM视图是基本矢量的线性组合。
根据BOM视图空间之间的关系,BOM视图空间分为如下几种形式:
1)重叠空间(Overlapping Spaces)不同应用域的两个BOM视图空间,会出现视图属性重叠,在重叠区域视图属性具有相同语义。
2)投影空间(Projection Spaces)一个BOM视图空间是由另一个BOM视图空间的投影空间,如原材料采购BOM视图(BOM View)空间和外购件采购BOM视图空间是采购BOM视图空间的投影空间。
3)组合空间(Combination Spaces)组合空间是指一个视图空间由另外若干个视图空间组合而成,如采购BOM View空间是由原材料采购BOM View空间和外购件采购BOM View组合而成。
结构与内容
BOM表在制造业和工程领域中是用于描述产品结构和所需物料的文档,它详细列出了构成最终产品的所有组件、部件和原材料,以及它们的数量和类型。BOM表是产品设计、生产、库存管理和成本控制等关键业务流程的基础。
例如:
在生产中,产品的结构呈现为一种树状结构,表示零部件的所属关系和数量。从图1可看出,产品A是由部件B、部件C和零件D构成的(B、C和D称为A的“子”,而后者为前者的“父”),而部件B是由部件C加零件D构成的(B为C和D的“父”)。
图1每个方块中的“/”后面表示的是父子之间的数量关系。这一结构就称为产品A的物料清单。
BOM表的类型和结构也有所不同,包括树型BOM、矩阵型BOM、差异型BOM和模块化BOM等。这些不同的构造方法满足了不同生产特点和业务需求。
BOM层次结构
(一)单层BOM结构
单层BOM结构(Single-Level Bill ofMaterials,简称SBOM)采用“单父-单子”的数据结构,只是记录了各父件和子件之间的对应关系。
例如:
以图1中的产品A为例,其BOM的结构表达如表2所示。
在这个表中,父件有可能是一个产品,也可能是一个部件。SBOM对于每种层次结构只定义一次,因而可以大大节省存储空间。比如,在表1中,只要7条记录就可以清楚地定义描述的产品A的结构。如果其他产品中也含有B部件或者C部件,则不需要再重新定义。所以,SBOM的数据冗余度是最小的。
SBOM的优点是可以清晰地定义产品的结构树,但是需要编写递归程序来显示其结构,递归程序算法结构如下:
已知:‘id为被查询件ID’
返回:‘number 为被查询件数量’
functiongetbomdescendants(id,number)
display被查询件‘在树状结构中显示被查询件’
if 被查询件没有子,则退出;
对每一个被查件子,getbomdescendants(被查件子id,数量)
Endfunction
通过不断地递归,可从任一个产品或部件开始,显示出其下属的全部子件。同样,反查一个零部件时,也需要编写程序来实现。
SBOM在维护时有利有弊。优点是逻辑关系好、适应性好。如更改了部件B的结构,则所有用部件B的产品都会随之更改,避免了繁琐的重复劳动。但是如果由于疏忽定义错了某个部件,则所有和这个部件有关的产品结构都会出错,因此,增加了准确性保证难度。
上述递归算法只是一个简化过程,实际SBOM的分解算法要考虑更多的因素。如果在系统中需要频繁使用BOM的分解,递归算法会大大降低系统运行的效率。
(二)多层BOM结构分析
多层BOM结构(Multilevel Bill ofMaterials,简称MBOM)采用“单父-多子”的数据结构,它详细地记录了产品的结构信息,即便是同样的零部件结构,只要存在于不同的产品中,也要再记录一次。
以图1中的产品A为例,其BOM表的结构如表2所示。表2中Parent表示父件的ID和产品表相关联;Child表示子件ID和零部件表相关联;Num表示父件中含子件的数目;Level表示子件在父件的结构树中所处的层次,如不可再分解,即处在底层,可用一个特殊的符号(如字母“L”)标记出来。
MBOM结构的特点是产品间结构不互相影响,各个产品之间的数据记录没有交叉,因而维护比较方便。MBOM结构在分解时算法比较简单,只要根据产品的ID查询出最底层子件(即需要制造和采购的零部件)的ID和数目即可,效率比较高。但MBOM也存在很多缺点,主要是数据项的冗余度大,比如定义产品A需要有9条记录,零部件结构的重复定义也增加了系统启动时录入基础数据的工作量。虽然定义了子件的层次关系,但是它属于哪一个父层并没有记录,因此,并不能反查出某零部件的上一层父件,而只能查出它属于哪个产品,无法清晰地显示产品的树型结构。
(三)两种方法的比较与选择
多层BOM结构和单层BOM结构各有利弊。多层BOM虽然结构简单,分解速度快,但是数据冗余度大,产品结构定义不清晰,零件不能反查。单层BOM结构虽然可以清晰定义产品结构,反查零件,但由于在BOM分解时需要用递归算法,分解效率较低。实际应用中,为了适应不同条件下的需要,常采用多种BOM并行的方法。
多种BOM并行使用的方法,可以纠正两种BOM(SBOM和MBOM)构造方法各自的缺点。但是,随着市场竞争的激烈,产品的更新速度越来越快,产品结构及其所对应的BOM也频繁变化。在这种情况下,对多BOM并行使用的ERP系统来说,设计部门每更新一次BOM表,各工艺用BOM也要做相应变化,给系统的维护、运行和信息集成带来了较大的问题,如处理不当,会直接影响系统的正常使用。因此,多BOM并不能从根本上解决系统运行的效率问题,对于产品结构变化较频繁的企业,不是一个最优的BOM方案,其实用性大打折扣。因此,从原则上讲,在企业中拥有一个BOM是最方便,也是最根本的办法。无论产品的结构如何变化,只要设计部门将BOM表修改过来就可以了。
常用的工程物料清单或制造物料清单数据结构
EBOM(Engineering Bill ofMaterials)是工程物料清单,MBOM(Manufacturing Bill ofMaterials,是制造物料清单,两者数据结构如下所示:
1)矩阵型[30,31,32]
对于一个包含有N个零部件的产品,矩阵型EBOM/MBOM数据结构的方法是构造一个NxN的方矩阵,矩阵中的元素aij的取值范围为整数,其意义为:当aij=0时,表示零部件i与零部件j之间不存在父子关系;当aij>0时,表示零部件i与零部件j之间存在父子关系,且零部件i与零部件j之间的装配数量关系为aij;当aij<0时,表示零部件i与零部件j之间存在子父关系,且零部件j与零部件i之间的装配数量关系为-aij。图2所示产品的BOM数据矩阵(图3)如下,从中可以看出该矩阵为反对称矩阵。
矩阵型EBOM/MBOM数据结构可以准确描述EBOM/MBOM数据,满足EBOM/MBOM数据唯一性、完整性和一致性要求,并且具有良好的搜索性能。但是在EBOM/MBOM数据重用方面,这种数据结构就显得无能为力,同时由于每种产品所包含的零部件数量是不确定的,这给EBOMIMBOM的数据结构的设计带来很多困难,即无法在关系性数据库中确定数据字段的个数。另一方面,矩阵型EBOMMBOM数据结构在作MRP计算时,存在超大规模的高维矩阵求逆计算的问题。因此,这种数据结构在一般的ERP/MRPIIMES系统中很少采用。
2)邻接表型
邻接表型EBOM/MBOM数据结构类似于矩阵型,也是根据零部件之间的父子关系构建一个邻接表矩阵,邻接表矩阵中的元素aij的取值范围为{0,1,-1},当aij=0时,表示零部件i与零部件j之间不存在父子关系;当aij=1时,表示零部件i与零部件j之间存在父子关系;当aij=-1时,表示零部件i与零部件j之间存在子父关系,上下层零部件之间的装配数量另用一个关系描述。因此,邻接表型EBOM/MBOM数据结构的性能与矩阵型相似
3)层次型[34-38]
层次型EBOM/MBOM数据结构在ERP/MRPII/MES系统中被广泛采用,层次型描述法本质上是根据树状化EBOM/MBOM数据来描述BOM数据。层次型BOM通过零部件的标识、产品结构的层次和零部件BOM码来描述产品和零部件之间的装配关系对BOM中的任何产品、零部件,不管其是否存在借用关系,只要存在装配关系,一律加以定义。
如图2所示,部件G和C分别需要定义多次。有关文献采用“层次”“零部件标识”、“装配数量”、“父件标识码”四个数据域、主码为“层次”、“零“父件标识码”的方式来描述BOM,这种描述BOM的数据结构实际上部件标识不能表示图2中处于第2级的G(分别属于部件C和D)的子件。
对层次型EBOM/MBOM数据结构的定义为:采用“零部件标识”、“装配数量”、“零部件BOM码”三个域,主码为“零部件标识”“零部件BOM码”的方式来描述BOM,零部件BOM码采用图所示的方法定义:
装配层次:顶级产品为0级,向下依次为1,2,3……,层次编码位2位,最多描述100层(如果不够,可适当增加编码位数)。
零部件流水号:零部件在本层的顺序编号。流水号编码位4位,一个产品每层直接子件最多不能超过10000个(如果不够,可适当增加编码位数)。
通过“零部件BOM码”,层次型EBOM/MBOM可以达到高效的正、逆向搜索性能,但同时带来很高数据冗余度,数据的一致性也难于保证,数据重用性更是无从谈起。如果采用层次型EBOM/MBOM数据结构,产品数据如表所示。
4)父子型[34,35]
父子型EBOM/MBOM数据结构是通过零部件之间的装配与被装配关系来描述的,父子型BOM主要有“父件标识”、“子件标识”和“子件对父件的装配数量”三个数据域,主码采用“父件标识”和“子件标识”两个数据域,父子型BOM的数据结构类似于链表。如果采用父子型EBOM/MBOM 数据结构,图2中的产品数据如表4所示父子型EBOM/MBOM数据结构。优点在于众多相互借用的部件及部件的所有下属零部件在父子型BOM中只需要描述一次,类似于模块化程序设计中的一个模块,模块一旦定义就可以在多处使用,从而降低了BOM的数据余度,提高了BOM数据一致性。在父子型BOM中,大量借用的零部件甚至可以描述为通用型零部件,在此基础上可以快速、准确的建立新产品的EBOM/MBOM数据。父子型EBOM/MBOM搜索性能与层次型EBOM/MBOM 相差无几。
5)二叉树型[39-42]
众所周知,任何一个树状图可以转化为二叉树描述。二叉树型EBOM/MBOM数据结构正是基于上述观点的一种EBOM/MBOM数据描述方法,在这种描述方法中,二叉树的左子树和右子树定义为“左子右兄”,按照二叉树型EBOM/MBOM数据结构描述方法,采用图3表示。二叉树型EBOM/MBOM数据结构同父子型数据结构一样,能够实现产品数据重用方面的要求,数据一致性易于维护,数据搜索性能亦相近。
常用EBOM/MBOM数据结构的性能如表所示
常见的表结构信息
NAME名字
TYPE备注
Part_no母件代号 Char(24) 不能为空、重复,最大字符长度为24位
Part_no1子件代号 Char(24) 不能为空,最大字符长度为24位
Yl_qty用量 Numeric(8,4) 最长为8位,小数点4位,默认值为0
Bad_r不良率 Numeric(7,4) 最长为7位、小数点4位,默认值为0
Stop暂停 Char⑴
Locator工序号 Char⑵ 不能为空、默认值为‘N’,最大字符长度为2位
No_pur1暂停 Char⑴ 默认值为‘N’
No_pur2不发料 Char⑴ 默认值为‘N’
Rem位号 Varchar(250) 最长字符长度为250位
Gg_person更改人 Chan⒇ 最大字符长度为20位
Ecn_noECN单号 Char⑿ 最大字符长度12
文件作用
BOM是PDM/MRPⅡ/ERP信息化系统中最重要的基础数据,其组织格式设计合理与否直接影响到系统的处理性能,因此,根据实际的使用环境,灵活地设计合理且有效的BOM是十分重要的。
BOM不仅是MRPⅡ系统中重要的输入数据,而且是财务部门核算成本,制造部门组织生产等的重要依据,因此,BOM的影响面最大,对它的准确性要求也最高。正确地使用与维护BOM是管理系统运行期间十分重要的工作。
此外,BOM还是CIMS/MIS/MRPⅡ/ERP与CAD,CAPP等子系统的重要接口,是系统集成的关键之处,因此,用计算机实现BOM管理时,应充分考虑它与其他子系统的信息交换问题。
BOM信息在MRPⅡ/ERP系统中被用于MRP计算,成本计算,库存管理。BOM有各种形式,这些形式取决于它的用途,BOM的具体用途有:
1、是计算机识别物料的基础依据。
2、是编制计划的依据。
3、是配套和领料的依据。
4、根据它进行加工过程的跟踪。
5、是采购和外协的依据。
6、根据它进行成本的计算。
7、可以作为报价参考。
8、进行物料追溯。
9、使设计系列化,标准化,通用化。
发展历程
BOM(物料清单)的发展历程是一个复杂且多维的过程,涉及到技术、管理理念以及行业需求的变化。从早期的简单列表到现代的多视图、多维度管理,BOM的发展反映了制造业对效率、准确性和灵活性需求的不断增长。
在早期,BOM主要用于描述产品的结构和组成,是一种相对静态的数据结构,其管理和使用主要依赖于手工记录和纸质文档。这种传统的管理方式存在许多局限性,如信息更新不及时、数据不准确以及难以进行有效的数据分析等。随着计算机技术的发展,BOM的管理逐渐转向电子化和自动化。BOM开始采用更复杂的数据模型来存储和管理,如关系型数据库(RDB),这表明了从手工管理向电子管理的转变。这种变化使得BOM能够更好地支持企业的信息集成系统,成为系统进行信息集成的桥梁和纽带。
研究提出了基于仓库的BOM集成管理系统,这种系统通过定义BOM模板来提高产品效率和企业标准化程度,同时利用多格式数据接口和XML技术实现数据的输出和共享,这体现了早期BOM管理系统的设计趋向于系统化和标准化。
随着ERP(Enterprise Resource Planning,企业资源规划)系统的引入,BOM的管理也得到了进一步的优化。ERP系统能够整合来自不同部门的数据,如产品家族BOM、订单BOM及其配置器,从而减少了数据的冗余和扩展性问题。这种集成化的管理方式不仅提高了数据的准确性和一致性,还增强了不同部门之间的信息交流和协作。
进入21世纪后,随着制造业对产品生命周期管理(PLM)的需求增加,BOM的概念和应用也发生了显著变化。
有研究提出基于知识工程的BOM管理理论,提出了一种基于BOM演化的知识体(KBOM),以实现BOM的高效配置和管理。具体实现方式包括知识表达与结构化处理、知识检索与推理、自动化映射与知识重用、集成管理系统、配置优化、生命周期管理等。
多视图BOM的概念也被广泛接受,它允许在不同的产品生命周期阶段使用不同的BOM视图,从而更好地适应产品设计和生产的需要。多视图BOM是为了解决产品生命周期中不同阶段对物料信息的不同需求而引入的。在产品的设计、制造、销售等各个阶段,对物料的需求和管理方式各不相同,这就需要一个能够适应这些不同需求的系统来管理物料信息。多视图BOM正是基于这种需求而发展起来的。概念最早在2001年被提出,当时的研究主要集中在如何有效地保证BOM视图之间的数据完整性、正确性和一致性上。随后,研究者们开始探索如何在不同的产品生命周期阶段应用多视图BOM。例如,2002年的研究提出了基于单一数据源的产品BOM多视图映射技术,旨在实现产品全生命周期中的物料清单信息集成,这表明了多视图BOM技术在实现信息集成方面的潜力。
2004年的研究详细分析了产品结构数据模型,并探讨了BOM视图的含义、内容及其数据来源,为产品多视图的实现提供了理论基础。针对复杂产品开发过程中各部门间的信息孤岛问题,2008年的研究建立了一种BOM多视图转换的形式化模型,实现了从设计BOM到制造BOM的转换。在PLM(Product LifecycleManagement,产品全生命周期管理)环境下,多视图BOM的应用得到了进一步的发展。2007年的研究通过定义分析设计物料清单(EBOM)、工艺物料清单(PBOM)、制造物料清单(MBOM)及其相互关系,建立了BOM结构数学模型,实现了EBOM向PBOM以及PBOM向MBOM的转换。这一研究不仅展示了多视图BOM在PLM环境下的应用,也证明了其在确保数据一致性与准确性方面的有效性。
随着技术的发展,多视图BOM的应用范围也在不断扩大。2012年的研究针对汽车整车制造过程,设计并实现了面向整车制造过程的BOM数据管理信息系统,实现了企业不同部门BOM数据管理平台的高度统一。
随着信息技术的进步,特别是互联网和XML技术的应用,BOM的数据交换和共享变得更加容易。例如,基于STEP装配特征识别的BOM自动生成方法,利用统一建模语言(UML)和XML技术,实现了从异构CAD文件到BOM的自动转换。这种方法不仅提高了BOM数据的准确性和一致性,还增强了不同系统之间的互操作性。
随着智能制造技术的普及,BOM在制造业中的作用也在不断扩展。例如,基于模板技术的通用BOM系统能够提高汽车模具制造中BOM生成的效率和准确性。面向复杂产品的BOM多视图集成管理和映射方法的研究,进一步提高了BOM管理的效率和灵活性。
BOM的发展历程是一个由简单到复杂、由静态到动态、由单一到多元的过程。这一过程不仅反映了技术进步的影响,也体现了制造业对提高生产效率、降低成本和增强竞争力需求的响应。未来,随着人工智能、大数据等新技术的应用,BOM的发展将更加注重智能化和个性化,以更好地满足制造业的多样化需求。
文件形式
随着以现代集成制造系统CIMS(Contemporary IntegratedManufacturing System)、产品数据管理PDM(Product Data Management)、企业资源计划ERP(Enterprise ResourcePlanning)等企业信息化技术的发展在产品生命周期中出现了各种不同的物料项清单BOM(Bill of Material),主要有工程物料项清单EBOM(Engineering BOM)、工艺物料项清单PBOM(Process BOM)、制造物料项清单MBOM(Manufacturing BOM)、支持物料项清单(Support BOM)、材料物料项清单(Material BOM)、采购物料项清单(Purchasing BOM)等。这些BOM分布在企业信息网络中的不同地点彼此孤立地存在于不同的应用系统中,给产品数据的一致性维护带来了困难。
产品生产过程BOM形式
产品要经过工程设计、工艺制造设计、生产制造3个阶段,相应的在这3个过程中分别产生了名称十分相似但却内容差异很大的物料清单EBOM、PBOM、DBOM。这是三个主要的BOM概念。
(1)工程BOM
产品工程设计管理中使用的数据结构,它通常精确地描述了产品的设计指标和零件与零件之间的设计关系。设计结构区别于装配结构和制造结构,是工程设计人员按照客户定单合同中的产品功能要求来确定产品需要包括哪些零部件,以及这些零部件之间的结构关系,是按设计分离面划分的产品结构。BOM中零部件的设计属性是产品功能要求的具体体现,如重量要求、寿命要求、外观要求等。
对应文件形式主要有产品明细表、图样目录、材料定额明细表、产品各种分类明细表等。EBOM通常仅限于图纸零件明细表出现的物料,说明图纸的层次和从属关系,做好技术文档管理,虽然也有指导采购和估算报价的功能,但主要是为了管理图纸。
(2)工艺BOM
设计部门在完成产品的设计工作确定了产品的设计结构后还需要经过工艺设计才能进行生产,特别是对大型复杂机械产品,如汽车、飞机、轮船等。工艺设计是保证产品顺利生产的重要环节,主要完成2个方面的工作:一方面,将产品的设计结构经过工艺分解变成适于本企业生产制造的工艺结构;另一方面,对每一个零组件完成其机械加工、装配等工艺的设计。PBOM就是以EBOM为依据进行产品工艺分解得到的。工艺分解是指合理的利用产品结构的设计分离面和工艺分离面将产品划分为若干个独立的装配单元,这里设计分离面是指为了满足产品结构和使用的需要在部件之间、部件和可卸件之间形成的分离面,且采用的是可卸连接。工艺分离面是指为满足制造和装配过程的要求将部件进一步分解为更小的装配单元,这种装配单元之间的分离面称之为工艺分离面,一般为不可卸连接。根据EBOM进行工艺分解生成PBOM的主要方法是将EBOM中的零组件经过调整和重新组合,通过增加必要的工艺构型节点,改变零组件的层次结构关系。
(3)制造BOM
EBOM反映了产品的设计结构,PBOM反映了工艺结构,制造结构则由MBOM来表达。所谓产品的制造结构就是实际生产中的制造装配顺序,一般制造结构要比设计结构和工艺结构更加详细、层次更加复杂。产品制造结构对于生产经营管理有重要的意义特别是在制造资源计划(MRP)计算中只有通过制造结构才可以准确的计算出所有物料项的需求数量和需求时间,从而为制订生产计划和采购计划提供数据依据。
产品的制造装配顺序是由工艺流程来决定的。工艺流程由工艺流程单元组成,一个流程单元完成一个或一组制造或装配工作。工序是构成流程单元的基本单位。产品生产制造过程由众多的流程单元按照一定的层次关系构成,一般包括工序、工位、工场。一个产品的所有流程单元形成该产品的工艺流程结构树。图3中表示了某客车生产中的部分工艺流程结构树。流程单元与物料项有着密切的联系,流程单元的本质是一个或一组工艺过程,这个工艺过程必然要输出某个物料项,而为了制造这个输出物料项,一定会有若干个输入物料项,这些输入物料项要么是上一个工艺流程单元的输出物料项,要么就是初始状态物料项。既然工艺流程节点对应着物料项,那么就可以用相应的物料项去“替代”工艺流程结构树中的流程节点,实现根据工艺流程结构重排物料项。而“替代”的根据就是每个工艺流程节点所对应的工艺数据即工艺规程。如果是加工工艺规程则指明了所需要的原材料或毛坯;如果是装配工艺规程则列举了为装配该物料项所需要的其他全部物料项以及相应的数量。原材料、毛坯和子装配件都作为该物料项的子节点出现在MBOM中。
MBOM构造过程如图3所示:
EBOM经过工艺分解形成PBOM,PBOM在工艺流程的基础上结合工艺规程形成MBOM这样它们之间形成了一种演变关系.这个演变关系反映了BOM数据之间在逻辑上的一致性。
其他BOM形式
(1)虚拟BOM
虚拟件表示一种并不存在的物品,图纸上与加工过程都不出现,属于“虚构”的物品。其作用只是为了达到一定的管理目的,如组合采购、组合存储、组合发料,这样在处理业务时,计算机查询时只需要对虚拟件操作,就可以自动生成实际的业务单据。甚至也可以查询到它的库存量与金额,但存货核算只针对实际的物料。虚拟件能简化产品的结构的管理。为了简化对物料清单的管理,在产品结构中虚构一个物品。如下页图所示。如果对A产品BOM的定义采用左图的方式,那么,子件B、C的BOM文件定义过程会重复引用到D、E与F物料,加大工作量,并且数据库的存储空间也会增加。而采用右图的定义方式,增加一个“虚拟件”物料K,并定义K的BOM文件,而B、C的BOM中只需要加入一个子件K,无须重复加入子件D、E与F物料,从而达到简化BOM的目的,特别是在多个BOM中有大量的相同子件重复出现,这种定义方式的优越性就更加明显。另外,如果当虚拟件的子件发生工程改变时,只影响到虚拟件这一层,不会影响此虚拟件以上的所有父项。配置BOM和计划BOM也是出于相同的思想和考虑产生的。
(2)投料用BOM(BOM for Cast,BOM 4C)
由于投料中不同的零件有毛坯借用关系,形成了一个毛坯为多个零件所共用的情况。当进行投料时,就是要从不同生产产品开始,通过BOM得到最底层零件,再把那些有借用毛坯的零件归类在一起,形成投料的需求。因此,投料用BOM比设计用BOM又多了一层,以表示零件与毛坯的关系。常见操作为找所有生产零件所用的毛坯,这一操作要先通过BOM4M,然后再通过毛坯借用关系的定义找出相应的毛坯及数量。
(3)质量管理BOM(Quality BOM,QBOM)
QBOM是企业的生产管理部门和质量控制部门在实际的制造和生产管理过程中生产某种产品所需的零部件质量管理和控制信息清单,QBOM是根据产品的MBOM和PBOM对质量的要求,描述各种自制零部件、外协件以及采购件的质量要求、质量检测和质量控制标准,用来指导生产质量控制和检查。
(4)成本BOM(COST BOM,CBOM)
CBOM是成本核算部门用来描述产品及零部件的最终成本信息。它是根据制造BOM中自制件、外协件和采购件的成本方面信息,追加企业的管理费用、设备折旧费用等计算出产品及零部件的最终成本。
(5)采购BOM(Buying BOM,BBOM)
企业的采购部门根据MBOM的零部件的外购和外协信息,制定产品的外购件、外协件的BOM清单,同时根据自制件的PBOM中定义的原材料成材率,制定自制件的原材料采购物料BOM清单。
(6)销售BOM(Sales BOM,SBOM)
销售部门根据企业的销售计划和客户需求信息,确定企业的销售物料清单,销售BOM包括最终产品和单独作为配件、备件销售的零部件等物料。
(7)其他BOM文件,包括:产品的加工设备BOM、工艺装备BOM、刀具BOM以及量具BOM等等。
在各式各样的BOM文件当中,EBOM和PBOM属于最原始的BOM文件,它凝结了产品设计工程师和工艺工程师的创造性工作,其他各种BOM都是在其基础上结合其应用领域的信息转换而来的。
其转换过程是:产品设计工程师根据用户的需求或者产品的设计要求,借助CAD工具软件完成产品的设计工作,并通常借助PDM系统管理产品设计数据,从而获取EBOM;工艺设计部门根据EBOM借助CAPP系统(或手工)编制自制零部件的工艺文件,在此过程中,工艺设计工程人员很可能结合企业的工艺装配特点,修改EBOM中定义的零部件之间的装配关系和装配过程;生产制造部门或生产车间根据EBOM和PBOM重新确定用于生产计划编制和物料控制等用途的MBOM;物资采购部门根据MBOM中零部件的加工属性,提取产品的零部件采购物料清单;质量管理部门和生产部门根据EBOM和PBOM,提取产品及其零部件的质量控制和管理数据,形成QBOM;成本核算部门从MBOM和PBOM中提取产品及其零部件的与成本相关的数据,形成CBOM;销售部门根据市场需求信息和客户订单以及产品的MBOM,生成SBOM;企业的生产管理部门根据产品订单、SBOM、MBOM和物料的库存状况,编制企业的生产作业计划。
在上述的各种各样的BOM 中,各种BOM的产生和使用过程与产品的开发过程密切相关,每种BOM是由产品类型、应用领域和产品的生命周期唯一确定的,如果把产品的设计数据(包括产品工程设计和工艺设计数据)视为单一的产品数据源(Simgle Source Of Product Data,SSPD),则上述的各种BOM文件可以看成这个单一的数据源在产品类型、应用部门和生产周期上的产品数据的视图,即各种BOM是由产品类型、应用领域和产品的生命周期所确定的三维空间上的一种视图关系。
图4表示了产品的多BOM视图的相互关系和转换过程。
区别
物料清单同我们熟悉的产品零件明细表是有区别的,主要表现以下方面:
1、物料清单上的每一种物料均有其编码即物料号,十分明确所构成的物料。一般零件表明细表没有这样严格的规定。零件明细表附属于个别产品不一定考虑到整个企业物料编码的可靠性。
2、物料清单中的零件、部门的层次关系一定要反映实际的装配过程,有些图纸上的组装件在实际装配过程中并不一定出现,在物料清单上也可能出现。
3、物料清单中要包括产品所需的原料、毛坯和某些消耗品,还要考虑成品率。而零件明细表既不包括图纸上不出现的物料,也不反映材料的消耗定额。物料清单主要用于计划与控制,因此所有的计划对象原则上都可以在物料清单上。
4、根据管理的需要,在物料清单中把一个零件的几种不同形状,如铸锻毛坯同加工后的零件、加工后的零件同再油漆形不同颜色的零件,都要给予不同的编码,以便区别和管理。零件明细表一般不这样处理。
5、物料是否在物料清单上是非常灵活的,完全可以由用户自行定义。比如加工某个冲压件除了原材料钢板外,还需要一个专用模具。在建立物料清单时,就可以在冲压件下层,把模具作为一个外购件挂上,它同冲压件的数量关系,就是模具消耗定额。
6、物料清单中一个母件子属子件的顺序要反映各子件装配的顺序,而零件明细表上零件编号的顺序主要是为了看图方便。
制作要求
ERP系统本身是一个计划系统,而BOM表是这个计划系统的框架,BOM表制作质量直接决定ERP系统运行的质量。因此,BOM表制作是整个数据准备工作重中之重,要求之高近乎苛刻,具体要求有三方面:
1、覆盖率:对于正在生产的产品都需要制作BOM,因此覆盖率要达到99%以上。因为没有产品BOM表,就不可能计算出采购需求计划和制造计划,也不可能进行套料控制;
2、及时率:BOM的制作更改和工程更改都需要及时,BOM必须在MRP之前完成,工程更改需要在发套料之前。
这有二方面的含义:(1)制作及时;(2)更新及时。且这二者要紧紧相扣,杜绝“二张皮”。
3、准确率:BOM表的准确率要达到98%以上。
测评要求为:随意拆卸一件实际组装件与物料清单相比,以单层结构为单元进行统计,有一处不符时,该层结构的准确度即为0。
产品数据库(BOM)建立对实施ERP的制约可想而知,都说实施ERP难,其中最难的就是产品数据库的完善,部分企业实施ERP进展缓慢或实施不正常往往就是出现数据库不完善的问题。但只要企业有强有力的实施班子,实施人员有锲而不舍的精神,闯过管理关和数据关,成功实施ERP的路就会展现面前。
其他编码
Unicode规范中的BOM:
Unicode规范中有一个BOM的概念。BOM——Byte Order Mark,就是字节序标记。在这里找到一段关于BOM的说明:
在UCS编码中有一个叫做“ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现实际传输中。UCS规范建议在传输字节流前,先传输字符“ZERO WIDTH NO-BREAKSPACE”。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符“ZERO WIDTH NO-BREAK SPACE”又被称作BOM。
UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符“ZERO WIDTH NO-BREAKSPACE”的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。
Windows就是使用BOM来标记文本文件的编码方式的。
另外unicode网站的FAQ-BOM详细介绍了BOM。
UTF-8编码的文件中,BOM占三个字节。如果用记事本把一个文本文件另存为UTF-8编码方式的话,用UE打开这个文件,切换到十六进制编辑状态就可以看到开头的EF BB BF了。这是个标识UTF-8编码文件的好办法,软件通过BOM来识别这个文件是否是UTF-8编码,很多软件还要求读入的文件必须带BOM。
可是还是有很多软件不能识别BOM。在Firefox早期的版本里,扩展是不能有BOM的,不过Firefox 1.5以后的版本已经开始支持BOM了。而PHP不支持BOM。PHP在设计时没有考虑BOM的问题,也就是说不会忽略UTF-8编码的文件开头BOM的那三个字符。由于必须在编辑器自动加上BOM将会造成在页面上输出这三个字符,显示效果取决于浏览器,一般是一个空行或是一个乱码。
应用场景
(1)BOM在企业管理中的应用
产品BOM的应用可分为两步。一是在开始实施ERP时,由设计部门将企业产品的结构、数量信息输入到PDM系统,或ERP的数据库中,形成了所谓的“设计BOM”,它是系统启动的基础数据之一。由于这项工作的量非常大,故在这一阶段,系统启动时需要考虑快速性和系统开始运行后基础数据的易维护性。二是在系统启动后,根据MRP思想,产品BOM则用于企业的采购、投料、生产、仓库等生产部门。如在生产中,需要将产品的主生产计划根据BOM结构进行分解,以确定需要采购、投料以及需要生产的零件数量,再由BOM分解结果与库存信息对比,动态地显示出生产或采购环节所缺少的零件,由此生成物料需求计划(Material RequirementPlanning, MRP)。在这些过程中,需反复用到BOM的分解,因此,BOM结构和分解算法优化对整个系统的运行效率有着直接的影响。实际上,随着数据量的逐渐增加,未优化的BOM结构有可能因为BOM分解速度缓慢而造成系统瘫痪。
如何合理地设计产品数据结构,不仅决定了BOM数据的一致性和完整性,而且将直接影响产品结构树分解速度的快慢。在运用关系型数据库时,进行BOM分解计算通常有两种方法:一种是用程序,常用递归算法,该算法中包含了多次数据库的操作;另一种是直接用一条SQL语句实现,即只有一次数据库操作。很显然,后者的效率比前者要高得多。因此,在BOM结构设计中的一个原则就是,尽可能地用一条SQL语句来实现各种BOM的操作。
在进行数据库设计时,影响BOM复杂性的首要因素是产品结构复杂,以及大量零件、组件的相互借用关系,使装配关系的树状层次又演变成网状结构。影响BOM复杂性的另一因素体现在产品的结构随客户的要求而不断变化,BOM是随产品结构而动态改变的。
(2)企业集成化的环境中BOM
从企业全局的角度考虑,BOM表架起了集成系统产品信息的桥梁,是企业设计部门与制造部门信息沟通的重要纽带,图4描述了BOM信息在企业各部门的传递与表现形式。首先,由设计部门设计产品,制定出设计文件,提供一套设计BOM提交给工艺部门。工艺部门根据设计BOM制定符合本企业生产加工前的准备工作文件,产生工艺BOM供应采购部门根据工艺BOM以及库存情况,确定需要购买的零部件清单;财务部门根据工艺要求、加工产品的复杂度、购买材料的费用以及产品管理所需的费用计算产品成本;销售部门以工艺BOM为基础加上用户的需求制定装箱清单,可以说BOM是企业产品管理的基础,它几乎与企业中的所有职能部门都有关系,如果没有BOM企业就无法制造出各类相同的或不同的产品。因此,BOM信息是集成环境中企业产品数据管理中的核心数据。
在集成化的产品管理系统中表达一致的又有不同形式的BOM对产品数据的集成与共享具有重要意义,为了实现产品数据表达的同一性和复杂性,产品相关语意将贯穿各个部门,使得各种形式的BOM管理更为直接,以产品结构为核心,体现了产品管理的一致性,对于产品的任何一个数据的变化都将反映到产品结构树中,这样可以减少数据的冗余,保证设计制造、管理、销售各部门对产品数据解释的语义一致性,使统一的BOM管理得到保障。
在制造业的产品设计和制造过程中,产品的物料清单(Bill OfMaterial.BOM)是一种描述装配件的结构化零件表,其中包括所有装配件、零件、原材料的清单,以及制造-个装配件所需的物料数量。BOM中的项目是指物料清单中的一个组成项目,项目除了可以表示物料之外,还可以包含工装工具或者水、电、风等无库存余额项目,以及产品的包装物、说明书、零部件相关文档等[30,44-45]
在产品的设计和制造过程中,BOM起着核心数据的作用,它是连接产品设计过程和产品制造过程的信息桥梁,是企业进行CAD/CAPP,实施MES/MRPII/ERP,实现CAM的依据。因此,BOM数据的正确性、一致性和完整性对企业的各种活动有着决定性影响。
在制造执行系统领域,由于它是面向车间生产管理的,MES(制造执行系统)大量涉及到产品的物料清单、零部件的工艺信息、制造过程的质量管理信息以及制造成本的控制信息等。
在部件装配时候,生成物料配套表,供库房检验物料的有效性以及发放物料,监控生产过程的物料短缺情况及使用情况。帮助确定物料在车间的的存放货位及方法,进行成本累计和成本控制。安排生产作业计划并按照工艺要求实施质量控制。
案例
BOM物料清单在不同行业中的应用案例广泛且多样,涵盖了从制造业到服务业的多个领域。以下是一些具体的应用案例:
(1)注塑机产品:在注塑机行业中,BOM物料清单被用于设计、制造和采购过程中的物料需求计算和产品配置。通过建立注塑机产品的配置模型和快速转化模型,实现了从设计BOM到制造BOM再到采购BOM的转化,有效提高了生产效率和物料管理的准确性。
(2)民用大飞机:在民用大飞机的全生命周期业务中,BOM物料清单起到了关键作用。通过研究不同BOM数据结构的优势和劣势,实现了设计、工艺、制造和服务业务下BOM之间的映射机制,促进了民用飞机运营商的高效运作。
(3)摩托车制造业:在摩托车制造业中,质量BOM被用于整合质量代码和质量故障代码,以及在质量信息系统中的实施方法,从而提高了产品质量和生产效率。
(4)汽车行业:在汽车行业中,BOM物料清单是ERP系统的核心数据,直接影响生产、物料筹措、仓储管理和成本核算。汽车企业通过BOM管理实现了产品的多配置和多变更管理,显著提高了生产效率和成本控制能力。
(5)机械制造行业:在机械制造行业,基于集成化物料清单BOM的CAPP系统被应用于工艺设计与管理,解决了传统CAPP系统难以解决的流程重构和智能化生成工艺路线的问题。该系统通过集成化BOM树的设计和实现机制,实现了工艺设计流程的自动化、重组与系统集成。
(6)包装机行业:在系列化包装机的动态产品结构与设计流程管理中,面向对象的BOM模型被用于构型管理,依据产品不同配置规则生成相应的物料清单结构,有效管理了产品结构与配置。
(7)制药行业:在制药行业中,BOM物料清单的重构对于满足生产和市场特点至关重要。通过设置物料项目虚项和设计模块化的物料清单,提高了物料清单的灵活性和适应性。
(8)智能制造工程管理:在智能制造领域,基于BOM的工程管理系统被设计和实现,以满足制造型企业对物料管理的需求。该系统通过优化企业结构和提高运作效率,增强了企业的全球市场竞争力。