通常在Orcad中画的原理图并不仅仅是用于一款产品。比如一个控制器原理图,可能相应着很多款子产品线,而这些子产品线之间的差别就是通讯口组件不同,少焊几个芯片,或者仅仅是少焊几个电阻。

可是这样交付生产的时候,整理BOM却是一个非常头疼的问题。须要有极好的耐心,要把每条产品线中用不到的元件一个个的从总BOM里删除掉,还不能出错。假设仅仅有两三款产品还好,但假设是有非常多个通讯组件,排列组合要几十款产品呢,想想就是个噩梦。

还好,Orcad为我们提供了这个辅助功能,叫Variant BOM(变种BOM)。它的实现原理是把原理图中的元件按模块进行划分。然后依据产品线的不同,把用到的模块放到一起形成每条产品线相应的变种BOM,这样在交付生产的时候,仅仅须要调取相应的变种BOM,生成就好了。

制作变种BOM的过程:

在project管理器的project名上点右键-> PartManager

下图中的Groups就是把所有的元件进行模块分类,须要定义各个模块,把元件划分到里面。这个过程须要比較细致,但这是一次性的,一劳永逸。

以下的BOM Variants就是每条产品线相应的变种BOM,能够自定义不同的变种。

先从元件分类開始,在Groups上点右键->New Group:

新建两个组,Ethernet 0和Ethernet 1,例如以下图:

然后到Common里,点View->Configure Part Properties Display,把元件的属性都显示出来,方便看出来是什么元件。

在Common里把元件托拽到各自的模块组里,例如以下图。这个工作可能比較慢,由于要一个个地区分元件。所以在画原理图时就要有一定的技巧,能够把同模块的单独画在一张图里,方便此时按图的名字直接区分;也能够为元件添加�一个属性,把同模块的元件该属性设置成同样的,也能够方便这里区分。

都托拽进去,分类完毕后,在模块组上点右键->New Subgroup,设置每一个模块组下要出哪些元件,不出哪些元件。通常分为种,要出BOM的和不要出BOM的,所以新建两次,要出BOM的命名为P,不要出BOM的命名为NP,例如以下:

然后点选NP:

用Ctrl+a或者Shift+首尾,全选它里面的元件,在元件上点右键->Set Part As Not Present

这一步就是为后面每一个变种BOM能够选择要出BOM的模块和不出的模块做准备。由于每一个变种BOM实际上也是包括所有元件,仅仅是不出BOM的元件都被设置为Set Part As Not Present,而这是要通过托拽不同的子目录来实现的。

结果例如以下:

点选P目录,该文件夹中是相同的元件,它也自己主动继承了模块的元件,不须要对它做操作。它里面的元件就不会被标记上Set Part As Not Present,这样P目录代表的就是该模块中会出现的元件。例如以下:

把Ethernet 1也按这样完毕。

然后新建一个Public模块目录,把Common中剩余的元件托拽到这里,作为Public模块,这个模块是其它未分类的元件,也就是每一个产品都须要有的。

至此,为所有元件都分配了模块。Common中不再有元件。

接下来要设置变种BOM。如果有四条产品线:一条是没有Ethernet的,一条是仅仅有Ethernet 0的,一条是仅仅有Ethernet 1的,一条是同一时候有Ethernet 0和Ethernet1的。

在BOM Variants上点右键->New BOM Variant,新建变种BOM:

新建结果例如以下:

然后把不同的元件模块托拽到BOM Variants里面来,比如仅仅有Ethernet 0的,就把例如以下三个目录托拽到Eth 0进去:

假设产品是既有Ethernet 0又有Ethernet 1的,就托拽下面三项进去:

这样设置好以后,就能够点开看一下变种BOM,比如点一下Eth0,能够看到哪些元件被打了红叉,看一下这个BOM是不是你想要的结果,假设不是就到它以下的三个子目录翻看一下,看是哪个目录里的元件设置出了问题,通常都是由于不小心的分类错误:

假设检查没有问题了,就能够出变种BOM了,方法是在回到project管理器,点一下project名字:

然后点菜单Reports->CIS Bill of Materials->Standard

在下图这里就能够看到你的变种BOM了,点选它就能生成对应的BOM。

这个优点是BOM与project文件在一起,以后想怎么出就怎么出,即使有其它产品线需求,仅仅须要到PartManager再新建一个变种,然后托托拽拽就好了。

