Pumps Lead/Lag Control

elmatador

Member
Join Date
May 2008
Location
Canada
Posts
108
I have seen some discussions on Pumps Lead/Lag control before. However, I am a novice progammer and am a bit confused. I have to program three pumps such that all three pumps can operate at the same time, or just one pump or two pumps, based on a Tank's Liquid Start and Stop levels.

Say if Pump1 is selected as LEAD, and Pump2 and Pump3 is selected as LAG. The lead pump would kick in immediately, but when would the lag pumps kick in? I guess I am not understanding what Lead and Lag actually means. Does lag actually just mean standby? Or would a lag pump kick in if the discharge pressure is not being met by a single pump?

I know some of my questions above really depends on the client's control philosophy but they are unclear about this aspect. If someone could please explain how lead/lag pumps normally operate that would be great.

Really look forward to hearing responses
 
elmatador said:
I have seen some discussions on Pumps Lead/Lag control before. However, I am a novice progammer and am a bit confused. I have to program three pumps such that all three pumps can operate at the same time, or just one pump or two pumps, based on a Tank's Liquid Start and Stop levels.

Say if Pump1 is selected as LEAD, and Pump2 and Pump3 is selected as LAG. The lead pump would kick in immediately, but when would the lag pumps kick in? I guess I am not understanding what Lead and Lag actually means. Does lag actually just mean standby? Or would a lag pump kick in if the discharge pressure is not being met by a single pump?

I know some of my questions above really depends on the client's control philosophy but they are unclear about this aspect. If someone could please explain how lead/lag pumps normally operate that would be great.

Really look forward to hearing responses

Yes, the Lead pump typically would be the first to start. The lag pumps are started later. In my experience, there are usually multiple setpoints: Lead Pump start, Lag Pump1 start, Lag Pump2 start, etc. I have programmed some lag pumps to start based on time as well. If the lead pump can't keep up, the lag pump will start after a time delay.

Selecting the Lead pump can be manual or automatic, depending on what the customer wants. For automatic (unattended) operation I usually program an alternating circuit to designate Pump1, Pump2, or Pump3 as the lead so runtime is distributed. When the Lead Pump shuts off, then the next pump is designated as lead.
 
You mentioned "tank level" AND "discharge pressure". Typical systems I have been exposed to, either use one or the other to determine the number of pumps required.

Assuming "tank level" is what you're trying to regulate:

The SIMPLEST way would be to use 3 floats in the tank.... each float would start the associated pump. This would work with either a pump-up or pump-down situation by reversing the pump to float order. If you're trying to FILL a tank, the highest float would start the first or "lead" pump. The middle float would start the first lag, and the bottom float would start the second lag. If you're trying to EMPTY a tank, the bottom float would start the lead, the middle float would start the first lag, and the top float would start the second lag.

If you wish to "auto alternate" the lead pump, it's not that much more difficult. You would write your logic so that each of the 3 floats would start a "virtual pump". A counter that counts to 2 and then resets (0, 1, 2, 0, 1, 2) will give you your 3 possibilities. Each time all pumps are off, or x time has passed, increment your counter by 1. Your VIRTUAL pump equals the highest (or lowest) active float, as described above. Your ACTUAL lead equals the counter (+1 if you want to convert to pump 1, 2, & 3.) Your lag pumps can be handled with math or a table, your choice.

For example:

counter = 0 1-2-3
counter = 1 2-3-1
counter = 2 3-1-2

There have ALSO been several discussions on this forum on WHETHER to auto alternate pumps and why you should or should not. Try doing a search.

Regards,

Stationmaster
 
Thank you gentlemen for answering my questions. Your suggestions have made things a lot simpler for me to understand. My client does not require the auto-alternate feature, so it should be pretty straight forward programming the lead, lag1, lag2 pumps based on Tank Level. Mostly they will be only using a maximum of two pumps at any given time. The third one is to be run when they wish to perform maintainence on the other ones.

Thank you StationMaster for the addtional information on how to go about programming the logic.

I really appreciate you folks helping people out on this website. I hope to reach that level one day so i could help out as well.

Thanks again.
 
Another approach to this problem with multiple pumps and a single tank level setpoint is to impliment cascading control which is actualy better than lead lag control for the purpose stated.

