Pump Control with a PLC

MisterEzell

Member
Join Date
Sep 2013
Location
Alabama
Posts
4
Hi guys,
I'm currently a PLC student in my 40's. I just started going to a local tech school, and really am kinda slipping in the mud trying to get my old gray matter wrapped around all this. My instructor seems to enjoy dumping projects on us that we are ill prepared for, and seeing where the pieces fall. He takes a sink or swim approach. He handed out a project the other day that I know just enough about to know that I don't know much about it. Especially where to start. He does, however, highly recommend that we use every resource we can get our hands on to learn, and accomplish the project. The internet is a resource. Right? Probably the single greatest resource ever! With all this in mind, I'm not asking anyone to do my homework. I'm simply asking for guidance, and education. Point me in the right direction, and I'll learn as I see the different components come together and function. Below will be word for word what the project asks us to accomplish. Thanks in advance for any and all input. Right now I'm using TLP Logix Pro Simulator at home, but I use MicroLogix 1200 at school.

-----------------------------------------------------------------​

Pump Control with a PLC​

PLC LAB​

Engineers and technicians are now designing their own pump station controls, using a PLC and assorted sensors with other inputs, instead of buying one preconfigured and preprogrammed. This "do-it-yourself" method of pump station control gives you exactly the type of control you need and want, and you aren't forced to buy something that almost fits. There are a number of things you have to remember to include in the PLC programming.​

So, here are some design considerations for you to keep in mind when writing the pump sequencer for your PLC. Let's say you have five pumps. Four will be in the sequence; one will be on standby. A good way to equalize wear on these pumps is to have the sequence alternate. First you should set it up so that the first pump to come on is the first pump to go off (FIFO) as demand drops. So, the first sequence is 1-2-3-4 on and then 1-2-3-4 off. But adding in alternation, the next sequence should be 2-3-4-5 on and then 2-3-4-5 off. The next would be 3-4-5-1 on and then 3-4-5-1 off, and so on. Sometimes, you may want to base your alternation scheme on pump run time, instead of FIFO, or in addition to FIFO. This complicates the programming because now you also have to take into account which pumps have been running the longest. You should also establish a hysteresis, so that your pumps are not bumping on and off. Pumps go on at low level and go off at high level. Your logic should keep them off until low level is reached again. If you have an analog input (flow or level) to the controller, you can begin to deselect pumps as you approach high level, and begin to call pumps on as you approach low level. You need to be able to sense the "pump running" condition. There are lots of ways to do this, and they all take time. Flow, pressure, current, shaft rotation, all have been used to sense pump run. Remember to program in the necessary time lag to have the pump come on line and up to speed before calling "pump fail".​

I suggest that it is also very useful to add a contact to the H-O-A switch "auto" position so that the PLC can tell when the pump is not ready to be called. A pump can be out of service for maintenance, or it can have previously failed. Pulling in this contact moves the pump out of the alternation scheme until the contact breaks again. This is all part of working out the pump fail logic, which, of course, an old-fashioned pump controller did automatically for you out of the box.​

Finally, I warn, don't forget to take into account pump/control operation in the event of a power fail, program restart and/or level sensor fail. You probably don't want all your pumps to start at the same time on power up, or when the level signal goes to zero. When you design a PLC-based pump controller, you have complete control over what the controller will do. This means that you have to be sure you've thought out the entire functionality you want the controller to have. It is too late when you start the pump station up and pumps go on and off when you don't want them to.​

-----------------------------------------------------------------​

How's that for a relative beginner?
 
It looks like you've been given a lot of leeway so you first have to decide what you are actually trying to control. Based on my reading of your spec most likely you're trying to maintain a tank level. If one pump can't do the job, you start the second. If that's still not enough capacity you add the third, etc. Similarly, when the number of pumps is more than the demand calls for, you shut them down in sequence.

First, answer some basic questions. Is the pump motor going to be controlled by a starter or a variable speed drive?
Depending on your choice, what are you going to need for PLC outputs?
What are you going to use to sense that a pump is running?
What other sensors are you going to need based on your choice of control strategy?

Once you have selected a control strategy, figure out how to get a single pump running and controlling the system. Once you have that working, duplicate the logic for a second pump. Then figure out how you will detect when the one pump isn't getting the job done and how you can use that information to start the second pump.

The overall task can look overwhelming, so break it into smaller pieces that aren't as complex.
 
