最近发现从原理图里导出来的BOM总是少了一些只有一个PIN脚的元器件。排查发现是导BOM用的脚本存在一个BUG。就是在代码里有一个判断,要大于1个PIN的元器件才执行导出操作,小于或者等于1个PIN的元器件则不执行。如下图所示。
语句是“If part.Pins.Count > 1 Then”。
执行运行操作后,导出来的BOM则是没有PIN脚数量是1的元器件。
我思考了一下,把代码里两处作判断的语句作了一些修改。如下图所示。
把语句“If part.Pins.Count > 1 Then”改成了“If part.Pins.Count > 1 Or part.Pins.Count = 1 Then”。
脚本代码修改完成后,点击运行,脚本运行完成后,生成了BOM。此时,可以看到导出BOM中已经有了PIN脚是1的元器件了。如图所示。
由上图可以知,一些测试点也导了出来,虽然测试点是1个PIN脚的元器件,但是测试点不是元器件,不属于BOM范畴的,所示要删掉。原来脚本设计的时候应该考虑过这个问题了,很少有只有1个PIN脚的元器件,所以就干脆屏蔽掉只有1个PIN脚的元器件,不让它们导出。而这一次,刚好遇PCB上面要用到一些贴片螺丝柱,却没有导出来,螺丝柱是只有一个PIN的元器件,从而发现这个导BOM的脚本存在的这个BUG。
本文由编辑推荐,原出处:https://www.eet-china.com/mp/a168989.html