制作Orcad的变种BOM(Variant BOM)的更多相关文章

  1. JQuery制作网页—— 第二章 JavaScript操作BOM对象

    1.window对象: 浏览器对象模型(BOM)是javascript的组成之一, 它提供了独立与浏览器窗口进行交换的对象,使用浏览器对象模型可以实现与HTML的交互. 它的作用是将相关的元素组织包装 ...

  2. 使用jQuery快速高效制作网页交互特效--JavaScript操作BOM对象

    JavaScript操作BOM 一.window对象: 二.window对象的属性和方法 1.windows对象的常用属性: 语法:window.属性名="属性值" 2.windo ...

  3. 《Javascript权威指南》十六学习笔记:BOM资源---BOM基本应用

    BOM基本应用包括:管理浏览器历史记录.得到处理和解决浏览器的信息.本文介绍了这些应用程序. 一.浏览历史管理 1.history对象的方法和属性 History 对象包括用户(在浏览器窗体中)訪问过 ...

  4. maven之BOM及BOM和provided的一个小坑

    BOM(Bill of Materials)定义一整套相互兼容的jar包版本集合,使用时只需要依赖该BOM文件,即可放心的使用需要的依赖jar包,且无需再指定版本号.BOM的维护方负责版本升级,并保证 ...

  5. UTF-8 的BOM带来的麻烦

    UTF-8 的BOM带来的麻烦 工作需要我用程序生成一个html文件. 由于服务器端使用apache+Tomcat来执行html和jsp文件. 开始生成html文件放在apache目录下,页面无法默认 ...

  6. javascript快速入门之BOM模型—浏览器对象模型(Browser Object Model)

    什么是BOM? BOM是Browser Object Model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对 ...

  7. 前端 -- BOM和DOM

    一,引入 到目前为止,已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

  8. Python学习(二十二)—— 前端基础之BOM和DOM

    转载自http://www.cnblogs.com/liwenzhou/p/8011504.html 一.前言 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没 ...

  9. 详解BOM用途分类及在汽车企业中的应用

    摘要:在整车企业中,信息系统的BOM是联系CAD.CAPP.PDM和ERP的纽带,按照用途划分产品要经过产品设计,工程设计.工艺制造设计.生产制造4个阶段,相应的在这4个过程中分别产生了名称十分相似但 ...

随机推荐

  1. SQL Server 数据控制语句(DCL)

    DCL控制语句用来设置更改用户或角色的权限. 授予权限操作——GRANTSQL Server服务器通过手语权限表来控制用户对数据库的访问.在数据库中添加一个新用户之后,若不尽兴额外操作,该用户只有ch ...

  2. C++ 标准模板库(STL)

    C++ 标准模板库(STL)C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列), ...

  3. Oracle的三种高可用集群方案

    浏览了一下Oracle官方的网页以及非官方的ppt,简单了解了一下Oracle提供的高可用方案. 主要有三种: 1. RAC RAC,  Real Application Clusters 多个Ora ...

  4. 隐藏nginx 版本号信息(转)

    为了安全,想将http请求响应头里的nginx版本号信息隐藏掉: 1. nginx配置文件里增加 server_tokens off; server_tokens作用域是http server loc ...

  5. hdoj 1166 敌兵布阵(树状数组)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 思路分析:该问题为动态连续和查询问题,使用数组数组可以解决:也可使用线段树解决该问题: 代码如下 ...

  6. HashMap和HashTable 学习

    1. HashMap 1)  hashmap的数据结构 Hashmap是一个数组和链表的结合体(在数据结构称“链表散列“),如下图示: 当我们往hashmap中put元素的时候,先根据key的hash ...

  7. Git基础 1 ---- 版本控制系统的介绍

    1 Git 1 版本控制系统 vcs - version control system 2 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统 3 版本控制系统的主要功能 1 ...

  8. JqueryMobile新手问题大全

    Jquery mobile 新手问题总汇 34 2013-04-22 / 分类:JqueryMobile / 标签:JqueryMobile,Jqm 此文章将会持续更新,主要收录一些新手比较常见的问题 ...

  9. 解决Jedis数据读取乱码问题

    现象 同一套代码,同一个数据源,不同的操作系统,在OSX上数据提取编码正常,而Ubuntu上拉取数据乱码,数据拉取代码如下. @Override public List<String> m ...

  10. ;(function($,window,undefined){})(jQuery,window)详细解析————借助B5教程解析自己整理了一下

    在jquery插件中我们经常看到以下这段代码 ;(function ( $, window, document, undefined ){ //函数体内具体代码 })(jQuery, window,d ...