在制造、加工业中,很多复杂的成套电子设备、机械设备的组成部分有自制件、外协件、外购件及原材料等零部件数以万计,为了形成各种型号的产品,要对这些零部件进行合理配置,这就是产品结构和产品配置。BOM系统正是基于这种思想提出的。它是任何管理系统的基础,几乎与企业中的所有职能部门都有关系,是实现基于PDM与ERP系统集成的关键。如果没有BOM,就无法制造出同样的产品,无法准确地将设计部门产生的数据和变更信息传送到制造部门,实现全局数据信息的统一,进而直接影响到系统的处理性能和使用效果。
1 基本概念
产品数据管理PDM(Product Data Management):它是管理所有与产品相关的信息和过程的技术;与产品相关的所有信息,即描述产品的各种信息。包括零部件信息、结构配置、文件、CAD档案、审批信息等;与产品相关的所有过程,即对这些过程的定义和管理。包括信息的审批和发放。
企业资源计划系统ERP(Enterprise Resource Planning):它是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。
物料清单BOM(Bill of Material:它是一种描述装配件的结构化的零件表,其中包括所有的子装配件、零件、原材料的清单,以及制造一个装配件所需物料的数量,如工时、材料、设备、工装、车间等。要想用计算机来管理企业的这些繁多而又关联的物料,首先要使系统能够知道企业制造的产品结构和所有要使用到的物料,为了便于计算机识别,必须把产品结构图转换成规范的数据格式,这种用规范的数据格式来描述产品结构的文件就是物料清单(BOM)。
2 BOM的建立
建立以下几个表:based_material_tab:基本物料表;product_class_tab:产品类表;choice_tab:可选件表;replace_tab:可替换件表;items_tab:零件簇表;class_relation_tab:类BOM表;product_relation_tab:产品BOM表。其中几个关键的表结构如表1、表2、表3。
BOM的主要目的是体现产品结构和产品配置,因此BOM中的数据应能反映出产品零部件装配的层次关系及相关属性。BOM中的数据来源于企业的基本物料表:based_materiaL_tab,该表中包含所有物料、说明物料的各种参数、属性及有关信息。
依据零部件明细表,在可视化界面上选择零件簇表中的零部件类,添加到产品类结构树中,代码如下:
node:=treeview3.items.AddChild(node,treenode);
这样形成的产品类结构树的各节点就是相应零部件类的名称。例如计算机的类结构树如图1。
图1 计算机类结构树状图
把类结构树节点的类内部编码及相关属性按照层次及父子关系存入类BOM表中,就形成了产品类BOM。
从产品类BOM中调出某产品类的结构树,按照规则条件及可选件表、可替换件表,系统自动在基本物料表中选择符合条件的零部件,替换产品类结构树上的节点,形成产品结构树,完成了具体产品的产品结构和配置,代码如下:
productname:=listbox4.ltems.StingS
[listbox4.itemindex];
node:=treeviewI.Selected;
node.Text=productname;
把产品结构树中节点的内部编码及相关属性按照层次及父子关系存入产品BOM表中。代码如下:
这样,就把产品结构图转换成了规范的数据格式,存放在数据库中,利用关系数据库的逻辑关系实现用规范的数据格式对产品结构的描述。
基本物料表、产品类BOM和产品BOM是PDM和ERP的集成系统中最重要的基础数据,使系统识别产品结构,同时也是联系与沟通企业各项业务的纽带,体现了数据共享和信息集成。
3 BOM的存储
由于企业有多种类型的产品,每类产品又有多个型号,因此BOM表中存储大量的数据,这些数据体现产品的结构、配置、零部件的关系、配置数量、零部件类型等信息。在PDM/ERP集成系统中,BOM被频繁调用,如果数据库存储方案不合理,会造成网络运行速度慢,数据更新不及时,导致生产管理混乱。采用分层体系,对数据库集中存储和分布式存储相结合的方法来实现信息共享,可提高系统效率。
采用数据库方式存储数据,数据以记录的形式存放在数据库中。这种方式有很多优点:可以保证数据在物理上和逻辑上的独立性、可以提供明确的数据存储规则和标准、可以有效地控制对数据的使用,保证数据的安全性、可恢复性、可以减少数据冗余、允许不同需求的用户共享数据。数据库系统采用SQL Server。
采用分布式数据库对数据进行分布式存储。由于来源于不同渠道的数据可能具有不同的数据结构,这些数据的访问者的目的不同,这样对数据按不同的地域、不同的技术群体或不同的访问对象群建造不同的局部数据库。全局数据库包含企业所有相关的现有及历史数据。全局数据库的数据不是对局部数据源的简单堆积,而是对局部数据库中的数据的重组、综合和集成后的信息。局部数据库间数据的重叠部分或公用数据必须协调一致。
产品BOM和产品类BOM存放于全局数据库,作为全系统的共享资源,与各部门相关的BOM中的信息存放于本地的局部数据库中,当这些信息有改变时,改变后的信息同步存入本地局部数据库与全局数据库,以保证数据的完整性、一致性。按这种方式存储BOM,在企业各部门访问BOM时,就不会频繁访问全局数据库,只有当本地局部数据库中没有所要的信息时,才去查询全局数据库,这样就大大提高了系统效率。分布式存储模型如图2。
图2 分布式圈据存储模型
数据库应用系统采用多层体系结构,即:数据库服务器一>应用服务器一>客户端。
全局数据库存放于数据库服务器中,局部数据库同应用程序一起存放于应用服务器中,客户端只通过应用程序界面即可方便、快速地访问BOM。体系结构如图3。
图3 数据审应用系统体系结构
4 BOM在集成系统中的应用
根据客户端所列出的产品类选择某类产品,系统自动到本地局部数据库的产品类BOM查询该类产品,若没有,再到全局数据库中查找。找到该类产品后,调出产品类结构树状图,树节点是零部件类,代码如下:
系统自动查询本地局部数据库的产品BOM,对所有类节点,按规则条件选择符合条件的零部件,代替产品类结构树上的节点,把该结构及相关属性同步存入本地局部数据库和全局数据库的产品BOM,就完成了新产品的结构和配置管理。在生产运行时,可在用户端直接调出已有产品的结构和配置,还可以根据已有产品的结构和配置,经过修改,形成新产品,新产品的结构和配置同样要同步存入本地局部数据库和全局数据库。
采购部门、设计部门、工艺部门、制造部门等根据产品BOM来安排原料采购、零部件加工、库存管理、成本核算等方面的工作。
5 应用实例
清华同方电脑公司生产管理系统中的BOM就是采用这种方案建立及应用的。先建立产品类结构,在类结构的基础上建立产品BOM,采用多层次分布式数据库存储方式,各部门在客户端按权限通过应用服务器执行应用程序访问局部数据库或全局数据库管理相关业务,使生产管理自动化。该方案同样适用于其他制造、加工业。
本文作者:程存有 叶晓俊 来源:e-works
CIO之家 www.ciozj.com 微信公众号:imciow