Is this the first pump control project ? Seems very complicated. Have you done a basic system with one pump; ON at low level switch made and OFF at high level switch made ? I don't see where you can't have multiple low level and multiple high level switches to control whether one or more pumps need to run. Start with a very basic system, and increase the functions in steps toward the full system. At some points you may need to do a re-write to upgrade a function, e.g. to change from float switches to an analogue level sensor.
 
Depending on your choice, what are you going to need for PLC outputs?
What are you going to use to sense that a pump is running?
Steve, he said that:

Right now I'm using TLP Logix Pro Simulator at home, . . .
That means that all inputs will be simulated with simulated switches, and the outputs are lights in the LogixPro simulation software.


I remember that this problem with the 5-pump rotation has been featured here before. I will search and see if I can find the old solutions. There are several approaches - the instruction hints at using FIFOs and sequencers, but ther are simpler (but longer) methods using counters.

Here are a few old thread pertaining to pump sequence student problems:

http://www.plctalk.net/qanda/showthread.php?t=17054&highlight=pumps&page=2

http://www.plctalk.net/qanda/showthread.php?t=42452&highlight=pumps&page=2

http://www.plctalk.net/qanda/showthread.php?t=80637&highlight=pumps

http://www.plctalk.net/qanda/showthread.php?t=71864&highlight=pumps
 
Last edited:
You Guys Are Great

Thanks a boat load guys. I'm at work right now, but wasn't expecting so many replies so quickly. I'll go over the info as soon as I can take a moment to look the links over. I cannot tell you how awesome this help is. To answer the question about if this was my first pump control project. Yes and now. Its really my first anything with sequencing outputs. I took beginner PLC summer semester, and I'm in PLC-I right now. I was too thinking this project really is stretching my whole classes capabilities. Later guys.
 
I was too thinking this project really is stretching my whole classes capabilities.
It would stretch anyone's capabilities because the instructions are so vague and poorly worded. No clear objective is ever stated, "here are some design considerations for you to keep in mind when writing the pump sequencer for your PLC".

1. Vaguely you are supposed to simulate a pump control panel using either the LogixPro simulator software or your class MicroLogix 1200 PLC. A program for one will not run on the other due to the different Input and Output addresses.

2. You are supposed to use a FIFO, or wait!--- maybe a SQL and SQO sequencer instructions!

3. You have a Low Level Switch and a High Level Switch, but you are not told the relative locations of these switches, if they filling a tank or pressuriizing a pipe, or instead draining a tank or pipeline. (You can assume that you are filling something UP because the pumps cut off at high level).

4. You might have an analog input -- or might not if you use LogixPro which has no simulated analog inputs. (The best you could do there would be to poorly simulate an analog input using a Counter).

5. Also, throw in a Hand-Off-Auto switch, retentive instructions to handle a power failure, and the kitchen sink to top it off.

What a jumbled mess. Such garbage instructions are likely to result in garbage out.
 
Last edited:
Pretty hard for beginners I would think. The description does not worry me - have worked with far worse. I would not use a FIFO to be honest but simple latching logic - toggles if you will - to select the sequence.
The instructor appears to have missed if a pump fails from an overload trip, loss of flow and the like when running and starting the spare pump.
Sequential starting is common - sequential stopping is also common as the tank approaches full level.
 
More Detail Emerging

Once again i cannot tell you guys how thankful i am for this help. I'm starting to feel a little better about this project. It seems the instructor dumped it on us, and let it stew over the weekend. Last night he sat us down and dropped a few details, then let us go at it some more. Probably Wednesday night he'll drop a few more hints, and turn us loose again. We discussed things with him in the center of the room, and now i know what his method is. He want you to fail on your own to learn how not to do it, or maybe you'll figure it out on your own, and you'll retain it better. He always preaches retention. Retention is your most priceless skill. Remember it tomorrow or 20 years down the road.

Here are some things I gathered from the Q&A. This will be a huge tank that will only have a pressure switch that is normally closed, but held open. When it closes, 4 pumps will come on in sequence. When it opens again, all four pumps will shut off in the same sequence. The switch has a large differential setting, so it takes a lot of pressure to open, but it will take a great loss of pressure to allow it to close. This switch will be easily simulated by holding in an input button. He said we might use (and these things were just introduced to us last night) an SQO, an SQL, an SQC and he might have said something about a FIFO. Don't have my notes right here, so I'm not 100% on the FIFO. Bottom line was getting to the final destination no matter which road you took to get there. Oh.... and let's just say the Micrologix 1200. That's the one that counts. The simulator is just something I bought to have at the house to learn on.

