Adam Wang wrote:
> Does the "boom" system for bom explore this datecode from schematic sheet
> itself?

Boom tries to know as little as possible about the details of your
processes as possible ;-)

What you could do is something like this: invent a part number that
includes the characteristic you're looking for, e.g.,

FOO1234-2.7V

Now you can choose whether you place this into the name space of
the original manufacturer or whether you make this something in
your own domain. The latter is of course much cleaner. So it
would be

QIHW FOO1234-2.7V

(In Boom, all part numbers consist of a namespace and the actual
part number, DIGI-KEY 490-1318-1-ND, MURATA GRM155R61A104KA01D,
etc.)

You can now set the value of the component in the schematic to
FOO1234-2.7V. If there's a part called FOO1234-2.7V in Boom's
database, then it will pick this part.

The next question is how you communicate this to your distributor.
If it translates to a special orderable part number, Boom can
provide this. E.g., you could define that QIHW FOO1234-2.7V is
equivalent to YOUR-DISTRIBUTOR FOO1234-DATECODE2000

If this doesn't translate easily into an orderable part number, 
you could implement the exception in whatever interface you use to
generate your orders. Again, this is not part of Boom proper. So
you could still invent a part number FOO1234-DATECODE2000, be it
under YOUR-DISTRIBUTOR or maybe YOUR-DISTRIBUTOR-SPECIAL-CASE,
and filter out the special cases for manual treatment.

If you need a range of date codes, you could do this as well.
Boom can find parts by name or by characteristics. So you could
define the characteristics like this:

YOUR-DISTRIBUTOR FOO1234-DATECODE1999 T=MAGIC PN=FOO1234 DATE=1999
YOUR-DISTRIBUTOR FOO1234-DATECODE2000 T=MAGIC PN=FOO1234 DATE=2000
YOUR-DISTRIBUTOR FOO1234-DATECODE2001 T=MAGIC PN=FOO1234 DATE=2001
...

T=... is the component type designator. Typically, it's R, C,
etc. The component type defines what the following fields mean.
"MAGIC" would be a type I just made up.

Then you define a translation rule for Boom that tells it to
translate FOO1234-2.7V to T=MAGIC PN=FOO1234 DATE=>=2000 (ugly
syntax, sorry. That will probably change.) Boom will then first
try to find a FOO1234-2.7V, which doesn't exist, and then do a
parametric search for anything that has T=MAGIC, PN=FOO1234, and
a date >= 2000. Among these it will pick the cheapest one in
stock. To know availability and prices, you need to give Boom an
inventory with the stock and price. E.g.,

SUPERMARKET BEER 42 USD 6 0.40

would tell Boom that 42 units of SUPERMARKET BEER are available,
orderable in multiples of six, with a per-unit cost of USD 0.40.
You can also make up your fake inventory, e.g., for test points
that are really just PCB features, you could say

QIHW TST        999999 USD 1 0

(You have 999999 units in stock and each has a cost of zero.)

If there's a straightforward translation from the date code in
the part number to the date, then you can also automate this
translation process. Otherwise, e.g., if your distributor uses
obscure date codes like this,

YOUR-DISTRIBUTOR FOO1234-AC7Y T=MAGIC PN=FOO1234 DATE=1999
YOUR-DISTRIBUTOR FOO1234-Z3O1 T=MAGIC PN=FOO1234 DATE=2000
YOUR-DISTRIBUTOR FOO1234-M0-F T=MAGIC PN=FOO1234 DATE=2001

you can just make this table manually.

Boom gives you a lot of freedom for arranging your naming schemes.
Even things like T=... being the part type are just conventions
you're free to change.

Note: for now, Boom only knows equivalences that work both ways.
So if you told Boom that the QIHW FOO1234-2.7V and the QIHW
FOO1234-4.5V are both equivalent to the VISHAY FOO-1234, then it
would assume that also QIHW FOO1234-2.7V and QIHW FOO1234-4.5V
are equivalent, which isn't what you want. In the future, I'll
add one-way equivalences to overcome this problem.

> Surely indeed, this info can be recorded in sch sheets somewhere.

Yup, definitely.

- Werner
_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkym...@freenode
Twitter: www.twitter.com/milkymistvj

Reply via email to