Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

Sorting conveyor 3

Status
Not open for further replies.

2b2

Industrial
Jan 19, 2002
10
0
0
US
I am trying to sort 10 different products in a roller conveyor, I will be using a scanner to read the barcodes of the boxes. I will install a PLC to acquire the barcode numbers as they enter the conveyor. I will have a Photo eye in each sorting lane. and a diverter will move the boxes in the corresponding lane.
The question is which will be the most efficient way to approach the program in the PLC. (I just need a starting point)

Thanks.
 
Replies continue below

Recommended for you

fifos never work if you want to missort but thats up to you.

Hardware required

1st off you cant track items on a roller conveyor, so your conveyor needs to be a belt top. If you already have this then you have to use update pes at each divert, to keep your tracking accurate.

2nd you need to use an encoder that gives you a pulse for some inches. Best to mount the encoder underneath the conveyor where the belt is on the tight side of the tensioner where the motor is mounted. Use a wheeled encoder that is in contact with the belt. Or mount an encoder on an end roller on the conveyor.

3rd u can also mount an eye before you sort at the diverter, but not necessary, as long as your items do not slip on the conveyor. But since your using roller top, this would have to be necessary for you to keep consistant tracking.

4th all the conveyor between the barcode scanner to the end of the sorter needs to be on a vfd, so that your items do not slip on the conveyor.

5th all your lane verification pes need to be mounted at same location in each lane pretty close to when it gets off the sorter.

software

2 ways to track

both ways shift the tracking file with the encoder pulse

Either have a number that you track down the sorter, then use this number as an offset to a file that has all your info for this item.

2nd way is track a few pieces of info in the tracking file necessary to know where your item has tracked to on the sorter.

Or just forget all this and buy a system from some oem.
 
Thanks controlsdude:
Your input has been extremely helpful
With the economy as it is I need to get this done with our maintenance personnel.
I have to tackle this problem regardles, so resorting to an oem in this particular case is not an option at this time.
Since I have not face something of this nature before I will have to learn fast.
Your information has been extremely helpful.
Thanks again
 
I agree almost completely with ControlsDude about tracking on a roller conveyor...the slippage will almost guarantee that you'll occasionally get out of sync and will mis-allocate a box.

If, however, you're locked into using roller conveyor because of product weight or other physical constraints, you can segment the conveyor such that only one box is allowed on a segment at a time, like on a zero-pressure accumulation conveyor. You'd locate a photoeye at the downstream point of each segment to detect the presence of a box and to halt it if the next segment is occupied. Then the barcode information can be indexed with the box as it transits from segment to segment, finally getting diverted to its proper sortation lane as it arrives at the correct point.

 
Dang it, hit "submit" too quickly.

You can achive the same effect with a single roller conveyor by installing pop-up air stops to block the transition of a box from one zone to the next. The rollers just run, and the stops govern the motion of the boxes with the barcode information indexing along with the box.

Hopes this helps.
 
Gringao:
Thanks for the input, the constraint is financial, the roller conveyor is what we got, my question is what kind of technique you use to index it in the programming side.
Thanks a lot.
 
If you're stuck with a roller conveyor and thus prevented from using Controldude's encoder tracking idea, then you may be stuck with what I've suggested using. Here's a quick and dirty outline of what you need to do:

1. Get a popup-type blade stop for each zone that a box will occupy. This will be a flat metal plate attached to a small air cylinder and driven by a single solenoid valve. Install these along your roller conveyor where you want to accumulate a box or kick one off to a sortation lane. I'd also put one right at your barcode reader to prevent the release of a box without associated scan data. Wire to your PLC outputs.

2. Install a single photoeye at each stop, just behind where the back side of the blade is. This will be your "box present" sensor. Wire to your PLC inputs.

This the basic physical system, but you can get fancier with additional photoeyes at the head of the sortation conveyors to prevent kicking off boxes into full lanes, for example. Here's the logic:

A. Create parallel bit and register spaces in your PLC. These will be used to track the indexing - and hence the data - of your boxes.

B. As your scanner reads a barcode, load that into a register at the beginning of your PLC index queue. Use the presence of data in this register to permit the lowering of the barcode section stop.

C. If the downstream section is clear (no blocking bits or covered photoeye), lower the barcde section stop to release the box.

D. Latch in a bit to flag the condition of a box moving downstream. This is a "blocking bit."

E. When the box arrives at the next stop, move the data from the barcode station register into the next register and clear it from the barcode station register. Reset the latched blocking bit.

F. If a box is present at a stop and it's not a possible kickout point, look to see if the downstream section is clear by examining any blocking latch bits and the next section's photoeye to make sure you have a clear path. If the path is clear, command the stop your box is at to lower, allowing it to release downstream. As the box arrives at the next section, move the data to the next register.

G. If data gets moved to a section where a kickout is possible, then examine to see if it matches that kickout lane's product number. If it does, then prevent the stop from lowering and actuate the kickout mechanism when the box present photoeye is covered. If the data doesn't match, then allow the box to proceed to the next section.

