Prev: OrCad/ question
Next: Capture hierarchy
From: John Larkin on 21 May 2010 22:27 On Fri, 21 May 2010 17:40:55 -0700, D Yuniskis <not.going.to.be(a)seen.com> wrote: >Hi John, > >John Larkin wrote: >> On Fri, 21 May 2010 09:40:00 -0700, D Yuniskis >> <not.going.to.be(a)seen.com> wrote: >> >>> Hi Phil, >>> >>> Phil Hobbs wrote: >>>> On 5/20/2010 2:03 PM, D Yuniskis wrote: >>>>> This, I think, is an outgrowth of the same sort of >>>>> ridiculous mindset that people initially bring to >>>>> *organizing* data. E.g., how many part numbering systems >>>>> have data embedded *in* the part number that tries to >>>>> describe the item? (isn't that the role of the *description* >>>>> tied to the P/N??) People impose structure on things >>>>> unnecessarily instead of letting the machine do that on >>>>> their behalf. >>>>> >>>>> E.g., when I started preparing documents, standards, etc. >>>>> here, I used a much more commonsense approach: I started >>>>> with *1* :> (instead of something artificial like >>>>> 1985-SPEC-SFW-001.1 -- the ".1" being a revision level, etc.) >>>>> Then, moved on to "2". >>>>> >>>>> Data should largely be free-form -- except where it *can't* :> >>>>> This applies to part numbers, object (file) names, etc. Once >>>>> you start imposing artificial structure, you start forcing >>>>> things to be "done your way" -- which, typically, exposes >>>>> some *flaw* in "your way", later (once you are *very* pregnant!) >>>>> >>>>> Put smarts in the system to be able to *understand* the data. >>>> It's sort of nice to be able to look at a part number and see whether >>>> it's a capacitor or a BNC connector, though. That doesn't have to have >>>> descriptions embedded in the part number, but it does need a bit of >>>> thought, e.g. numbers starting with '0' are subassemblies, '1', >>>> resistors, '2', capacitors, and so forth. Takes an extra couple of >>>> digits but makes life a lot easier. >>> I don't think it works, in the long run. And, I think >>> the effort spent trying to figure out *how* to do this >>> (and codifying it and ensuring everyone uses the same >>> rules) is better used getting better descriptions, better >>> search capabilities, etc. >> >> It is convenient to have all the 0805 resistors in the same part of >> the stockroom, and not mixed randomly with transformers and sheet >> metal and shrink tubing. Even more convenient to have them in order by >> resistance. > >There's nothing that says part numbers have to be positioned >on shelves in sequential order. You track the *location* >of a part as part of your inventory control system. So >that you are free to put things wherever is most convenient. Cool. Every part gets a location number that determines their location and order on the shelves. So why isn't that the part number? > >E.g., large sheets of copper, mu metal, FR4, etc. will have >similar storage requirements -- regardless of their >part numbers. So, you organize the stock in such a way >that makes sense for those parts without concern for the >arbitrary "identifier" you have assigned them. And the next innovation is to eliminate the useless part number. Got it. > >Let the machine figure out where something is. Let it >print your pick list in an order that *it* knows is >efficient (because *it* knows the physical layout of >your stockroom and can order the part numbers so you >don't wander around looking for numbers "in numerical order"; >sort of like preparing a grocery list -- you list the eggs >with the butter so you can pick up both of them in "Dairy") So the pick list is in sequential order by location, and the parts are ordered on the shelves by location number. Great idea. So what use is the part number now? John
From: D Yuniskis on 21 May 2010 22:38 Hi Joel, Joel Koltner wrote: > "D Yuniskis" <not.going.to.be(a)seen.com> wrote in message > news:ht6rr9$9fq$1(a)speranza.aioe.org... >> Ah, most firms I've worked with don't let anyone other than >> "stockroom personnel" into the stockroom. I.e., it's not a "store"... > > That can work if there's a separate stockroom that keeps "engineering > prototype" parts (or whatever you want to call them) -- Tektronix did IME, you have to do this. Engineering will often have parts that are "under consideration", "being evaluated", etc. You don't want to incur the cost of making these "real" parts -- because you don't know if you will *ever* use them in your product line. This has been true of every company I worked for. "The Stockroom" was for manufacturing's use. (OK, if you've got "3 samples" that you keep in your desk drawer, no one really cares. But, often you need to buy a considerable quantity of "something" to do a prototype run. Keeping these things safe, organized and "out of the way" usually requires some sort of "parts room") > this --, but if not, I think it's a bad idea -- pretty much guarantees > that you'll end up with a lot of parts serve largely identical > functions: Even with the best electronic inventory system, you can't > usually guarantee form, fit, and function without taking a look at the > physical part... and if it comes down to getting a physical part > requiring just as much effort and being slower than just spec'ing a new > one that you got as a sample of from your last DigiKey order, most > people are going to go with the later. *Fix* your part/inventory system if *it* is the problem. That's like saying "I'll buy a new car because I can't remember where I parked my old car". > Additionally, I think most people can far more quickly get an idea of > the "kinds" of things the company has in stock by browsing the stockroom > shelves a bit than just reading inventory lists. I've always built things by being familiar with *other* things that were being built at the time and seeing what parts *they* used. Pick up a board (usually engineers have copies of the boards they have designed or are supporting "on their desks") and *see* what's being used. Ask the other engineers what they are looking at for future projects, etc. Even outside salesmen can clue you in on what your peers are expressing an interest in ("Hey, Bob asked me for a XXXX databook. Would you like me to drop one off for you, too?")
From: D Yuniskis on 22 May 2010 00:35 Hi John, John Larkin wrote: >> There's nothing that says part numbers have to be positioned >> on shelves in sequential order. You track the *location* >> of a part as part of your inventory control system. So >> that you are free to put things wherever is most convenient. > > Cool. Every part gets a location number that determines their location > and order on the shelves. So why isn't that the part number? Why *should* it be? Do you seat your children around the table by age? alphabetically? A part number is an identifier. A location is an identifier. A child's name is an identifier. >> E.g., large sheets of copper, mu metal, FR4, etc. will have >> similar storage requirements -- regardless of their >> part numbers. So, you organize the stock in such a way >> that makes sense for those parts without concern for the >> arbitrary "identifier" you have assigned them. > > And the next innovation is to eliminate the useless part number. Got > it. > >> Let the machine figure out where something is. Let it >> print your pick list in an order that *it* knows is >> efficient (because *it* knows the physical layout of >> your stockroom and can order the part numbers so you >> don't wander around looking for numbers "in numerical order"; >> sort of like preparing a grocery list -- you list the eggs >> with the butter so you can pick up both of them in "Dairy") > > So the pick list is in sequential order by location, and the parts are > ordered on the shelves by location number. Great idea. Do you *really* think DigiKey has all of their parts on shelves in numerical order? > So what use is the part number now? Because you don't put "room 4, shelf unit 13, bin 5" on a bill of materials! You put *things* in *places*. Parts in locations. You associate a part with a location in much the same way that you associate a part with a subassembly. Part numbers are just ways to identify parts. Location numbers are just ways to identify locations. If you reorganize your stock room, should all of the part numbers change? But, clearly the *locations* of all of those parts must change! So, your desire to arrange parts contiguously by part number forces your stock room to have a particular shape. (Or, do you have a little sign located between part #0999 and #1257 saying "1000-1256 located down the hall"?) I'm deploying exactly this sort of system currently. Everything has an identifier. EVEN PEOPLE! The RDBMS puts the smarts to the system. Map an identifier into an "object type": "What is 12345678?" "12345678 is a person" Based on that object type, figure out what the actual object's characteristics are. "Please describe person 12345678" "12345678 has brown eyes, is 6' tall, male, etc." When I need an identifier "anywhere", I impose criteria on what sort of object I expect in that "application". So, for a timeclock application, I expect the identifier to map to "PERSON" and not "RESISTOR". Using this sort of approach, I can have many different classes of objects and allow the descriptions for those objects to be intelligently *parameterized*. E.g., create a new part: 55667788 What is it: (multiple choice) RESISTOR OK, since it is a resistor... What value: 4K7 Tolerance: 5% Rating: 1/4W etc. Create a new part: 55667789 What is it: SCREW OK, since it is a screw... Head type: clutch Thread pitch: 32 Size: 6 Length: 1" Create a new part: 55667790 What is it: PCB OK, since it is a circuit board... Schematic: 12342345 (which must be of type "SCHEMATIC") Artwork: 45567788 (which must be of type "ARTWORK") BOM: 45324323 (which must be of type "BoM") etc. Now, I can have a "method" for each part type called "Describe()" that is consistent across *all* objects of that type! So, when I print out a part list, *all* RESISTORs are described by concatenating Value with Tolerance with Rating and prefacing all of this with the letters "Resistor". Likewise, all SCREWs are described by concatenating Head with Size with Pitch with Length and prefacing with "Screw". If I want to know what components are located on shelf 3, of shelving unit 5 in room 2 I just query the RDBMS for the Location identifier(s) associated with that particular physical location; then, pull up the "parts" that claim any of those identifiers as their locations. If I rearrange stock tomorrow, all I need to do is rebuild the mapping of part identifiers to location identifiers (walk down the aisles with a barcode scanner; scan location identifier barcode; scan all part identifier barcodes in that "location"; step and repeat) This sort of approach allows identifiers to be refined based on the type of thing they identify -- so you don't end up forcing people to always type: "RESISTOR, " <value> ", " <tolerance> ", " <rating> each time they create a part number for a "resistor". Yet, you *ensure* that all of these values are specified *for* that part -- because that is what the "create()" method for a "resistor" enforces. So, you can build good search tools because all of the attributes of each type of object are "tagged" -- instead of having to do fancy string matching (and hope all of the strings were built correctly)
From: krw on 22 May 2010 00:42 On Fri, 21 May 2010 19:27:11 -0700, John Larkin <jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote: >On Fri, 21 May 2010 17:40:55 -0700, D Yuniskis ><not.going.to.be(a)seen.com> wrote: > >>Hi John, >> >>John Larkin wrote: >>> On Fri, 21 May 2010 09:40:00 -0700, D Yuniskis >>> <not.going.to.be(a)seen.com> wrote: >>> >>>> Hi Phil, >>>> >>>> Phil Hobbs wrote: >>>>> On 5/20/2010 2:03 PM, D Yuniskis wrote: >>>>>> This, I think, is an outgrowth of the same sort of >>>>>> ridiculous mindset that people initially bring to >>>>>> *organizing* data. E.g., how many part numbering systems >>>>>> have data embedded *in* the part number that tries to >>>>>> describe the item? (isn't that the role of the *description* >>>>>> tied to the P/N??) People impose structure on things >>>>>> unnecessarily instead of letting the machine do that on >>>>>> their behalf. >>>>>> >>>>>> E.g., when I started preparing documents, standards, etc. >>>>>> here, I used a much more commonsense approach: I started >>>>>> with *1* :> (instead of something artificial like >>>>>> 1985-SPEC-SFW-001.1 -- the ".1" being a revision level, etc.) >>>>>> Then, moved on to "2". >>>>>> >>>>>> Data should largely be free-form -- except where it *can't* :> >>>>>> This applies to part numbers, object (file) names, etc. Once >>>>>> you start imposing artificial structure, you start forcing >>>>>> things to be "done your way" -- which, typically, exposes >>>>>> some *flaw* in "your way", later (once you are *very* pregnant!) >>>>>> >>>>>> Put smarts in the system to be able to *understand* the data. >>>>> It's sort of nice to be able to look at a part number and see whether >>>>> it's a capacitor or a BNC connector, though. That doesn't have to have >>>>> descriptions embedded in the part number, but it does need a bit of >>>>> thought, e.g. numbers starting with '0' are subassemblies, '1', >>>>> resistors, '2', capacitors, and so forth. Takes an extra couple of >>>>> digits but makes life a lot easier. >>>> I don't think it works, in the long run. And, I think >>>> the effort spent trying to figure out *how* to do this >>>> (and codifying it and ensuring everyone uses the same >>>> rules) is better used getting better descriptions, better >>>> search capabilities, etc. >>> >>> It is convenient to have all the 0805 resistors in the same part of >>> the stockroom, and not mixed randomly with transformers and sheet >>> metal and shrink tubing. Even more convenient to have them in order by >>> resistance. >> >>There's nothing that says part numbers have to be positioned >>on shelves in sequential order. You track the *location* >>of a part as part of your inventory control system. So >>that you are free to put things wherever is most convenient. > >Cool. Every part gets a location number that determines their location >and order on the shelves. So why isn't that the part number? ....and if you change the inventory location you change all your schematics. If you obsolete a part you can never use that shelf again? >>E.g., large sheets of copper, mu metal, FR4, etc. will have >>similar storage requirements -- regardless of their >>part numbers. So, you organize the stock in such a way >>that makes sense for those parts without concern for the >>arbitrary "identifier" you have assigned them. > >And the next innovation is to eliminate the useless part number. Got >it. > >> >>Let the machine figure out where something is. Let it >>print your pick list in an order that *it* knows is >>efficient (because *it* knows the physical layout of >>your stockroom and can order the part numbers so you >>don't wander around looking for numbers "in numerical order"; >>sort of like preparing a grocery list -- you list the eggs >>with the butter so you can pick up both of them in "Dairy") > >So the pick list is in sequential order by location, and the parts are >ordered on the shelves by location number. Great idea. ....and you continually add shelves, even if others are no longer used. >So what use is the part number now? It points to the function of a part, not its inventory location.
From: John Larkin on 22 May 2010 01:40
On Fri, 21 May 2010 21:35:13 -0700, D Yuniskis <not.going.to.be(a)seen.com> wrote: >Hi John, > >John Larkin wrote: >>> There's nothing that says part numbers have to be positioned >>> on shelves in sequential order. You track the *location* >>> of a part as part of your inventory control system. So >>> that you are free to put things wherever is most convenient. >> >> Cool. Every part gets a location number that determines their location >> and order on the shelves. So why isn't that the part number? > >Why *should* it be? Do you seat your children around the >table by age? alphabetically? If I had 4900 children, I probably would. > >A part number is an identifier. A location is an identifier. >A child's name is an identifier. > >>> E.g., large sheets of copper, mu metal, FR4, etc. will have >>> similar storage requirements -- regardless of their >>> part numbers. So, you organize the stock in such a way >>> that makes sense for those parts without concern for the >>> arbitrary "identifier" you have assigned them. >> >> And the next innovation is to eliminate the useless part number. Got >> it. >> >>> Let the machine figure out where something is. Let it >>> print your pick list in an order that *it* knows is >>> efficient (because *it* knows the physical layout of >>> your stockroom and can order the part numbers so you >>> don't wander around looking for numbers "in numerical order"; >>> sort of like preparing a grocery list -- you list the eggs >>> with the butter so you can pick up both of them in "Dairy") >> >> So the pick list is in sequential order by location, and the parts are >> ordered on the shelves by location number. Great idea. > >Do you *really* think DigiKey has all of their parts on >shelves in numerical order? > >> So what use is the part number now? > >Because you don't put "room 4, shelf unit 13, bin 5" on >a bill of materials! No, I put "231-2170" for a 1N5247B. And I can go to the stockroom and walk right up to the bin, knowing that number. It's the stock number *and* the location. Isn't that just too clever? > >You put *things* in *places*. Parts in locations. >You associate a part with a location in much the >same way that you associate a part with a subassembly. > >Part numbers are just ways to identify parts. > >Location numbers are just ways to identify locations. > >If you reorganize your stock room, should all of the part >numbers change? But, clearly the *locations* of all >of those parts must change! So, your desire to arrange >parts contiguously by part number forces your stock room to >have a particular shape. No. It forces groups of parts to be locally ordered. What's wrong with that? > >(Or, do you have a little sign located between part #0999 >and #1257 saying "1000-1256 located down the hall"?) One of our part attributes, in the database, is "location". S means stockroom. B1 means one area of the basement, where we have stuff like chassis and power transformers. I think we have 4 or 5 named areas. But everybody pretty much already knows that big transformers are downstairs; if you don't, look it up. The parts in the stockroom, the electronic stuff, wraps around the room in part number order. Hardware is in a carousel sort of thing on the production floor. A lot of people, production and engineering, designed the system. It works really well, much better than anything I've ever seen elsewhere... and I've seen some horrors. If I need an SMB connector, I look up any one and then go browse the shelf where all the other SMBs are located. They are all together, because SMB connectors have a defined part number prefix. Resistors and capacitors and inductors are together, ordered by value. That's nice too. John > >I'm deploying exactly this sort of system currently. Well, good luck, whenever you get it done. >Everything has an identifier. EVEN PEOPLE! Saves having to remember all those pesky unstructured "names" things. "Good morning 34719622. Can I get you a cup of 7192453?" > >The RDBMS puts the smarts to the system. Map an identifier >into an "object type": "What is 12345678?" "12345678 is a person" > >Based on that object type, figure out what the actual object's >characteristics are. "Please describe person 12345678" >"12345678 has brown eyes, is 6' tall, male, etc." > >When I need an identifier "anywhere", I impose criteria >on what sort of object I expect in that "application". >So, for a timeclock application, I expect the identifier to >map to "PERSON" and not "RESISTOR". > >Using this sort of approach, I can have many different classes >of objects and allow the descriptions for those objects to >be intelligently *parameterized*. > >E.g., create a new part: 55667788 >What is it: (multiple choice) RESISTOR >OK, since it is a resistor... > What value: 4K7 > Tolerance: 5% > Rating: 1/4W > etc. > >Create a new part: 55667789 >What is it: SCREW >OK, since it is a screw... > Head type: clutch > Thread pitch: 32 > Size: 6 > Length: 1" > >Create a new part: 55667790 >What is it: PCB >OK, since it is a circuit board... > Schematic: 12342345 (which must be of type "SCHEMATIC") > Artwork: 45567788 (which must be of type "ARTWORK") > BOM: 45324323 (which must be of type "BoM") Yikes. Now you need a product structure document (or database) to tell you which schematic goes with which bare board and which assembled board. And where they are all kept. And what drawings (of type "drawing") and parts lists (of type "parts list") apply. Been there, done that, never again. I bet that if you have a shell-and-pin connector, the shells are kept far away from the pins because "shell" and "pin" are different types. John |