Multiple conveyor sequence start and interlock?

Aggregateman

Member
Join Date
Apr 2017
Location
michigan
Posts
23
Hi everyone, first time posting here, so I'll just get right to the meat of my situation here.

I've just started getting into PLCs and I work in a gravel mine, we have a total of 7 conveyors that carry raw material to the processing plant, over about 5,000 feet, and I need to create a program to start all of the conveyors in sequence from 7 to 1 as well as be interlocked together so if the tail pulley sensor from any conveyor stops reporting the whole line shuts down. the system we are going with using is a 1769 compactlogix with networked I/O along near each motor starter set. each conveyor will have a tail pulley sensor that the next conveyor uses to verify that it is turning.
My problem is that I took a class at the local college and I learned a little bit on rslogix500, but he spent most of his time teaching us about antiquated hardware and binary number systems. Now I have studio 5,000 and am trying to adjust to its differences from 500, and don't even know a lot about motor starter control on PLCS. if anyone could help me out with some ideas or pointers as to the best way to sequence start these and interlock them, I would be most appreciative. I can provide more info if I missed anything important, but I think I covered everything.

Thanks in advance!
 
I would use a series of TONs. Running timer #1 enables motor #1 - either via tmr #1 EN bit or in parallel with tmr #1. When first timer is DN start timer #2 and motor #2, and so on. All of these timers will have as a permissive the common stop signal.
 
The first difference you will notice using 5000 vs. 500 is the tag Structure. 500 uses fixed files of addresses B3, T4, N7. 5000 uses Names that you make up. So you when you need to make a timer. Instead of it being T4:00 you can call it Conveyor1_RunTimer. Something that describes it purpose.

You also will find or see that 5000 has different types of tags you can create.
1. Base Tag - This type tag is used for program use only. Similar to the B3,T4 and N7 tags
2. Alias Tag - This type tag can be used to reference a real world tag like an Input or Output. This will give you the ability to name your Tail pulley sensor and link that name to the input.

There are lots a differences between 500 and 5000 and it may seem overwhelming at first but with time it actually is easier to use. Being a novice I would suggest you ask many questions here on this forum.
Be Specific about what you don't understand. There a great number of people here willing to help.

Your task is not a difficult task but it should provide a great learning experience for you. Good Luck with your project and Welcome to the Forum.
 
Would I not be able to use a TON to sound the horn with the TT bit, then start the first conveyor with the DN bit, then have every consecutive conveyor start when the tail pulley sensor of the leading conveyor reaches speed?

If I were to use timers for every conveyor how would I go about interlocking the system so that if any of the tail pulleys stop turning the whole system shuts down immediately?
I hate to ask but a set of example rungs would be extremely handy, I never got as much seat time actually programming on the software as I would have liked.

Here's an example I put together, please correct me if I'm wrong or you see any flaws here, but this on theory should work I think.
2017-04-25.png


Thanks again!
 
Last edited:
Would I not be able to use a TON to sound the horn with the TT bit, then start the first conveyor with the DN bit, then have every consecutive conveyor start when the tail pulley sensor of the leading conveyor reaches speed?
Absolutely you can.

If I were to use timers for every conveyor how would I go about interlocking the system so that if any of the tail pulleys stop turning the whole system shuts down immediately?
Connect all the relevant TPS sensors in a separate rung in series. Use the output (summation) of that rung to stop the line. You'll need to delay the action of this rung to allow all the motors time to reach speed. (rung attached)

Here's an example I put together, please correct me if I'm wrong or you see any flaws here, but this on theory should work I think.
Assuming I understand what you're trying to do, I'd say you could remove the E-STOP contact from the motor rungs - it's redundant since the horn timer DN is already used - and just use it once in the start timer rung.
 
I have almost the exact thing you are talking about in my plant on our dust collection system. When we hit the start button it starts a rotary valve which has a prox looking at the shaft. Then the fans all start in a series, with delays between them. If the prox on the rotary valve stays on or off for more than 2 seconds, any motor starter overload trips, or the fire suppression system activates, it shuts down the whole system.
It's not a hard program to write. I added a lot of other bells and whistles, too.
 
Looks like you have a good start. If you are just looking to stop all the conveyors if any of them stop, then this may help you out.

This pretty much starts feed 6 waits for it to be started and the sensor to say its running then it starts the next one.

I also included a 10 second timer to verify that the conveyor is actually running if not it stops the system.

Feed.jpg
 
I attached a exported subroutine for Tail Pulleys. If you Right Click on your Main Program folder you'll see the Import Routine command. Once you import, It will create the subroutine and tags used. This is how I think I would do speed detection on that type of system.
Just unzip the file first before importing
 