So far, last night I got a SQO to make 4 pumps come on while holding the input, then went off in the same order when I released the input. And that's it.
Another question here..... I cannot open the zip file that area attached to some of the posts. Any advice?
 
Last edited:
Interesting, I would normally use a reversible shift register for this rather than an FIFO. Have been using them forever for this type of control.
As they say, there are many ways to kill a cat.
 
He want you to fail on your own to learn how not to do it, or maybe you'll figure it out on your own, and you'll retain it better.
What a sorry teacher! I agree there is no way you can solve his stated problem, simply because it is too vague, and he is changing the parameters. Last time he said the pumps are controlled by High and Low Level switches, but now it is a theoretical pressure switch. When the rules change in the middle of the process, you can never solve the problem.

I still don't see how the combination of a sequencer (SQL and SQO) AND a FIFO (FFL and FFU) can be used efficiently with all the other restrictions. It will be interesting to see what this instructor comes up with. I gather that his knowledge comes out of books and not from hands-on experience.

As they say, there are many ways to kill a cat.
Bob, some of those ways just make the cat fighting mad.

Bottom line was getting to the final destination no matter which road you took to get there.
Yes, the goal always is to get to the final destination, but in this case what IS the final destination. Is the goal to empty the tank, or simply to "run 4 pumps in sequence, with a 5th spare, and alternate the lead pump"?

Maybe the goal really is to write a program that demonstrates the use of sequencers, FIFOs, HOAs, first-scan bits, hysterisis, detecting pump running, detecting pump failure (ignoring a lack of similarity to a real-life pump controller)?
 
Last edited:
So far, last night I got a SQO to make 4 pumps come on while holding the input, then went off in the same order when I released the input. And that's it.

Please print out your LogixPro program to a PDF file (print methods in LogixPro is to use a print-to-file program such as CutePDFWriter, or "File, Save Rungs as Picture", then print the picture to a PDF file), and post it here. I will try to review it for you and make suggestions. When complete, you can easily covert it to a MicroLogix 1200 program.
Another question here..... I cannot open the zip file that are attached to some of the posts. Any advice?
To open a ZIP, you will first need to have your computer set to either use the built-in file compression/decompression routine, or to use an external program such as WinZip. That will allow you to access the ZIPped files. Then to actually use what is inside the ZIPped file (in cases of a PLC program), you need the PLC software also. For LogixPro, I have noticed that sometimes it is necessary to Unzip, then save the RSL file to my hard drive, in order to get the LogixPro software to open the program.
 
Last edited:
"run 4 pumps in sequence, with a 5th spare, and alternate the lead pump"?

Yes. That is the idea. I'm assuming the tank will be getting emptied by some other source. These pumps are used to refill it. If one pump is removed by the HOA it will just cycle the remaining 4.

"I gather that his knowledge comes out of books and not from hands-on experience."

He was actually trained in the Navy many years ago, and then spent 27 years woring in the paper industry as an E&I tech, and PLC programmer. Seriously I'm must be completely misrepresenting this man. He truly is brilliant at this PLC stuff. I apologize if I've made him out to be a dip stick. Not my intentions.

I'll work on that zip file tonight. Being gone from the house 18 hours a day every day doesn't leave a lot of spare time. Thanks guys for the tolerance.
 
Maybe he is giving you plenty of freedom to test your ability to think (or search).

I'm assuming the tank will be getting emptied by some other source.
I don't think you are safe to assume that anything in this problem is done by some other source. Remember the hints given in the last paragraph:
"When you design a PLC-based pump controller, you have complete control over what the controller will do. This means that you have to be sure you've thought out the entire functionality you want the controller to have. It is too late when you start the pump station up and pumps go on and off when you don't want them to."

I bet that you have to simulate the tank emptying out in your program also. You could develop a DRAIN subroutine, or when the tanks gets full, simply reset the level (now pressure) switch back to LOW. Remember also that he said that you have to account for time - in other words do not assume that things happen instantly - use timers to set and wait reasonable times for each action. These times can be really short (but not 0) because it is a simulation, not the real thing.
 
Last edited:
alternate 3 pumps

