首页 > 代码库 > 制作Orcad的变种BOM(Variant BOM)

制作Orcad的变种BOM(Variant BOM)

      通常在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再新建一个变种,然后托托拽拽就好了。