Part rejection down line

Bob O

Member
Join Date
May 2003
Location
Posts
1,873
On Monday I will be testing a part inspection/rejection system. I have included a zip file of the layout and a screen shot of my code. I am tring to make as fool-proof a system with what I have to work with. It is safe to assume that no parts will be added or removed between pe2 and pe3. Any advice is appreciated.

Thanks,
Bob o.

Fail to mention that under normal conditions that the lids are 12" on center.
 
Last edited:
How about providing a verbal description of what you expect to happen.
I can see your drawing but I can not discern your intent.

Is the bar on the first conveyor attached to the belt?
Are gaps between lids on the second belt ensured? How?

What are the relative speeds of the conveyors?

What exactly are the purposes of PE-3 and PE-4?

What information does the inspection produce?

It appears that your lid is almost beyond PE-1 before the inspection occurs.

How wide are the lids?
 
Terry,

PE1 will trigger off the steel pusher bar and signal the DVT camera to take a picture while the 9" diam lid is in motion and determines if the print quality is good or bad. The lid then continues on down to the flat belt conveyor under PE2 and PE3 "normally" with gaps to the pack off station at 125 ppm. PE3 is a sensor that I use to reject start-up stacks as we call them and PE4 was already in place so I included it tring to be complete. Guess I missed that boat.

If the lid fails I will send a signal to the PLC indicating a bad part and attemped to reject it down at PE3.

Thanks,
Bob O.
 
Well in my mind it is to verify that the lid did make it to the flat conveyor and trigger the bit shift.

Thanks,
Bob O.
 
Bob...

After looking again at your ladder image, I now see that PE-2 is used to activate the bit-shift.

When PE-3 comes on, you look at bit-7 in the register. If bit-7 indicates NO-GOOD then you eject the lid. The ejector is on only for as long as the lid is in front of PE-3 AND bit-7 = NO-GOOD.

Now... consider this...
A lid trips PE-3. Bit-7 is NO-GOOD. At the same time, a lid leaves inspection and trips PE-2. Bit-7 might, or might not, indicate NO-GOOD. In any case, the evaluation in bit-7 no longer relates to the lid in front of the ejector. If the new value is GOOD then the ejector is on for a very, very short time. The lid might, or might not, be ejected.

You said that you wanted a fool-proof system. That method will not provide it.

The problem with this design is that you are trying to employ an index-type response to a free-running system. At the rate you mentioned (125 ppm = 2.08333... parts per second), I wonder if you can guarantee, not only that the gaps exist, but that they are also consistent in their relationship to the bit-register. You are trying to impose a synchronized response on a marginally synchronized system.

In general, there are three types of shift registers; FIFO, LIFO and BACKFILL (or Drop-Through).

4130e2f0705d1478.gif


If you want fool-proof, use the BACKFILL (Drop-Through) scheme.

This particular method allows for intelligent sorting of multiple classes of items. For example, sorting by quality, color, size,...

The basic idea is that the inspection station loads an evaluation at the first available slot... starting from the bottom. The inspection station then "backfills" the register. When an item arrives at the ejection or sorting station, the program looks in the bottom register to determine the course of action. Once the action is determined, the register is shifted down and the bottom element is shifted out to the bit-bucket, or, in this case, the word-bucket (trash).

Loading and unloading of the register is co-ordinated so that the inspection station can load an evaluation in the same scan while the ejector unloads the register.

The unloading sequence (shifting) is initiated by the PE at the ejection station. The loading sequence is initiated by the inspection station.

In this scheme, the downline ejector station eye controls the shifting of the register. The upline inspection station uses indirect or indexed addressing for loading the register. The next location available to the inspection station is calculated based on previous actions. Everytime there is a loading action, the "next" pointer is decremented. Everytime there is an unloading action the "next" pointer is incremented.

There are only two requirements:

1. The register can be any size as long as it is at least as large as the maximum number of items between the inspection and ejection station.

2. There MUST be a detectable gap between items. The gap size can be any size, however, it must be detectable.

Is this "over-kill"?

Nope! As long as the requirements are met, it is fool-proof.
 
Terry,

Thank you. I haven't used indirect or indexed addressing but I think I can solve it with other basic instructions.
If all works right I should be able to track all good and bad parts independent of parts slipping on conveyor and the number of parts between PE2 and PE3.

Thanks Again,
Bob O.
 
Bob,

I have no doubt that you can wrestle your scheme into working... for a while.

However, it will not be "fool-proof".

Good Luck!

Please, let us know how it turned out and what you had to do to make it work.

Honesty counts.


BTW, you simply have to get to know how to do indirect and indexed addressing if you are really serious about this PLC stuff. It's easy!
 
Last edited:
Terry,

Here is my rough code for where I am heading with this. I haven't tested it yet but this is my slippery slope and you will be the first to know how it goes.

Thanks,
Bob O.
 
Terry,

Here you go. Please let me know what kind of match you think I am going to have. Again thanks for your time and questions.

Bob
 
FIFO

Just to clarify, the FIFO that the AB instructions FFL and FFU implement is functionally equivalent to Terry's "back-fill register".
I'm not sure about SLC's, but in the first implementations (PLC2 & 3), there was no actual shifting of data. Rather, the entry & exit (load & unload) points were indexed.
 
Terry and Gerry

I looked at triggering a FFL with PE2 and triggering a FFU with PE3 but I thought you would need to specify an unload address and if that is true, how would it be able to handle any number of parts between the two PE? Under normal conditions this would work or it may work all the time and I am just the idiot behind the keyboard.

Bob O.
 

Similar Topics

Good morning crew! Ok my logic works but I am missing something. When the start button is pushed it should like the red light for 4sec then shut...
Replies
13
Views
344
Hello: I need to buy one end-cap which was not provided by an ex-Rockwell distributor here. Since I do not know the part number I can't find it...
Replies
24
Views
6,392
For a thermoset molder I am looking for a vision system that can monitor part removal from a mold. The mold temps can range anywhere from 300 to...
Replies
4
Views
1,644
Long story short, I am creating a display to display an array of Strings from PLC [topic]VarStrA_RPHD.Desc[VarStrB] totally 100 strings...
Replies
1
Views
1,391
Does anyone know where to find pre made circuit cards w/ toggle switches on them. Like those ones that the sales people would have on their test...
Replies
1
Views
971
Back
Top Bottom