Conveyor Part Tracking

Hainstock

Member
Join Date
Jan 2015
Location
WI
Posts
3
Looking for some insight for tracking multiple parts on a conveyor.

The conveyor stretch is 150 feet long with a prox at beginning. From there is an encoder with 1000 counts per 20 feet (part lengths are 20 feet long). I can track one part with no issues, I am just trying to figure out the most efficient way of tracking multiple parts.

Right now the counts reset every time the prox hits with a new part. I have been trying to figure out a way to queue up parts and just keep adding the counts every time the prox hits.

Any help would be appreciated.
 
The processor is a 1756-L71. Most of the IO is talking through 1734-AENTs back to the main processor.
 
Shift register....depending on the resolution you need will dictate length of register...if rez is 1 foot then you need 150 elements....if .1 foot then 1500. Load the 1st position with the prox...shift on x number of counts from the encoder. In the case of 1 foot resolution every time count increases by 50. If .1 foot then each time count increases by 5. Standard means of tracking product on conveyors.
 
Last edited:
Are you tracking just to know where the parts are or, are the parts possibly destined to several divert points? The difference will be between a bit shift register (simple location on the line) and a word shift register (carries such things as proximity to a numbered destination).
 
Looking for some insight for tracking multiple parts on a conveyor.

The conveyor stretch is 150 feet long with a prox at beginning. From there is an encoder with 1000 counts per 20 feet (part lengths are 20 feet long). I can track one part with no issues, I am just trying to figure out the most efficient way of tracking multiple parts.

Right now the counts reset every time the prox hits with a new part. I have been trying to figure out a way to queue up parts and just keep adding the counts every time the prox hits.

Any help would be appreciated.

This is an example of what I have done in similar situation and has worked well:

Create a 1000ms periodic task that would give you the encoder's counts delta. Don't forget to account for when it rolls over.

Given: 1000 pulse = 20'; or 50 pulse = 1'; 1/50=0.02 factor; maximum of 7 parts on the conveyor at a time.

When the first parts hits the prox, start adding the delta count to your array. Multiplying the delta value with the 0.02 factor and giving you the feet/second value (much better resolution).

As each part enters the conveyor, shift the data in your array with COP (the entire length) and continue to add the delta count to each of your elements with the FAL instruction.

Ultimately allowing you to track the the exact location (if the parts don't slip on the line of course) of the 7 parts on the line.

K
 
Shift register....depending on the resolution you need will dictate length of register...if rez is 1 foot then you need 150 elements....if .1 foot then 1500. Load the 1st position with the prox...shift on x number of counts from the encoder. In the case of 1 foot resolution every time count increases by 50. If .1 foot then each time count increases by 5. Standard means of tracking product on conveyors.

Thanks for the help. My first taste with conveyors, I am used to ASH units which never uses this sort of logic. I have the bit shift setup working, now I am just having trouble shifting on "x" number of counts. The encoder I am working with (842E-S) doesn't have a pulse that I can use. Is there a way to pulse every 50 counts of a variable that's always counting?
 
Set up a counter with a preset of 50, or whatever, and drive it with the encoder signal. When the counter reaches preset - DN bit on - use the DN bit to drive the shift register, reset the counter.

Lather, rinse, repeat.
 
Try the MOD instruction. MOD divides Input A by Input B and stores the remainder - NOT the result - in the destination. For example, 5/2 = 2 with remainder 1, so 5 MOD 2 returns 1.

If you MOD the count by 50, you can then just create a pulse whenever the result of the MOD instruction is equal to zero. This will mean your encoder count is 50, 100, 150, 200 etc.

Of course, you may need to get a *little* more creative than just "if encoder MOD 50 = 0", because if you have multiple encoder pulses per scan you may not catch it at zero. One option is just to see if it's less than it was last scan - if it's less than last scan, it must have rolled over from 49 to 0 and started again.
 

Similar Topics

I am working on an application in which I would like to track parts on a conveyor with an AB Controllogix PLC. At this point I am just needing...
Replies
7
Views
5,041
Good Morning Everyone, I have a quick question and I am not sure if it is possible with PLC code. I have 6 conveyors, Someone(worker) will...
Replies
4
Views
3,487
the conveyor can stop because of a safety sensor or safety switch. And also it can stop because of an object jam detector sensor. If the conveyor...
Replies
5
Views
203
Does anyone have sample logic with conveyors that start and stop according to product on the line?
Replies
1
Views
109
Good Afternoon, I’m limited with a skilled maintenance staff to design and build Load Cell , Rollers , etc. for conveyor sections . Do...
Replies
11
Views
666
Back
Top Bottom