一种bom导出方法

文档序号:6633713阅读:243来源:国知局
一种bom导出方法
【专利摘要】本发明公开了一种BOM导出方法,所述方法包括下述步骤:(1)对器件进行分类;(2)在同类器件中,确定器件模型;(3)比较器件与器件模型的参数,获得与器件模型参数相同的器件,并按层分类;(4)判断是否还有与原先器件模型参数不同的器件,如果有,将与原先器件模型参数不同的一个器件作为器件模型,返回步骤(3),如果没有,输出BOM。本发明的BOM导出方法先将器件按照类别和封装进行分类,确定器件模型,然后获得与器件模型参数相同的器件,将具有相同参数的器件进行分层,最后输出BOM,输出的BOM中器件已经按照类别、封装、层分类,无需工程师手动进行分层,提高了工作效率,同时也避免引入人为失误。
【专利说明】一种BOM导出方法

【技术领域】
[0001]本发明属于BOM【技术领域】,具体地说,是涉及一种将BOM导出的方法。

【背景技术】
[0002]在电子领域,电子设计自动化(Electronic Design Automat1n, EDA)工具已经成为不可或缺的一部分,它可以帮助电子工程师从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动完成。PCB设计软件种类繁多,如PROTEL、PADS、CADENCE、Zuken等。PADS是一种复杂的、高速印制电路板设计软件,在PADS中电子工程师可以实现原理图设计、PCB设计、输出3D模型、2D文件、物料清单(BOM)等工作。但是在PADS中,PCB设计完成后,直接输出的物料清单(Bill of Material,BOM)中的器件没有分层,需要工程师自行调整,增加了工程师的负担,且费时费力。


【发明内容】

[0003]本发明提供了一种BOM导出方法,导出的BOM中器件进行了分层,无需人工对器件进行分层,提高了工作效率。
[0004]为解决上述技术问题,本发明采用下述技术方案予以实现:
一种BOM导出方法,所述方法包括下述步骤:
(1)对器件进行分类;
(2)在同类器件中,确定器件模型;
(3)比较器件与器件模型的参数,获得与器件模型参数相同的器件,并按层分类;
(4)判断是否还有与原先器件模型参数不同的器件;
如果有,将与原先器件模型参数不同的一个器件作为器件模型,返回步骤(3);
如果没有,进入步骤(5);
(5)输出Β0Μ。
[0005]进一步的,所述对器件进行分类,包括先按器件类别进行分类,再在同类别器件中按器件封装进行分类。
[0006]又进一步的,在所述步骤(I)中还包括获得同类器件数量。
[0007]优选的,所述步骤(3 )包括:
a、将器件地址指针置为I;
b、将所述器件地址指针指向的器件作为当前器件,比较当前器件与器件模型参数;
C、如果当前器件与器件模型参数相等,获得当前器件的编号和层信息,进入步骤(d); 如果当前器件与器件模型参数不相等,进入步骤(d);
d、判断器件地址指针与所述同类器件数量是否相等;
如果不相等,器件地址指针加1,返回步骤(b);
如果相等,将获得的器件按层分类。
[0008]进一步的,当步骤(2)中的同类器件为同一封装的电阻时,所述参数为阻值;如果器件的阻值与器件模型的阻值相等,则该器件与器件模型具有相同的参数。
[0009]又进一步的,当步骤(2)中的同类器件为同一封装的电容时,所述参数为容值;如果器件的容值与器件模型的容值相等,则该器件与器件模型具有相同的参数。
[0010]再进一步的,当步骤(2)中的同类器件没有参数时,所述参数为空值;如果器件的参数为空值,器件模型的参数为空值,则器件与器件模型具有相同的参数。
[0011]与现有技术相比,本发明的优点和积极效果是:本发明的BOM导出方法先将器件按照类别和封装进行分类,并确定器件模型,然后获得与器件模型参数相同的器件,将具有相同参数的器件进行分层,最后输出Β0Μ,输出的BOM中器件已经按照类别、封装、层分类,无需工程师手动进行分层,减轻了工程师的工作负担,提高了工作效率,同时也避免引入人为失误,提高了 BOM的准确率。
[0012]结合附图阅读本发明的【具体实施方式】后,本发明的其他特点和优点将变得更加清
λ.Μ
/E.ο

【专利附图】

【附图说明】
[0013]图1是本发明提出的BOM导出方法的一个实施例的流程图;
图2是本发明提出的BOM导出方法的另一个实施例的流程图;
图3是本发明提出的BOM导出方法的又一个实施例的流程图。