Hi guys,
I'm currently a PLC student in my 40's. I just started going to a local tech school, and really am kinda slipping in the mud trying to get my old gray matter wrapped around all this. My instructor seems to enjoy dumping projects on us that we are ill prepared for, and seeing where the pieces fall. He takes a sink or swim approach. He handed out a project the other day that I know just enough about to know that I don't know much about it. Especially where to start. He does, however, highly recommend that we use every resource we can get our hands on to learn, and accomplish the project. The internet is a resource. Right? Probably the single greatest resource ever! With all this in mind, I'm not asking anyone to do my homework. I'm simply asking for guidance, and education. Point me in the right direction, and I'll learn as I see the different components come together and function. Below will be word for word what the project asks us to accomplish. Thanks in advance for any and all input. Right now I'm using TLP Logix Pro Simulator at home, but I use MicroLogix 1200 at school.

-----------------------------------------------------------------​




Pump Control with a PLC​

PLC LAB​

Engineers and technicians are now designing their own pump station controls, using a PLC and assorted sensors with other inputs, instead of buying one preconfigured and preprogrammed. This "do-it-yourself" method of pump station control gives you exactly the type of control you need and want, and you aren't forced to buy something that almost fits. There are a number of things you have to remember to include in the PLC programming.​

So, here are some design considerations for you to keep in mind when writing the pump sequencer for your PLC. Let's say you have five pumps. Four will be in the sequence; one will be on standby. A good way to equalize wear on these pumps is to have the sequence alternate. First you should set it up so that the first pump to come on is the first pump to go off (FIFO) as demand drops. So, the first sequence is 1-2-3-4 on and then 1-2-3-4 off. But adding in alternation, the next sequence should be 2-3-4-5 on and then 2-3-4-5 off. The next would be 3-4-5-1 on and then 3-4-5-1 off, and so on. Sometimes, you may want to base your alternation scheme on pump run time, instead of FIFO, or in addition to FIFO. This complicates the programming because now you also have to take into account which pumps have been running the longest. You should also establish a hysteresis, so that your pumps are not bumping on and off. Pumps go on at low level and go off at high level. Your logic should keep them off until low level is reached again. If you have an analog input (flow or level) to the controller, you can begin to deselect pumps as you approach high level, and begin to call pumps on as you approach low level. You need to be able to sense the "pump running" condition. There are lots of ways to do this, and they all take time. Flow, pressure, current, shaft rotation, all have been used to sense pump run. Remember to program in the necessary time lag to have the pump come on line and up to speed before calling "pump fail".​

I suggest that it is also very useful to add a contact to the H-O-A switch "auto" position so that the PLC can tell when the pump is not ready to be called. A pump can be out of service for maintenance, or it can have previously failed. Pulling in this contact moves the pump out of the alternation scheme until the contact breaks again. This is all part of working out the pump fail logic, which, of course, an old-fashioned pump controller did automatically for you out of the box.​

Finally, I warn, don't forget to take into account pump/control operation in the event of a power fail, program restart and/or level sensor fail. You probably don't want all your pumps to start at the same time on power up, or when the level signal goes to zero. When you design a PLC-based pump controller, you have complete control over what the controller will do. This means that you have to be sure you've thought out the entire functionality you want the controller to have. It is too late when you start the pump station up and pumps go on and off when you don't want them to.​

-----------------------------------------------------------------​

How's that for a relative beginner?



good night friend, would you charge how much to translate a clp programming from onron (cx one) to simatic 7 (tia portal v15 from siemens?
there are 17 pages with two columns of ladder programming in cx-one.grato
 

Similar Topics

I'm looking for a solution to a problem we are having in our water treatment system. We add a lime slurry to the water prior to it going through...
Replies
29
Views
10,956
hello, i am a entry level student studying plcs. i was wondering if anyone could help me with a problem. i need to control 2 pumps. using a...
Replies
2
Views
3,634
P
My problem is that i want to control water level in a over head tank using a plc .that means to switch off the pump when the tank fills and to...
Replies
8
Views
8,121
Hi everyone, I am a newbie and I have trouble in the control sequence. I have a system with 4 pumps. The required: Ex: Push a button to start in...
Replies
21
Views
2,704
Hi there, We have a system at a water treatment plant where large raw water tanks feed into the plant that's all on the same level. At high tank...
Replies
18
Views
3,639
Back
Top Bottom