通常在Orcad中画的原理图并不只是用于一款产品。例如一个控制器原理图,可能对应着许多款子产品线,而这些子产品线之间的区别就是通讯口组件不同,少焊几个芯片,或者只是少焊几个电阻。
但是这样交付生产的时候,整理BOM却是一个很头疼的问题。需要有极好的耐心,要把每条产品线中用不到的元件一个个的从总BOM里删除掉,还不能出错。如果只有两三款产品还好,但如果是有很多个通讯组件,排列组合要几十款产品呢,想想就是个噩梦。
还好,Orcad为我们提供了这个辅助功能,叫Variant BOM(变种BOM)。它的实现原理是把原理图中的元件按模块进行划分。然后根据产品线的不同,把用到的模块放到一起形成每条产品线对应的变种BOM,这样在交付生产的时候,只需要调取相应的变种BOM,生成就好了。
制作变种BOM的过程:
在工程管理器的工程名上点右键-> 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了,方法是在回到工程管理器,点一下工程名字:
然后点菜单Reports->CIS Bill of Materials->Standard
在下图这里就可以看到你的变种BOM了,点选它就能生成相应的BOM。
这个好处是BOM与工程文件在一起,以后想怎么出就怎么出,即使有其他产品线需求,只需要到PartManager再新建一个变种,然后托托拽拽就好了。