【具体实施方式】
[0014]为了使本发明的目的、技术方案及优点更加清楚明白,以下将结合附图和实施例,对本发明作进一步详细说明。
[0015]实施例一、参见图1所示,本实施例的BOM导出方法的具体步骤如下:
步骤101:开始。
[0016]步骤102:对器件进行分类。
[0017]根据器件编号,例如读取器件编号的前三个字母,可以对器件按照器件类别进行分类,然后再在同类别器件中按器件封装进行分类,从而将具有相同的器件类别、相同的器件封装的器件划为一类,称为同类器件。并获得同类器件数量,即同类器件中器件的个数。
[0018]具体来说,先将器件按照器件类别分为电阻R、电容C、电感L、排阻RN、开关SW、芯片U、天线ANT等,再在同类别器件中按器件封装进行分类,例如,将电阻R按照封装分为R0201、R0402、R0603、R0805等,将电容C按照封装分为C0201、C0402等,将电感L按照封装分为L0201、L0402等;并分别获得R0201的数量、R0402的数量、C0201的数量等。
[0019]步骤103:在同类器件中,确定器件模型。
[0020]在同类器件中,选择其中一个器件作为器件模型。
[0021]步骤104:在同类器件中,比较器件与器件模型的参数,获得与器件模型参数相同的器件,并按层分类。
[0022]当同类器件为同一封装的电阻R时,所述参数为阻值,S卩比较器件与器件模型的阻值;如果器件的阻值与器件模型的阻值相等,则该器件与器件模型具有相同的参数。当同类器件为同一封装的电容C时,所述参数为容值,即比较器件与器件模型的容值;如果器件的容值与器件模型的容值相等,则该器件与器件模型具有相同的参数。当同类器件没有参数时,比如同类器件为开关SW时,参数为空值,也就是说,器件模型的参数为空值,如果器件的参数也为空值,则该器件与器件模型具有相同的参数。
[0023]在本步骤中,需要将该同类器件中的每个器件的参数与器件模型的参数进行比较,从而获得与器件模型参数相同的器件。在本实施例中,可以通过设置器件地址指针的方法实现遍历每个器件,具体步骤如下:
a、首先将器件地址指针置为1,即器件地址指针指向该同类器件的第一个器件。
[0024]b、将器件地址指针指向的器件作为当前器件,比较当前器件与器件模型参数。
[0025]C、如果当前器件与器件模型参数相等,获得当前器件的编号、层信息,进入步骤Cd);
如果当前器件与器件模型参数不相等,进入步骤(d); d、判断器件地址指针与该同类器件数量是否相等。
[0026]如果不相等,则器件指针加1,返回步骤(b);
如果相等,即器件地址指针已指向该同类器件的最后一个器件,该同类器件的所有器件已与器件模型比较完毕,将获得的器件,即与器件模型参数相等的器件按照层分类。
[0027]步骤105:判断是否还有与先前器件模型参数不同的器件。
[0028]在该同类器件中,如果还有与先前器件模型参数不同的器件,进入步骤106 ;如果没有与先前器件模型参数不同的器件,则进入步骤107。
[0029]步骤106:将与原先器件模型参数不同的一个器件作为器件模型,返回步骤104。
[0030]步骤107:输出 Β0Μ。
[0031]不同类别、不同封装的器件的分类过程并行进行,比如,在同类器件R0603进行分类的过程时,同类器件R0201、同类器件C0201等也同时进行分类。所有的器件都分类完毕后,输出Β0Μ。输出的BOM中,所有的器件都已按照类别、封装、层分类,无需工程师再进行分类,减轻了工程师的工作负担,避免引入人为误差。
[0032]步骤108:结束。
[0033]实施例二、在本实施例中,无论器件参数是否为空值,都进行同样的步骤。当同类器件参数为空值时,也就是说,器件模型的参数为空值,如果器件的参数也为空值,则该器件与器件模型具有相同的参数。具体步骤如下,参见图2所示。
[0034]步骤201:开始。
[0035]步骤202:对器件按照类别、封装进行分类。
[0036]根据器件编号,例如读取器件编号的前三个字母,可以对器件按照器件类别进行分类,然后再在同类别器件中按器件封装进行分类,从而将具有相同的器件类别、相同的器件封装的器件划为一类,称为同类器件。
[0037]步骤203:获得同类器件数量。
[0038]同类器件数量,即同类器件中器件的个数。
[0039]步骤204:模型地址指针置为I。
[0040]由于模型地址指针此时为1,因此模型地址指针指向该同类器件的第一个器件。
[0041]步骤205:获得模型地址指针指向的器件。
[0042]步骤206:判断模型地址指针是否是I。
[0043]如果模型地址指针是1,则进入步骤211 ;
如果模型地址指针不是I,则进入步骤207。
[0044]步骤207:判断该器件与原先的器件模型参数是否相同。
[0045]判断此时模型地址指针指向的器件的参数与原先的器件模型参数是否相同。
[0046]如果相同,进入步骤208 ;
如果不同,则进入步骤210。
[0047]步骤208:判断模型地址指针与同类器件数量是否相等。
[0048]如果相等,说明此时模型地址指针指向的器件是该同类器件的最后一个器件,进入步骤220。
[0049]如果不相等,则进入步骤209。
[0050]步骤209:模型地址指针加1,返回步骤205。
[0051]步骤210:判断模型地址指针与同类器件数量是否相等。
[0052]如果相等,说明此时模型地址指针指向的器件是该同类器件的最后一个器件,进入步骤219。
[0053]如果不相等,进入步骤211。
[0054]步骤211:确定该器件为模型器件,获得器件模型的参数。
[0055]将此时模型地址指针指向的器件作为模型器件,并获得器件模型的参数,进入步骤 212。
[0056]步骤212:器件地址指针置为1,器件数目置为0,进入步骤213。
[0057]将器件地址指针置为1,指向该同类器件的第一个器件,用器件数目表示与器件模型参数相等的器件的个数。
[0058]步骤213:将器件地址指针指向的器件作为当前器件,进入步骤214。
[0059]步骤214:判断当前器件与器件模型参数是否相等。
[0060]如果相等,进入步骤215 ;
如果不相等,进入步骤216。
[0061]步骤215:获得当前器件的编号和层信息,器件数目加1,进入步骤216。
[0062]步骤216:判断器件地址指针与同类器件数量是否相等。
[0063]如果不相等,则进入步骤217。
[0064]如果相等,说明当前器件为该同类器件的最后一个器件,进入步骤218。
[0065]步骤217:器件地址指针加I,返回步骤213。
[0066]步骤218:将获得的器件按层分类。
[0067]与器件模型参数相同的器件已全部获得,此时器件数目即为与器件模型参数相同的器件的数量,将获得的器件按照层分类,如按照TOP层、BOTTOM层分类。
[0068]返回步骤209。
[0069]步骤219:获得该器件的编号、层信息。
[0070]该器件是该同类器件的最后一个器件,且该器件与原先的器件模型参数不相等,获得该器件的编号、层信息。进入步骤220。
[0071]步骤220:输出 Β0Μ。
[0072]所有的器件都分类完毕后,输出Β0Μ。输出的BOM中,所有的器件都已按照类别、封装、层分类,无需工程师再进行分类,减轻了工程师的工作负担,避免引入人为误差。
[0073]步骤221:结束。
[0074]实施例三、在本实施例中,对器件参数是否为空值进行了判断,并根据判断结果进行不同的步骤。具体步骤如下,参见图3所示。
[0075]步骤301:开始。
[0076]步骤302:对器件按照类别、封装进行分类。
[0077]根据器件编号,例如读取器件编号的前三个字母,可以对器件按照器件类别进行分类,然后再在同类别器件中按器件封装进行分类,从而将具有相同的器件类别、相同的器件封装的器件划为一类,称为同类器件。
[0078]步骤303:获得同类器件数量。
[0079]同类器件数量,即同类器件中器件的个数。
[0080]步骤304:模型地址指针置为I。
[0081]由于模型地址指针此时为1,因此模型地址指针指向该同类器件的第一个器件。
[0082]步骤305:获得模型地址指针指向的器件。
[0083]步骤306:判断器件参数是否为空。
[0084]如果不为空,进入步骤307 ;
如果为空,进入步骤306a;
步骤306a:获得该器件的编号、层信息,进入步骤306b ;
步骤306b:判断模型地址指针与同类器件数量是否相等。
[0085]如果不相等,进入步骤306c ;
如果相等,进入步骤306d。
[0086]步骤306c:模型地址指针加1,返回步骤305。
[0087]步骤306d:将获得器件按照层分类,进入步骤321。
[0088]步骤307:判断模型地址指针是否是I。
[0089]如果模型地址指针是1,则进入步骤312 ;
如果模型地址指针不是I,则进入步骤308。
[0090]步骤308:判断该器件与原先的器件模型参数是否相同。
[0091]判断此时模型地址指针指向的器件的参数与原先的器件模型参数是否相同。
[0092]如果相同,进入步骤309 ;
如果不同,则进入步骤311。
[0093]步骤309:判断模型地址指针与同类器件数量是否相等。
[0094]如果相等,说明此时模型地址指针指向的器件是该同类器件的最后一个器件,进入步骤321。
[0095]如果不相等,贝U进入步骤310。
[0096]步骤310:模型地址指针加1,返回步骤305。
[0097]步骤311:判断模型地址指针与同类器件数量是否相等。
[0098]如果相等,说明此时模型地址指针指向的器件是该同类器件的最后一个器件,进入步骤320。
[0099]如果不相等,进入步骤312。
[0100]步骤312:确定该器件为模型器件,获得器件模型的参数。
[0101]将此时模型地址指针指向的器件作为模型器件,并获得器件模型的参数,进入步骤 313。
[0102]步骤313:器件地址指针置为1,器件数目置为0,进入步骤314。
[0103]将器件地址指针置为1,指向该同类器件的第一个器件,用器件数目表示与器件模型参数相等的器件的个数。
[0104]步骤314:将器件地址指针指向的器件作为当前器件,进入步骤315。
[0105]步骤315:判断当前器件与器件模型参数是否相等。
[0106]如果相等,进入步骤316 ;
如果不相等,进入步骤317。
[0107]步骤316:获得当前器件的编号和层信息,器件数目加1,进入步骤317。
[0108]步骤317:判断器件地址指针与同类器件数量是否相等。
[0109]如果不相等,贝U进入步骤318。
[0110]如果相等,说明当前器件为该同类器件的最后一个器件,进入步骤319。
[0111]步骤318:器件地址指针加I,返回步骤314。
[0112]步骤319:将获得的器件按层分类。
[0113]与器件模型参数相同的器件已全部获得,此时器件数目即为与器件模型参数相同的器件的数量,将获得的器件按照层分类,如按照TOP层、BOTTOM层分类。
[0114]返回步骤310。
[0115]步骤320:获得该器件的编号、层信息。
[0116]该器件是该同类器件的最后一个器件,且该器件与原先的器件模型参数不相等,获得该器件的编号、层信息。进入步骤321。
[0117]步骤321:输出 Β0Μ。
[0118]所有的器件都分类完毕后,输出Β0Μ。输出的BOM中,所有的器件都已按照类别、封装、层分类,无需工程师再进行分类,减轻了工程师的工作负担,避免引入人为误差。
[0119]步骤322:结束。
[0120]本发明的BOM导出方法不仅适用于PADS软件,也适用于其他的印制电路板(PCB )设计软件。
[0121]以上实施例仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实施例对本发明进行了详细的说明,对于本领域的普通技术人员来说,依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明所要求保护的技术方案的精神和范围。
【权利要求】
1.一种BOM导出方法,其特征在于:所述方法包括下述步骤: (1)对器件进行分类; (2)在同类器件中,确定器件模型; (3)比较器件与器件模型的参数,获得与器件模型参数相同的器件,并按层分类; (4)判断是否还有与原先器件模型参数不同的器件; 如果有,将与原先器件模型参数不同的一个器件作为器件模型,返回步骤(3); 如果没有,进入步骤(5); (5)输出Β0Μ。
2.根据权利要求1所述的BOM导出方法,其特征在于:所述对器件进行分类,包括先按器件类别进行分类,再在同类别器件中按器件封装进行分类。
3.根据权利要求2所述的BOM导出方法,其特征在于:在所述步骤(I)中还包括获得同类器件数量。
4.根据权利要求3所述的BOM导出方法,其特征在于:所述步骤(3)包括: a、将器件地址指针置为I; b、将所述器件地址指针指向的器件作为当前器件,比较当前器件与器件模型参数; C、如果当前器件与器件模型参数相等,获得当前器件的编号和层信息,进入步骤(d); 如果当前器件与器件模型参数不相等,进入步骤(d); d、判断器件地址指针与所述同类器件数量是否相等; 如果不相等,器件地址指针加1,返回步骤(b); 如果相等,将获得的器件按层分类。
5.根据权利要求2所述的BOM导出方法,其特征在于:当步骤(2)中的同类器件为同一封装的电阻时,所述参数为阻值;如果器件的阻值与器件模型的阻值相等,则该器件与器件模型具有相同的参数。
6.根据权利要求2所述的BOM导出方法,其特征在于:当步骤(2)中的同类器件为同一封装的电容时,所述参数为容值;如果器件的容值与器件模型的容值相等,则该器件与器件模型具有相同的参数。
7.根据权利要求2所述的BOM导出方法,其特征在于:当步骤(2)中的同类器件没有参数时,所述参数为空值;如果器件的参数为空值,器件模型的参数为空值,则器件与器件模型具有相同的参数。
【文档编号】G06F17/50GK104392029SQ201410633785
【公开日】2015年3月4日 申请日期:2014年11月12日 优先权日:2014年11月12日
【发明者】刘晓颖, 薛林 申请人:青岛歌尔声学科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1