From: John Larkin on
On Sat, 22 May 2010 09:53:25 -0500, "krw(a)att.bizzzzzzzzzzzz"
<krw(a)att.bizzzzzzzzzzzz> wrote:

>On Sat, 22 May 2010 01:13:02 -0500, "Tim Williams" <tmoranwms(a)charter.net>
>wrote:
>
>>"John Larkin" <jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote in message
>>news:i0gev5ltreatfl8mk6s1ga6a2m9nl1shu3(a)4ax.com...
>>>>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?
>>
>>Bicker, bicker.
>>
>>Concatenate both numbers, hash them, and use the hash code.
>>
>>The number is completely devoid of meaning, and offers instant access to its
>>field in the database.
>
>...and creates the worst of both alternative.

We agree on that!

John


From: John Larkin on
On Fri, 21 May 2010 09:27:24 -0500, "Tim Williams"
<tmoranwms(a)charter.net> wrote:

>"D Yuniskis" <not.going.to.be(a)seen.com> wrote in message
>news:ht5c6n$mf$1(a)speranza.aioe.org...
>> I just looked at an old Z180 project that I did. Almost 9MB of
>> sources. Looks like it compiled to about 200K. So, that would
>> be 4.5MB/100KB code (roughly in line with my shirtsleeve estimate
>> above).
>
>Hmm, I've got a 70k .asm file (x86, for MASM) which compiles to I think 9k
>code (plus a few large arrays). Only a ratio of 7? Gee, now I look lazy at
>commenting...
>
>
>;
>; Multiplies a fixed-point DWORD (16.16 format) by a fraction (0.16).
>; Input: on stack (DWORD, WORD)
>; Output: DX:AX = DWORD product.
>;
>fixedByFrac PROC near USES bx cx si di fixed:dword, frac:word
> mov di,wpr fixed+2
> mov ax,wpr fixed
> mov bx,frac
> xor si,si
> test bx,bx ; get fraction sign
> jns @F
>
>
>Ehh, looks easy enough... maybe I just read asm better? :-p
>
>Tim


I would never program any Intel machine in assembly. What dogs!

Here's some typical 68K assembly:


.SBTTL . MANAGE RTD CONTROLS

; HERE WE GRAB RTD RESISTANCE AND TEMPERATURE FROM RAM (LEFT THERE
; BY IRQ SCANNER) AND POKE TO VME. WE ALSO HANDLE THE RTD OOPSBITS
; IN 'RFLAGS'. BAD DESIGN RESULTED IN 8000h TEMPERATURE BEING USED
; AS THE 'BAD OR DISABLED RTD' INDICATOR, SO NOW WE PAY FOR OUR SINS.


SRTA: MOVE.L RARES.W, VW1.W ; FETCH RTD RESISTANCE AND
ALWAYS
MOVE.W # RAHI+WRQ+DBL, VADD.W ; WRITE TO ATOMIC VME SPACE

BCLR.B # 0, RSTAT+1.W ; ZAP RTD 'A' ERROR BIT
PEEK RTDA ; GET RTD CONTROL REG FROM VME
MOVE.W D4, RATYP.W ; COPY THAT TO RAM
BEQ.S ADIS ; DISABLED? POST NO ERRORS!

MOVE.W RATMP.W, D4 ; GET ACTUAL TEMPERATURE
CMPI.W # 8000h, D4 ; IS THIS THE ERROR VALUE?
BNE.S APOK ; NO, POKE
BSET.B # 0, RSTAT+1.W ; YES, SET RTD ERROR BIT
BRA.S APOK ; AND POKE ANYHOW.

ADIS: CLR.W D4 ; DISABLED: SET VME TEMP TO
ZERO
APOK: POKE TMPA ; AND LEAVE FLAG BIT CLEAR
JMP (A4)


We're moving to ARMs for most future stuff, so all that will be in C.

John


From: krw on
On Sat, 22 May 2010 10:45:39 -0700, John Larkin
<jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote:

