通常在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. 用js捕捉鼠标连续点击三次事件怎么实现啊

    var count = 0, timer; document.onclick = function(){ if(count < 2){ if(timer){ clearTimeout(timer ...

  2. 利用python进行数据分析之绘图和可视化

    matplotlib API入门 使用matplotlib的办法最常用的方式是pylab的ipython,pylab模式还会向ipython引入一大堆模块和函数提供一种更接近与matlab的界面,ma ...

  3. 一个最简的 USB Audio 示例

    经过了两三个月的痛苦,USB 协议栈的 Audio Device Class 框架已具雏形了,用了两三天时间,使用这个框架实战了一个基于新唐 M0 的最简单的 USB Audio 程序,可以作为 US ...

  4. 基于Visual C++2013拆解世界五百强面试题--题18-程序结果分析2-终结篇

    第二部分程序结果分析,分析流程还是写入代码注释中 分析下面程序的输出: #include <stdio.h> int main() { char *a = "hello" ...

  5. 【转】 IE6 IE7 IE8 css bug兼容性解决方法总结归纳

    1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是 ...

  6. Objective-c 协议(protocol)

    协议的作用类似地C++中对抽象基类的多重继承.类似于Java中的接口(interface)的概念.   协议是多个类共享方法的列表,协议中列出的方法在本类中并没有相应实现,而是别的类来实现这些方法. ...

  7. Enze fourth day(循环语句 一)

    哈喽,大家好.又到了总结知识的时间了.今天在云和学院自学了一下循环语句,下面是自己总的一些知识点. 先补充一下选择结构中的switch语句. 理论:switch语句是一种多分支选择语句,当需要测试大量 ...

  8. js 模板引擎 jade使用语法

    Jade是一款高性能简洁易懂的模板引擎,Jade是Haml的Javascript实现,在服务端(NodeJS)及客户端均有支持. 功能 · 客户端支持 · 超强的可读性 · 灵活易用的缩进 · 块扩展 ...

  9. JQuery的stop()属性

    $(function(){ $('#input1').hover( function(){ $('.div1').stop() .animate({left:) .animate({top:); } ...

  10. Android发送数据到web服务器4种方式

    1./** 2. * Android中向web服务器提交数据的两种方式四种方法 3. */ 4.public class SubmitDataByHttpClientAndOrdinaryWay { ...