JRoss

Control Multiple Pumps for Total Flow

3 posts in this topic

I'm working on a waste water application where I need to control three pumps with outputs attached to a single header, and maintain a flow at the output of the header. Attached is my napkin sketch of the system. Generally, only pumps 1 and 3 are used, with pump 2 as a backup. Right now, they run in manual only, setting both pumps to the same speed to maintain the correct flow at the output of the common header. I'm doing the programming to add the automatic function. I have the four flowmeters as analog inputs. At this time, the valves are all manually actuated, but a later phase of the project will automate the valves, and allow the backup pump to come online if either of the main pumps fails. My question is how to handle the PID. Should I do a single PID using Flowmeter 4 as the PV, and run both active pumps at the same speed, similar to the current manual process? Or should I give each pump its own PID off its own flowmeter, then use a master PID off Flowmeter 4 to control the setpoint of the active pumps? I'm inclined to go with the simple approach, but am open to suggestions from the forum. Thanks,
1 person likes this

Share this post


Link to post
Share on other sites
There are roughly 3 ways to do this. 1. Allow the operator to set up everything. Each pump has an individual control where the operator can start/stop it and put it into manual (and select the output rate) or automatic where it tracks a set point. This works very well and I try to always allow this as an option regardless of any other case. 2. Run one outer PID loop. The outer PID generates an output signal. The set point is the operator set point. The input is the numerical sum of the flow meters and the output goes "nowhere". Then each individual pump has a PID loop, called an "inner PID". The set points for these PID's are the outer loop output, while the feedback is their individual flow meters, and the output drives the pump valve. All pumps run all the time. This approach is probably the simplest and uses all pumps together but it is horrendously inefficient because regardless of whether you use valves or drives, pumps run most efficiently at or near to 100% output. Usually the outer loop is tuned to operate significantly slower than the inner loops because otherwise the inner and outer loops can interact with each other, causing the valves to oscillate. 3. Similar to option 2, except that the "outer loop" in this case is a set of logic that decides how many pumps are required to run. All pumps except 1 or 2 are run at 100% output. The last 1 or 2 pumps operate on a PID loop as described above in case 1. At first it seems like you could run with just 1 pump on variable speed control but this is not the cases. In the case where the system is operating very near to 0% or 100% output on the variable pump, it will constantly switch between "full output" and turning on one more pump running at a very low output. The solution is to recognize that whenever the set point is close to this point, bring a second pump online. Whenever you operate with case #2, deciding which pump to stop or start can get confusing. The simplest approach is to simply stage pumps in a set order. One or two pumps are always the variable speed pumps and all others are always either running at full output or shut down. In fact when operated this way, you don't even need variable control valves (simple butterfly valves or even check valves will do). There is one issue with running this way. Some of the pumps will hardly ever run while others see all the wear. Some maintenance folks see this as an advantage while others prefer a "wear levelling" approach. The way to do this is to set up the pumps in a "rotation" so that the last pump to be started is the first to be shut down, and the next to be started is the last one shut down.

Share this post


Link to post
Share on other sites
On 22/12/2010 at 7:49 AM, paulengr said:

There are roughly 3 ways to do this. 1. Allow the operator to set up everything. Each pump has an individual control where the operator can start/stop it and put it into manual (and select the output rate) or automatic where it tracks a set point. This works very well and I try to always allow this as an option regardless of any other case. 2. Run one outer PID loop. The outer PID generates an output signal. The set point is the operator set point. The input is the numerical sum of the flow meters and the output goes "nowhere". Then each individual pump has a PID loop, called an "inner PID". The set points for these PID's are the outer loop output, while the feedback is their individual flow meters, and the output drives the pump valve. All pumps run all the time. This approach is probably the simplest and uses all pumps together but it is horrendously inefficient because regardless of whether you use valves or drives, pumps run most efficiently at or near to 100% output. Usually the outer loop is tuned to operate significantly slower than the inner loops because otherwise the inner and outer loops can interact with each other, causing the valves to oscillate. 3. Similar to option 2, except that the "outer loop" in this case is a set of logic that decides how many pumps are required to run. All pumps except 1 or 2 are run at 100% output. The last 1 or 2 pumps operate on a PID loop as described above in case 1. At first it seems like you could run with just 1 pump on variable speed control but this is not the cases. In the case where the system is operating very near to 0% or 100% output on the variable pump, it will constantly switch between "full output" and turning on one more pump running at a very low output. The solution is to recognize that whenever the set point is close to this point, bring a second pump online. Whenever you operate with case #2, deciding which pump to stop or start can get confusing. The simplest approach is to simply stage pumps in a set order. One or two pumps are always the variable speed pumps and all others are always either running at full output or shut down. In fact when operated this way, you don't even need variable control valves (simple butterfly valves or even check valves will do). There is one issue with running this way. Some of the pumps will hardly ever run while others see all the wear. Some maintenance folks see this as an advantage while others prefer a "wear levelling" approach. The way to do this is to set up the pumps in a "rotation" so that the last pump to be started is the first to be shut down, and the next to be started is the last one shut down.

Did you have any example backup ?

I am looking for the same logic...

https://forums.mrplc.com/index.php?/topic/39099-standard-pumping-station-logic/

1 person likes this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now