In Cascading control you set a cascading order by pump number, then increment the cascading order (which pump is on) as long as the setpoint can't be reached. Reverse cascading order is used to return to the first unit in the casdcading order. PID is also implimented to the individual pumps, assuming you are using variable speed pumps. We have used this approach with complex compressor control before and it works great.
 
This is an old thread, but there is always time for a new idea. Please provide an example because I do not understand how your cascading control is different from the lead-lag method. The lead-lag method has been expanded to use any number of pumps or other motors, with provisions for taking certain motor numbers out of service for maintenance. How is cascading control different from that? Please explain.
 
cascade or PID may not be what you want

those are used when you want to maintain a level or pressure setpoint. If this is something like a sewage pumping station or water reservoir, it's been my experience that you want to start a pump when you get to certain level (in the sewage example) to empty the wet well, and then if the level keeps rising (in the case of a wet weather event), you start another pump. The pumps then continue to run until a stop level is reached. Then the whole cycle starts over again. It's not necessary to keep the pumps running to maintain a low level as with PID. If the pumps are VFDs I have usually put in linear scaling function so that as the level rises the pump speeds up.
 
1. First, determine the brand and version of the programming software that you will be using.

2. Determine the brand and model number or catalog number of the PLC that you will be programming.

(PLCs are not all the same, and a program that I might write probably will not work for your PLC.)

3. Describe your inputs in detail. Do you have level sensors inside tanks? Do you have pressure sensors on a pipeline? In other words, what type of physical devices will determine when each pump starts? What will determine when each pump stops? What is a "seal-in ring"? Do you mean a seal-in contact to keep each pump running until its stop condition occurs?

If you cannot answer the above 3 questions, then I have to assume that this is a student homework problem. In that case, post your original homework problem in a JPG picture file, or a PDF-type print-out.
 
Last edited:
I am working with an Allen Bradley Micrologix 1100 Programmable Controller.
Great, I assume that you mean to use some version of Allen Bradley RSLogix to write your program. I can help you with that.

Now what about Item 3? What type of sensors do your pumps have, or
what type of sensors do you have in the lab available to use, or
what type has been covered in class?
 
Last edited:
Right now, with inadequate infromation from you about how the pumps are supposed to work, your program would look like the attached picture. We know you have 3 pumps. We know that they run "5 seconds apart", so a timer is involved. We do not know if each pump is to run 5 seconds, then wait 5 seconds before the next pump, or not! We do not know if there is some other controls (Start and Stop Pushbuttons are highly recommended). We do not know what is being pumped. We do not know if we are pumping a liquid into a tank or out of a tank or into a pipeline or out of a pipeline. We do not know if there are level switches or pressure switches.

Waiting on your response....

RonaldMerrit's 3-Pump Control Program.jpg
 
Last edited:
Okay, now we are getting down to brass tacks. What else do you know about it? Do you have any ideas about how this program should work? If so, please tell me.

RonaldMerrit's 3-Pump Control Program R1.jpg
 
Last edited:
I'm very I never had someone to get back to me so quitley.
here it is!
a. Press start , turn on power ON indicator, seal-in rung, and immediately start. pump 1

b.Five second later start pump 2

c.five second later start pump 3

d.When stop switch is pressed, turn off all pumps

cosist of stop I:1/0 start I:1/1, Power ON o:2/0

Pump I o:2/1, Pump 2 o:2/2, pump 3 o:2/3
b.
 

Similar Topics

I have two pumps that are on VFD's, supplying water. Each runs with identical speed setpoints up to 50%. Above 50% the lead pump will take on...
Replies
20
Views
6,043
Hello!! I am trying to create a AOI to perform lead lag pumping operations based on run time. I do have 8 pumps out of which 6 are duty and 2...
Replies
6
Views
2,616
Greetings! I am currently working on an intuitive AOI to perform lead lag pumping operations based on run time. The concept is to...
Replies
7
Views
6,940
Hi guys, I'm working on controlling two pumps with a single PID loop. I've been doing searches in the forum and with Google so I have the...
Replies
12
Views
6,982
I need to create a system of 2 alternating pumps in ladder logic. I am using RSLogix 5000 2 pumps controlled in 3 modes (OFF, Manual and Auto)...
Replies
46
Views
26,767
Back
Top Bottom