zoukankan      html  css  js  c++  java
  • CAPP软件中BOM表的结构研究 [转]

    作者:jiangnanxue  来源:智造网—助力中国制造业创新—idnovo.com.cn

    1  基于BOM 的工艺设计思路

      基于BOM 的工艺设计方法,是将复杂的工程数据建立在关系数据库之上,从而能够将CAPP 集成在统一的产品数据管理系统( PDMS) 中,有效地解决了CAD/ CAPP 系统与ERP 等系统的集成。面向BOM 的工艺设计分为4 个阶段:BOM 的获取、BOM的调整、工艺设计的实现、同ERP 的集成。每个阶段都需要实现相应的任务,如图1 所示,不论在工艺设计的哪个阶段,工艺设计始终围绕BOM 这一主线,工艺设计的过程实际上是BOM 的产生、组织、衍变和传递的过程。

      

      2  工艺设计与BOM 的关系

      在工艺设计过程中,对工艺信息的管理主要包括工艺卡片管理和统计数据汇总等。工艺卡片的管理主要是指对用于工艺路线设计的卡片(工艺流转卡、焊接工艺卡、锻压工艺卡等) 的制作、存储和查询,数据汇总则是指对以上卡片中的信息,依照材料消耗、工装设备的使用情况等方式进行数据的统计,从而将这些信息传递给CAM 等系统以进行生产准备和成本核算。在CAPP 系统中实现以上功能的基础就是对PPBOM 的设计。

      BOM 狭义的理解是指对产品数据结构的技术性描述文件,它表明了产品组件、子件、零件直到原材料之间的结构关系,以及每个组件所需的各下属部件的数量。由CAD所产生的EBOM(工程BOM)就是一种狭义BOM ,它仅仅是在产品设计的基础上对产品的装配、几何信息进行了描述,缺乏与之对应的工艺信息。因此,对PPBOM 的设计主要是基于EBOM 的数据结构的修改和数据关系的扩展,以增加产品的工艺信息,并实现在其各个层次上的数据可视化、查询及汇总。

      3  PPBOM 的数据结构设计

      3-1  EBOM的数据结构分析

      EBOM 来自工程设计部门,其主要结构有层次型和父子型等,其中以父子型BOM 较为常用。在EBOM 中主要描述两类数据关系: (1) 产品的装配数量关系,即组成某一组件的零件及其个数。(2) 零件的自然属性关系,即某个零件的尺寸、材料、重量等特征。

      3-2  EBOM与PPBOM的关系

      PPBOM 与EBOM 既相互联系又相互区别,它们的联系主要表现在PPBOM 的雏形就是EBOM ,PPBOM 中大部分基础数据(例如零部件的装配关系,零件的尺寸等) 来自于EBOM。它们的区别主要包括三个方面:

      (1) 产品数据结构不同。数据结构的不同主要是由于工艺与设计的差异而产生的,这种差异导致了三种情况的产生:a. 虚拟件。在产品设计时会出现一些装配件,在EBOM 中它们表示为一些分支结点。但在实际的工艺过程中,由于装配工艺的原因,某个装配件不会被以一个组件的形式制造出来,它将以单独的零件的形式安装在产品上,这时就需要在PPBOM 中将这个分支结点更改为一组叶子节点。b. 中间件。在实际的产品生产过程中,经常会使用到由一组相同的零件构成的装配件,这类装配件及其下属的零部件制造和加工过程完全相同,所以,为了简化工艺设计流程,便于管理,在PPBOM中就有必要将其单独定义为一个分支结点。c. 外协件。这类零部件只需要在工艺路线中将其定义为外协即可,在PPBOM 中作为一个叶子节点出现。

      (2) 零件基本属性的扩展或更改。在具体的PPBOM表中,必须为每个零件添加相应的工艺路线、工时等基本属性。在材料的使用方面,有时由于库存等原因,设计时所定义的原材料可能没有,这时工艺部门就会根据材料代用规则选择新材料,此时工艺BOM 表的信息也会发生相应的更改。

      (3) 产品数据关系的扩展。在PPBOM 中除了继承EBOM 中的产品装配数量关系和零件自然属性关系外,还必须定义零部件与工艺文件的映射关系,这类关系主要描述了零件与加工该零件的各类工艺卡片之间的联系。

      通过对EBOM 与PPBOM 的分析比较后,可以得知在PPBOM 中,以产品为对象,包含了产品的设计信息和工艺信息,实现了设计信息与工艺信息的一一对应,完善了产品数据结构。

      3-3  PPBOM的数据结构设计

      根据以上结构和关系的描述,在数据库的逻辑结构设计中, PPBOM 设计为四层结构,如图2 所示,其中在工艺卡片层主要是实现各个工艺卡片的填写,以及工艺文件目录的汇总;在部件层和零件层主要是体现零部件的装配工艺关系,以及实现在这些层次上的材料消耗定额、设计制造专用工艺装备等信息的汇总;在产品层上生成的各类汇总表将描述出零件的装配属性关系,自然属性关系以及工艺设计信息,其中主要包括零件清单,材料定额,工艺路线三类信息。

      

      4  PPBOM 功能的实现

      4-1  PPBOM中数据的可视化

      实现数据的可视化,主要是使PPBOM 的各类数据关系从逻辑结构转向物理结构。基于本文设计思想的CAPP 系统选用TreeCt rl 控件来显示产品、部件、零件的装配关系及与之对应的工艺卡片信息如图3 所示,这样也易于实现各个节点的添加、删除、修改等操作。

      

      在数据的显示,读取和存储方法上,本文作者使用了XML 技术来实现,对于每一张工艺卡片,用XML 代码进行描述,如图4 所示为一张工艺卡片的部分单元格:

      

      对图3 所示表格的XML 描述为:

      < Table row =“2”col =“4”x1 =“34”y1 =“156”x2 =“187”y2 =“176”type =“Ver”>

      < TH name =“ProcessNo”>

      < Rect x1 =“34”y1 =“146”x2 =“47”y2 =“156”type =“F1”>

      < Row font =“”size =“14”> 工序号< / Row >

      < / Rect >

      < / TH >

      < TH name =“OperationName”>

      < Rect x1 =“47”y1 =“146”x2 =“109”y2 =“156”type =“F1”>

      < Row font =“”size =“14”> 工序名称< / Row >

      < / Rect >

      < / TH >

      < TH name =“OperationDec”>

      < Rect x1 =“109”y1 =“146”x2 =“148”y2 =“156”type =“F0”>

      < Row font =“”size =“14”> 工序内容< / Row >

      < / Rect >

      < / TH >

      < TH name =“Equipment”>

      < Rect x1 =“148”y1 =“146”x2 =“187”y2 =“156”type =“F0”>

      < Row font =“”size =“14”> 设备< / Row >

      < / Rect >

      < / TH >

      < / Table >

      采用XML 语言对工艺卡片进行描述后,根据每张卡片中各个表格所填数据的特点,经过抽象整理,将每张卡片分为表头区(CardHead) , 表中区(CardBody) ,版本区( Edition) ,编校区(Revision) 及附件区(Appendix) 五个部分,程序中采用面向对象的思想将这五个部分抽象为五个类,并定义相应类的方法和属性,数据读取时将读入XML 描述的卡片格式信息,然后从数据库中根据不同的类对应的数据表读取相应的数据填入到卡片的正确位置。数据储存时将已经填写好的表格数据从XML 格式中解析出来,根据表格各部分所属类存储到相应的数据表中。

      4-2  PPBOM中数据的查询、汇总

      使用XML 语言对工艺卡片描述后,由于每张卡片的数据信息分别以XML 格式存储到PPBOM

      表中,而工艺卡片的一些关键信息,如零件清单图号、零件图号等,是以字段的形式存储的。因此进行数据的查询时需要根据卡片的关键信息找到数据库中相应的表,得到对应的XML 文档描述,从而检索出XML 元数据。此查询过程在关系数据库中采用简单的结构化查询语言( SQL) 即可实现,在程序开发语言中只需要进行字符串的匹配操作即可实现。

      在进行数据汇总处理时,由于汇总输入条件多样化,而输出数据结构化,所以需要在数据库操作系统中编写相应的存储过程。汇总时以数据的查询为基础,在程序中编入不同的查询条件,在数据库操作系统中执行对应的存储过程,检索出需要的数据后,再进行一些后置处理,比如排序、分类或者数学计算等,最后以XML 文档形式输出,或在CAPP 中显示,或供其它系统使用。

  • 相关阅读:
    bzoj 1017 魔兽地图DotR
    poj 1322 chocolate
    bzoj 1045 糖果传递
    poj 3067 japan
    timus 1109 Conference(二分图匹配)
    URAL 1205 By the Underground or by Foot?(SPFA)
    URAL 1242 Werewolf(DFS)
    timus 1033 Labyrinth(BFS)
    URAL 1208 Legendary Teams Contest(DFS)
    URAL 1930 Ivan's Car(BFS)
  • 原文地址:https://www.cnblogs.com/ddlzq/p/1686621.html
Copyright © 2011-2022 走看看