Timed delay on start is only part of what you need
you also need a shutdown sequence in reverse order with longer time delay's
some equipment can not be shutdown loaded, crushers and some feeders
Unless you nave no choice you never want to stop a conveyor loaded. the stress on restart when loaded can be hard on them.
 
You're right but the reverse shutdown sequences and all that stuff would come later after i had the bugs worked out of the startup sequence.
 
Timed delay on start is only part of what you need
you also need a shutdown sequence in reverse order with longer time delay's
some equipment can not be shutdown loaded, crushers and some feeders
Unless you nave no choice you never want to stop a conveyor loaded. the stress on restart when loaded can be hard on them.

We have to stop and start the conveyors loaded approximately 25 times a day when large chunks of conglomerate get caught in a conveyors hopper. We have the drive motors oversized to handle the extra load of fully loaded conveyors. Unfortunately its something we cant get rid of, which is why using a PLC system to start everything in sequence with one button will make all our lives easier here, the old system resulted in lots of unstarted conveyors when someone didn't push a button hard enough.

also of note: at the end of the day these conveyors get run completely empty of material so there is no need for a sequenced stop here.

Thanks a lot everyone! I'll see what I can come up with tomorrow. Everyone here has been a huge help so far, you don't know how much I appreciate it.
 
I attached a exported subroutine for Tail Pulleys. If you Right Click on your Main Program folder you'll see the Import Routine command. Once you import, It will create the subroutine and tags used. This is how I think I would do speed detection on that type of system.
Just unzip the file first before importing

This subroutine is the Bee's Knees! I have one problem though, when I verify it gives me a warning saying "Routine cannot be reached by the main routine: 'Tail_Pulleys of Program MainProgram' "

What do I do to fix this?
Thanks again for everyone's help!
 
That just means that you haven't called the subroutine from anywhere. You just need to add a JSR (Jump to Sub-Routine) instruction for that routine somewhere.
 
Thanks! I've never used a subroutine before.

So I was messing around and thought this way of interlocking the feed line up, seems to work pretty good when I was running it in test mode on the processor.

Is this a terrible idea: putting the whole sequence into one rung? It appears to be working exactly how I want it to.

https://1drv.ms/b/s!Av5htFFWsgWcgwYSrgDXICCJE28Y

Have I mentioned that you guys are awesome? Cause Y'all are.
 
If you are going to do this in Logix5000, you can make your life much easier by creating an AOI (Add-On Instruction), for the equipment part of the application, i.e. "Conveyor".

Include all the logic that gives and receives "permissives". Include all the logic for timing, both for start-up, and shutdown. For example, if a conveyor in the middle of the flight stops for any reason, all upstream "feeding" conveyors must stop immediately, but downstream conveyors can run on for their "emptying time".

You can then "daisy-chain" these "Conveyor" instructions, linking them upstream and downstream to the next conveyor's permissives.

A common "Start Flight" can be applied to the whole bunch of conveyors, and they will start and stop in sequence because of the permissions granted by the next and previous conveyors.

I used precisely these principles on a large Malt Handling facility in a large brewery, with great success. The routes had many branches, and using the interlocks, allowed route changes "on-the fly". The old route would simply cascade shutdown from the furthest (source) conveyor, using the "run-on to empty time", to the branch point, then the new route from the branch point to the new source conveyor would start up in sequence.

Each conveyor needed 4 signals that were linked to the previous and next conveyors operation :-

Upstream Running (Input)
Downstream Running (Input)
Upstream Enable (Output)
Downstream Enable (Output)

I do not have the code available to me, it would have to be re-developed, but I remember each "Conveyor" plant item was only a few rungs of code. Implemented as an AOI (mine was pre-AOI days) would ensure all conveyors were handled in an identical manner.

EDIT : interposing equipment, eg. screens, weighers, etc., can be treated as Conveyors, they would need the same linking signals
 
Last edited:

Similar Topics

I've got a task to be completed within 1 month. The task is to assign categories to different diameter, length, and defect logs; track them along...
Replies
3
Views
1,373
Hello, I am trying to develop sorting algorithm for a conveyor belt with pushers where incoming boxes are measured by reflective diffusive...
Replies
13
Views
8,800
This is the first time I am working with Simatic Manager Step7 as I started my siemens journey with TIA which is pretty easy and do a lot of stuff...
Replies
1
Views
12
Compactlogix controller, program has 28 conveyors that use TON's to start the conveyors. The TT sounds a warning horn during start and the DN...
Replies
10
Views
470
I have 9 field devices, three METSEPM5110 power meters and six ACE949-2 rs285 interface modules. I want to read this Modbus rtu data through rs485...
Replies
8
Views
298
Back
Top Bottom