Aafaq

Alternating Pump Control

2 posts in this topic

Newbie in the field of Automation here!

I have a waste water project that requires operating 6 pumps to empty a sump. The water level in the sump is being monitored by an analog ultrasonic sensor. The analog range is divided into 5 levels; level 1 being the lowest and level 5 being the highest. The way the pumps operate is analogous to the water level, i.e., 5 pumps will run at level 5, 4 pumps will run at level 4, 3 at level 3, 2 at level 2, and only 1 pump will run at level 1. The sixth pump is used to run the pumps sequentially and that's where I need help.

Basically, the pumps can not be assigned to a certain water level as this would result in the pumps at the lower level run way more as compared to the pumps assigned to higher levels. The pumps need to alternate so as to keep the running hours of each comparable.

Another requirement is that say if pump 1 turns on due to water level rise and then turns off due to water level fall, and again if the water level rises, then the next pump should start instead of pump 1, and so on for the rest of the pumps. Also, if one pump goes on some kind of fault, the 6th pump comes in and runs in its stead until the fault is reset.

I'm trying to come up with a ladder program to make all this happen but hoped that I could find some help online. I feel like this is a common project and there should be someone that can give me the proper solution.

With thanks,
Aafaq.

Share this post


Link to post
Share on other sites

Before I post about the logic you're seeking, I want to elaborate on the pros and cons of your approach.  

A. In your approach the operating time of all pumps is kept close to uniform, meaning they'll all need their 500 hour rebuild at the same time, they'll all fail at the same relative time.  If you have scheduled down periods and can perform all maintenance at once and tolerate the purchase of 6 replacement pump/motor units when they do start to fail.  This is an ok approach.

B. If you use the approach where pump 1 is run more often and so forth and pump 6 is kept in reserve, being run only one time a week to ensure it's ready to go.  Then when pump 1 fails or needs it's 500 hour maintenance you cycle in pump 6 and declare pump 1 to be the spare.  This spreads your maintenance and replacement costs out over time and leaves you an always running system.

Now on to one possible logical solution:

1. Assuming your Ladder Logic supports FIFO Array build an array and load locations 1-6 with the numbers 1-6.

2. When water level enters zone 1 pull array item 1 and whatever it's value {1-6} start that pump.

3. When water level is below zone 1 {off region} Unload the FIFO of one number and reload that into the FIFO.

SO IT LOOKS LIKE THIS TO BEGIN

ARRAY[1] =  1

ARRAY[2] = 2

ARRAY[3] = 3

ARRAY[4] = 4

ARRAY[5] = 5

ARRAY[6] = 6

Then when water enters zone 1 we start pump ARRAY[1] or pump 1

Water keeps climbing and enters zone 2 so we start ARRAY[2] or pump 2

Water then drops down and all pumps are off.

We FIFO UNLOAD and ten FIFO LOAD so now the array looks like

ARRAY[1] =  2

ARRAY[2] = 3

ARRAY[3] = 4

ARRAY[4] = 5

ARRAY[5] = 6

ARRAY[6] = 1

Then when water enters zone 1 we start pump ARRAY[1] or pump 2

Water keeps climbing and enters zone 2 so we start ARRAY[2] or pump 3

Water keeps climbing and enters zone 3 so we start ARRAY[3] or pump 4

Water then drops down and all pumps are off.

Repeat the FIFO UNLOAD and LOAD.  

This won't be perfectly equal but will come close to what you're looking for.

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