>On Sat, 22 May 2010 09:52:14 -0500, "krw(a)att.bizzzzzzzzzzzz"
><krw(a)att.bizzzzzzzzzzzz> wrote:
>
>>On Fri, 21 May 2010 22:49:48 -0700, John Larkin
>><jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote:
>>
>>>On Fri, 21 May 2010 23:42:17 -0500, "krw(a)att.bizzzzzzzzzzzz"
>>><krw(a)att.bizzzzzzzzzzzz> wrote:
>>>
>>>>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?
>>>
>>>A schematic is a reference drawing that doesn't control anything; it
>>>refers to parts by reference designator. Assembly drawings and their
>>>associated parts lists control product configuration, and they use
>>>part numbers. I'm surprised I have to explain stuff this basic.
>>
>>Our schematic controls the BOM (guarantees that they're in sync). The
>>"assembly drawings" are for inspection use only; pick-n-place machines can't
>>read them.
>
>We make dash number versions of assemblies, which includes functional
>variants and customizations for particular customers. So the values on
>a schematic are not guaranteed to be correct, and all the shown parts
>may not be stuffed. Schematic 22S470B is a reference drawing for PCB
>fab drawing 22D470B and assembly drawing 22A470B. The assembly drawing
>may in turn have multiple associated parts lists for different dash
>numbers, a parts list being a file like 22A470.12B for the physical
>entity 22A470-12B. An ECO or test procedure or manual states which
>assemblies it applies to. Everything lives on a server.

We use BOMs to do the same. All of the information for variants is encoded in
the schematic. The schematic->BOM utility spits out the BOM, which is
filtered based on component parameters. Both the BOM and the schematic that
generated the BOM are housed in the ECO database.

Again, the P-n-P machines can't read drawings. They need BOMs.

>Once a product drawing set rev A is released to the server, we never
>change it; the next set will be rev B. If we need to make a small
>change to the rev A stuff, we do that by ECO. We can create a new dash
>number of any product, at any time, by creating a new parts list,
>which can reference any new drawings or procedures that might have
>been created.

Our schematic and the BOM generated from it, go in the ECO database. If it's
needed for a variant, it's fetched from there and updated and the results are
stored back in the ECO database.

>This is pretty much standard military/aerospace policy, with our own
>non-random way of naming drawings and assemblies. It works great.
>People without the mil/aero tradition tend to make up all sorts of
>dangerous fuzzy stuff. When you build airplanes, things need to be
>kept under control, and configuration must be absolutely known.

It is.

>If we find a bug in a design, we need to know the exact configuration
>and status of every unit in the field, so we can alert the customers
>and fix the ones that need it. Or if a customer returns a unit for cal
>or repair, we need to exactly understand its version and history.

It is. ECO tracks everything.

>>>What doesn't surprise me, any more, is what a horror most material and
>>>document control systems are.
>>
>>You didn't answer the other questions. What do you do with obsolete part
>>numbers?
>
>If a part might be needed for a repair, we keep some in stock. One of
>our selling points is that we will build or repair anything, no matter
>how old, as long as we possibly can.

So you keep a complete inventory? A whole reel of parts? Boxes of boxes?

>If a part is truly dead, we physically "retire" it to a section of the
>basement. You never know if engineering will want to play with one. If
>it's a real klunker, essentially scrap metal, we get rid of it.

What do you do with the hole?

>We never reuse a stock number. It stays in the database, with a note
>like "retired" or "buggy:do not use". There's a folder associated with
>each part where we park datasheets, photos, app notes, measurements,
>purchasing notes, rants, anything we want to remember.
>
>>Leave a shelf empty for eternity?
>
>Most parts are small. 10-20 bins go on a shelf. Or roughly 40 reels.
>We put parts on shelves. We have some empty shelves, mostly the less
>accessable high and low ones, because we planned for expansion.
>
>
> What happens with a new part that
>>similar to other parts. Move everything in your stockroom to make room for
>>it?
>
>Sure. We leave some spare space on every shelf. If a shelf overflows,
>you have to shuffle a little, which might take 45 seconds to do. We
>have a materials/purchasing person who does all that management. A
>stockroom isn't a graveyard with fixed plots. But the parts are always
>in physical order by stock number, with big bold labels on every bin,
>so it's no great mental challenge to locate a part. And then all the
>similar parts are right next to it. I physically "shop" parts when I'm
>designing, especially things like connectors and cable ties and heat
>sinks. Simple things like 0603 caps I can shop on my computer; I know
>what they look like.
>
>Libraries stash books on shelves using an almost-as-good system. They
>don't randomly mix cookbooks with mysteries [1] with DVDs, and they do
>manage to keep the shelves in order. Books are worse, actually,
>because they don't get stored in bins, and can float between branches.

I've never seen a library that keeps them in ISBN order. I doubt even Amazon
keeps them in ISBN order.

>>Why isn't your street address your name?
>
>Why do you want to force dogmatic catagorizations when practical
>things work better?

You're the one who is forcing dogmatic categorizations. I'm asking why your
name is different.

>We, engineering and production, designed and implemented this system
>together. We have *lots* of experience with stuff like this. We all
>love it.

You love it. Your employees know you love it.
>John
>
>[1] there are ambiguities, like the Nero Wolfe Cookbook.
From: John Larkin on
On Sat, 22 May 2010 13:52:36 -0500, "krw(a)att.bizzzzzzzzzzzz"
<krw(a)att.bizzzzzzzzzzzz> wrote:

>On Sat, 22 May 2010 10:45:39 -0700, John Larkin
><jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote:
>
>>On Sat, 22 May 2010 09:52:14 -0500, "krw(a)att.bizzzzzzzzzzzz"
>><krw(a)att.bizzzzzzzzzzzz> wrote:
>>
>>>On Fri, 21 May 2010 22:49:48 -0700, John Larkin
>>><jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote:
>>>
>>>>On Fri, 21 May 2010 23:42:17 -0500, "krw(a)att.bizzzzzzzzzzzz"
>>>><krw(a)att.bizzzzzzzzzzzz> wrote:
>>>>
>>>>>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?
>>>>
>>>>A schematic is a reference drawing that doesn't control anything; it
>>>>refers to parts by reference designator. Assembly drawings and their
>>>>associated parts lists control product configuration, and they use
>>>>part numbers. I'm surprised I have to explain stuff this basic.
>>>
>>>Our schematic controls the BOM (guarantees that they're in sync). The
>>>"assembly drawings" are for inspection use only; pick-n-place machines can't
>>>read them.
>>
>>We make dash number versions of assemblies, which includes functional
>>variants and customizations for particular customers. So the values on
>>a schematic are not guaranteed to be correct, and all the shown parts
>>may not be stuffed. Schematic 22S470B is a reference drawing for PCB
>>fab drawing 22D470B and assembly drawing 22A470B. The assembly drawing
>>may in turn have multiple associated parts lists for different dash
>>numbers, a parts list being a file like 22A470.12B for the physical
>>entity 22A470-12B. An ECO or test procedure or manual states which
>>assemblies it applies to. Everything lives on a server.
>
>We use BOMs to do the same.

Parts list and BOM are the same thing.

All of the information for variants is encoded in
>the schematic.

How do you know in advance that there will be variants?

The schematic->BOM utility spits out the BOM, which is
>filtered based on component parameters. Both the BOM and the schematic that
>generated the BOM are housed in the ECO database.

So if you have 7 stuffing variants of one PC board, you have 7
schematics? And if you change a part value, you change the schematic?
I assume you use a version control system for schematics, so you know
what was in vogue 17 months ago.

Do you know the configuration of BlueWidget_revE-sn1708?

>
>Again, the P-n-P machines can't read drawings. They need BOMs.

Sure. We have some software that gobbles a coordinate file from PADS,
and the parts list, and some exceptions files, and makes the PnP
control file. That needs some hand editing for how manufacturing
prefers to stage things. Manufacturing makes things their own way;
in-house or out; anything goes as long as the result conforms to the
released drawings.



>
>>Once a product drawing set rev A is released to the server, we never
>>change it; the next set will be rev B. If we need to make a small
>>change to the rev A stuff, we do that by ECO. We can create a new dash
>>number of any product, at any time, by creating a new parts list,
>>which can reference any new drawings or procedures that might have
>>been created.
>
>Our schematic and the BOM generated from it, go in the ECO database. If it's
>needed for a variant, it's fetched from there and updated and the results are
>stored back in the ECO database.
>
>>This is pretty much standard military/aerospace policy, with our own
>>non-random way of naming drawings and assemblies. It works great.
>>People without the mil/aero tradition tend to make up all sorts of
>>dangerous fuzzy stuff. When you build airplanes, things need to be
>>kept under control, and configuration must be absolutely known.
>
>It is.
>
>>If we find a bug in a design, we need to know the exact configuration
>>and status of every unit in the field, so we can alert the customers
>>and fix the ones that need it. Or if a customer returns a unit for cal
>>or repair, we need to exactly understand its version and history.
>
>It is. ECO tracks everything.
>
>>>>What doesn't surprise me, any more, is what a horror most material and
>>>>document control systems are.
>>>
>>>You didn't answer the other questions. What do you do with obsolete part
>>>numbers?
>>
>>If a part might be needed for a repair, we keep some in stock. One of
>>our selling points is that we will build or repair anything, no matter
>>how old, as long as we possibly can.
>
>So you keep a complete inventory? A whole reel of parts? Boxes of boxes?

If it's a reel, why not? If it's a pallet of old front panels, we may
keep a few. People make judgements.


>
>>If a part is truly dead, we physically "retire" it to a section of the
>>basement. You never know if engineering will want to play with one. If
>>it's a real klunker, essentially scrap metal, we get rid of it.
>
>What do you do with the hole?

A 2" wide gap on a shelf? We ignore it. Or push the guy on the end to
tuck things together. Who cares? Things will settle on their own.

>
>>We never reuse a stock number. It stays in the database, with a note
>>like "retired" or "buggy:do not use". There's a folder associated with
>>each part where we park datasheets, photos, app notes, measurements,
>>purchasing notes, rants, anything we want to remember.
>>
>>>Leave a shelf empty for eternity?
>>
>>Most parts are small. 10-20 bins go on a shelf. Or roughly 40 reels.
>>We put parts on shelves. We have some empty shelves, mostly the less
>>accessable high and low ones, because we planned for expansion.
>>
>>
>> What happens with a new part that
>>>similar to other parts. Move everything in your stockroom to make room for
>>>it?
>>
>>Sure. We leave some spare space on every shelf. If a shelf overflows,
>>you have to shuffle a little, which might take 45 seconds to do. We
>>have a materials/purchasing person who does all that management. A
>>stockroom isn't a graveyard with fixed plots. But the parts are always
>>in physical order by stock number, with big bold labels on every bin,
>>so it's no great mental challenge to locate a part. And then all the
>>similar parts are right next to it. I physically "shop" parts when I'm
>>designing, especially things like connectors and cable ties and heat
>>sinks. Simple things like 0603 caps I can shop on my computer; I know
>>what they look like.
>>
>>Libraries stash books on shelves using an almost-as-good system. They
>>don't randomly mix cookbooks with mysteries [1] with DVDs, and they do
>>manage to keep the shelves in order. Books are worse, actually,
>>because they don't get stored in bins, and can float between branches.
>
>I've never seen a library that keeps them in ISBN order. I doubt even Amazon
>keeps them in ISBN order.
>
>>>Why isn't your street address your name?
>>
>>Why do you want to force dogmatic catagorizations when practical
>>things work better?
>
>You're the one who is forcing dogmatic categorizations. I'm asking why your
>name is different.

I am not a house. Parts are all parts.

John

From: Michael A. Terrell on

"krw(a)att.bizzzzzzzzzzzz" wrote:
>
> I've never seen a library that keeps them in ISBN order. I doubt even Amazon
> keeps them in ISBN order.


That's because libraries sort books by the Dewy Decimal System, which
is much older than ISBN. How old do you think the ISBN system is?
Which of the two ISBN systems would you use? BTW, I have a LOT of books
without ISBN numbers.


--
Anyone wanting to run for any political office in the US should have to
have a DD214, and a honorable discharge.
First  |  Prev  |  Next  |  Last
Pages: 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Prev: OrCad/ question
Next: Capture hierarchy