lane queue

alex_cordova

Member
Join Date
Oct 2009
Location
paramount
Posts
102
Well can anybody give me a head start on some logic, I cant just seam to get a start.

What I need is 4 lanes to queue and and which ever lanes is ready first it will go. Example Lane A, Lane B, Lane C, Lane D.

If lane b is ready, then lane a is ready after, then lane B will discharge first, then lane A after. logic needs to know what lane is first and what is next of all the lanes.

A lil push start would help, I tried FIFO, BSL, but just cant implement it


Thanks
 
What's the issue you encountered and what PLC are you using?

Using your example of A,B,C, and D. It can be as simple as using a series of MOV (in Allen Bradley world) and create some registers to track position.

Assume the initial condition:

Position1 = B, Position2=A, Position3=C, Psoition4=D

... stuff happens, trigger the following logic

MOVe Position2 Position1, MOVe Position3 Position2, MOv Position4 Positioni3, MOv Position1 Position4

Thus, your new order would be

Position1 = A, Position2=C, Position3=D, Psoition4=B
 
Well can anybody give me a head start on some logic, I cant just seam to get a start.

What I need is 4 lanes to queue and and which ever lanes is ready first it will go. Example Lane A, Lane B, Lane C, Lane D.

If lane b is ready, then lane a is ready after, then lane B will discharge first, then lane A after. logic needs to know what lane is first and what is next of all the lanes.

A lil push start would help, I tried FIFO, BSL, but just cant implement it


Thanks

What you are programming is commonly called a MERGE arrangement. MANY to ONE.
 
I don't know how to code this, but, I am curious to know if at any point all lanes will be clear or do you need to re-que the line that emptied? I too am wondering which plc platform you are using. If it is RSLogix500, I might attempt to develop something that I can simulate with thelearningpit program LogixPro.
 
State machine:

if state = 1: See if lane 1 needs to release. If not, go to state 2. Else do lane 1 release stuff then go to state 2.
if state = 2 : See if lane 2 needs to release...
 
Making a few wild assumptions about your project...
If there is a sensor in each lane to tell when something is there.
Put an up-timer on each lane that is started when something is in the lane. Cleared when the lane is empty.
As soon as the current lane is empty go to the lane that has the most time on it.
(If all the lanes are empty, then just wiggle back and forth. This does not really accomplish anything but it looks cool.:p)
 
the way to do what you want is a FIFO (First In First Out)
as each lane is ready you place the lane number in the FIFO and set a tag
then when the out feed is clear you unload the lane number from the FIFO and move the product out while resetting the tag. setting the tag for each lane keep the system from loading the same lane twice in the FIFO
 
I have done many lane merges - conveyor systems merging on to one final conveyor.
And it is more difficult than first envisaged.

And there are many more factors involved that you have not explained.
Like; does lane A need to completely clear before checking for other lanes waiting.
The direction of the main conveyor D to A? A to D?

If you are not happy with FIFO or bit shift then you can use 'polling'
A little routine that goes:
Is lane D clear/occupied
if clear check lane C
if occupied then allow lane D to work (you decide how many objects are allowed onto the main conveyor)
And move down the line and back to lane D (remembering that objects put on the main conveyor at lane D must be clear - or past lane A - presuming the main conveyor moves in a 'from D to A direction'
The polling of D to A is continuous - only pausing while any lane is 'working'

There is a lot more to it than this basic description - such as how much backlog is allowed on any lane? If only lane D and lane A are used, is it possible to but objects on the final conveyor before the objects from lane D get to the lane A output.

But 'polling' will give you a start to build on.
 
I have done many lane merges - conveyor systems merging on to one final conveyor.
And it is more difficult than first envisaged.

And there are many more factors involved that you have not explained.
Like; does lane A need to completely clear before checking for other lanes waiting.
The direction of the main conveyor D to A? A to D?

If you are not happy with FIFO or bit shift then you can use 'polling'
A little routine that goes:
Is lane D clear/occupied
if clear check lane C
if occupied then allow lane D to work (you decide how many objects are allowed onto the main conveyor)
And move down the line and back to lane D (remembering that objects put on the main conveyor at lane D must be clear - or past lane A - presuming the main conveyor moves in a 'from D to A direction'
The polling of D to A is continuous - only pausing while any lane is 'working'

There is a lot more to it than this basic description - such as how much backlog is allowed on any lane? If only lane D and lane A are used, is it possible to but objects on the final conveyor before the objects from lane D get to the lane A output.

But 'polling' will give you a start to build on.
+1, +1

More to think of:
Is this a time-release merge, where each lane is released for a fixed time, and then the demand is re-examined, -OR- does the lane release until its empty...which might have pile-up results on the inactive lanes.

What about a lane that is not full....how does is EVER get released, especially if the thing filling it up stops or goes out of cycle?

And, consider not only the HEAD of the released line of product, but the TAIL. You can't simply release a lane and have it crash into the middle of the lane that is still running out.
 
Well can anybody give me a head start on some logic, I cant just seam to get a start.

What I need is 4 lanes to queue and and which ever lanes is ready first it will go. Example Lane A, Lane B, Lane C, Lane D.

If lane b is ready, then lane a is ready after, then lane B will discharge first, then lane A after. logic needs to know what lane is first and what is next of all the lanes.

A lil push start would help, I tried FIFO, BSL, but just cant implement it


Thanks

Use a timer for each ready condition. Compare Timers to decide whose was ready first. Hold release until complete and reset timer.

If A>B and A>C and A>D then A

Rinse and Repeat for B,C and D.
 

Similar Topics

Does anyone know what the data transfer rate for this series of CompactLogix PLC's? 1769-L24ER-QB1B to be exact. Cheers.
Replies
1
Views
98
I noticed something that’s mostly just a curiosity. Maybe someone here knows. An IT system is reading a L82 with the on-board IP and 1,0 added...
Replies
2
Views
696
Hi everyone, I can't add any modules to the Controllogix backplane and it doesn't matter online or offline. Both is not working. Please see the...
Replies
13
Views
2,985
Good Evening, I've spent most of the evening working on adding a 1768-ENBT card to connect a machine to our enterprise network. The card is...
Replies
2
Views
1,484
Anyone ever vinyl wrap a backplane, and is it acceptable to do so? We are building a panel for 15 VFD's, and thought about using a vinyl wrap to...
Replies
7
Views
2,966
Back
Top Bottom