You can gussie this basic algorithm up with alarms, watchdogs and a host of other features, but this is the basic idea. Let me know if you need any further guidance.

 
Some additional. (I'm presuming one long conveyor).

If money is a problem, Instead of an encoder you can use a proximity switch and a flag attachd to a non driven roller, best opposite end to where motor gearbox is.

I would ensure a brake motor is on the prior conveyor so you can stop-start to create gaps, boxes closing up will cause misorts. Length check software could be added for this if essential.

VFD's are not necessary if you ensure the conveyor is running at full speed prior to feeding a box on.

Make sure in your stopping algortith that you allow time to empty the sorting conveyor if you can.

Tracking usually creates 'windows', a time when you expect to see a box, if a box is detected within the window then its the expected box, if a bag is not detected its 'missing' if an unknown box appears its 'unknown', the last route should be for mis-sorts for manual correction.

FIFO's can be used as long as the information includes when its expected, i.e. it entered the FIFO at count 10, auto eject it from the FIFO at count 40 (which is the window open point). If a box is not detected by count 50 its missing, etc.

I would put a sensor prior to every push point and at every receive point to confirm push.
 
At this point some encoders are almost as cheap as a prox. The cost can be in the mounting. If you can find a good location for flag you can save bunches over the machining to attach to a shaft, align and mount an encoder.

One thing to consider is what to do if things get out of sequence. I have seen systems where it is a real mess if a box falls off the conveyor. You need away to edit or clear your FIFO.

Stephen Van Buskirk

There is only one satisfying way to boot a computer.--J. H. Goldfuss
 
'One thing to consider is what to do if things get out of sequence. I have seen systems where it is a real mess if a box falls off the conveyor. You need away to edit or clear your FIFO'


That is where the 'missing' box logic comes in, if not detected in the expected window then clear the data, if an unknown object is detected, then a new object should be created and sent to wherever unknown objects can be processed.
 
so you feed a box on how when the main sorter is at full speed?

fifos lose track of most boxes
not using vfds for ramp up and down is just inviting more bad tracking.
all this last info is just asking for more bad tracking.

there are only a few solid ways to track on a sorter, I think i pointed out the best ways and the pitfalls. I think trying to fill the holes on a fifo track will take forever.
 
Thank you for all the helpful advise that you gave me.
The project has been completed and is working.
Since I do not have enough experience programming I went the long way in the program.
This is the way that the system end up.
Roller conveyor (50' long) divided in 10 sections at each one installed a gravity conveyor to receive boxes and a photeye to detect box.
Used a PLC direct 250, to control all the rest of the conveyor system. Cmore HMI, to asign lanes and log information (counting, start up etc)
Installed a cylinder at each section to push boxes when programmed product would reach assigned lane.
Is tracking just with counters, only drawback is that program is too long. At least I am out of the bind, I need just to refine the programming side of it. That is where I need some guidance. Appreciate very much all your valuable you are great as a technical community.
Thanks
 
Controlsdude, not sure if those last comments are about what I wrote or not, but if so then I will try to respond.

"so you feed a box on how when the main sorter is at full speed?"

The prior conveyor would have a PEC that is used to stop the box if the sorting conveyor is not running (or about to stop). If this conveyor is long it would need a brake, shorter conveyors can usually stop OK quickly, this conveyor would be restarted a short time after the sorter conveyor had started. These conveyors should be speed matched, not necessarily VFD's, but the important thing is the box passes between conveyors without the drag that can be caused by different speeds.

"fifos lose track of most boxes"

I understand where you are coming from, if you use a FIFO where you say the first in will be the next one detected then it would invite trouble, a box falls off, a box is added or two or more boxes close up would screw everything up. But that is not what I suggested, a FIFO can be used very successfully if you include the expected data, that way the item can be cleansed or identified as unknown.

"not using vfds for ramp up and down is just inviting more bad tracking."

Which is why I stated that without a VFD the conveyor system should be able to empty out, i.e. enough space downstream to be able to stop the preceding conveyor and empty the sorting conveyor (budget was looking a possible problem for the OP so this would save the need for a VFD) and boxes should not be restarted until the sorting conveyor has restarted. Having said that a 50 foot conveyor may not be feasible for this.

"all this last info is just asking for more bad tracking."

The last info is coming from an engineer who's been tracking objects for more than 20 years including secure airport systems.

"there are only a few solid ways to track on a sorter, I think i pointed out the best ways and the pitfalls. I think trying to fill the holes on a fifo track will take forever."

There are many ways I agree and I have seen some that made my heart stop. I'm not sure I understand the holes in FIFO.


My original post was not so much endorsing a FIFO, just countering the argument that a FIFO is a disaster, this depends on how you use the FIFO.

To track you would usually create an ID for an object as it enters the tracking zone, this ID would normally represent a position in an ARRAY, this ARRAY is where you store info on the object. On creating the ID, the ARRAY position for that ID is cleared.

After reading the barcode a destination is determined, either this data is sent elsewhere for a destination or the PLC would hold a store of expected barcodes and predetermined destinations.

The ARRAY may contain data such as the read barcode, the destination, read status, push status, etc.


Some tracking methods:

Have a table long enough to contain a position for every pulse position, move the ID into the bottom position and then block move the table by one every pulse. When the object reaches a decision point check the destination.

Have a table long enough to contain a position for every pulse position, have a pointer to the start position and each decision point, move the pointers each pulse and the data remains static. When decision point pointer sees an ID check the destination.

Put the ID into a FIFO and include a count value when the object is placed in FIFO in the ARRAY, the count increments per encoder pulse and the object removed from the FIFO when the count reaches a value of inserted + distance.



In all cases, the tracking will never ever be 100% accurate, so a tolerance has to be created, if an object is expected on pulse 60, then start looking for it at pulse 55, if not seen at 65 then dump the ID.

If an object is detected when one is not expected, then give it an ID and a destination for unknowns (the last destination normally).


At the end of the day there are many ways to skin a cat, there are many correct answers and quite a few wrong ones.

None of us who attempt to pass on knowledge are in full knowledge of what a requester's requirements are nor do we know their restraints.

 
Status
Not open for further replies.
Back
Top