Multi-Tank leveling(flow control) with PLC5

KNeland

Member
Join Date
May 2010
Location
Boise, Idaho
Posts
87
I was just presented with an application requiring control of two separate valves, each controlling individual flows into 2(or 2 sets of 2) tanks.
The Idea is to keep both of the tanks filling equally, out of one pipe. The flow pipe splits in a Y and there is a valve at each branch controlling flow into the separate tanks. I want the valves to fail open, so really it will be a matter of restricting flow into whichever tank is holding more juice, allowing the other tank to catch up(as it's valve by default will be full open).
I will be using PLC5's, and currently I am mulling over some PID possibilities. Truth is, I have very little experience under my belt, and haven't faced this kind of task up until now. Both valves have 4-20ma positioners which I'll be feeding from an analog card in the PLC5. The whole contraption isn't in place just yet, so I am not sure how I'll be seeing levels, or if we have space on an input card to get feedback from the valves.

Any Ideas in this area would be very welcome.

Thanks,

Kyle
 
If you want to do a smooth control (analog with PID) on the OUTPUT to the valves, you'll HAVE to have analog INPUTS re: the levels of the two tanks.

Otherwise, you only know which tank is higher (minimum requirement) and then just close, or partly close, the fill valve for THAT tank.

If NOT having analog input info is a possible REAL limitation, the only device that springs to mind would be an extremely sensitive "differential pressure switch". I can imagine two of them, set up in such a way that if one is "made" it imparts the information that one tank is higher, and if the other is "made", the system knows the other tank is higher.

Anyway, find out if you're going to be able to have analog inputs... and get back to us...

Stationmaster
 
The Idea is to keep both of the tanks filling equally, out of one pipe.
Kyle,

Is the overall goal to fill both tanks as quickly as possible? If so, the simplest control is level switches in the tanks that show "full", and open/closed valves on each leg of the "Y". Tank not full = valve open. When one tank gets full, the other then will get the full flow and finish filling faster, so the overall time to "fill both tanks" should be about the same as if you filled them proportionaly.

However if there is some reason that they must be filled at the same rate, then you are back to needing analog level signals from each tank and proportional control valves.

[EDIT: Hey Steve, how are things in Florida? It has been raining here and finally we have temperatures below 90 degrees. I can go outside again!]
 
Oh yes....there are inputs

There are already level sensors in place on both the tanks, reading to other addresses, so that is no problem. Zero output on either valve will equal wide open. I am trying to think of a scheme to enter the difference between the two levels to poke a SP on the actuator of the more full tank.
 
Proportional valves as well

The need is to have maximum flow totally, to avoid backpressure...That means both fully open as much as possible, however, for reasons unclear to me at the moment, I am tasked to keep the tanks filling at roughly the same level (within a deadband of ..say...10%)...meaning if one is 25% full and the other 34% full they both remain full open, but as that higher tank hits 35%...it's valve starts to choke off the flow a bit, allowing the other tank to catch up.
Both flow controlled by Triac sanitary ball valves, with electro-pneumatic actuators.
 
Your goals seem to conflict: If you want maximum flow totally, then just open both valves to 100%. If the level must be maintained to be the same in both tanks, that is a different goal. Are the tanks the same size (same volume in gallons or liters)?

Okay, if the goal is to keep the tanks at the same level: There are numerous schemes to get them to the same level and keep them there as they fill:
(1) Inhibit fullest tank to 0% fill, open other one up to 100%, so that lowest tank is filled to the same level, then open both valves to 100% to bring both to full.

(2) Calculate the difference between Full and Present Level for each tank, then (based on maximum flow rate available and the volume of each tank) calculate a flow rate for each tank to bring it to full at same time as other tank. Instead of a set point for tank level, you will need a PID calibrated to accept Flow Rate as input variable.

For method 2, what you will end up with is a "per cent open" setting for each valve. The sum of the per cent open settings will add up to 100% of the available flow rate. In other words, the units of flow rate are going to drop out of the equations. So you probably can just figure the "% open" for each tank like this:

100% - current tank % full level = valve % open setting.

For example, if each tank holds 100 gallon, and if Tank 1 is 75% full, and Tank 2 is 25% full, then:

Tank 1 valve % open setting = 100-75 = 25%
Tank 2 valve % open setting = 100-25 = 75%

Tank 2 has to fill 75 gallons but Tank 1 only 25 gallons, so Tank 2 must fill 3 times (75% open) as fast as Tank 1 (25% open). The problem is that the % open of a valve is not exactly linear with flow rate, but it should get you within 10% accuracy.
 
Last edited:
No Flow rate available

The flow coming out of the main pipe that branches will be variable and unknown, the key will be that other processes will draw unpredictably on either tank at irregular intervals, that is the reason for restricting flow on the more full tank....kind of spreading it around so to speak, so one tank doesn't overfill.
These really will be overflow holding tanks from our primary holding tanks that feed the next process down the line. The difference is that we just finished installing a new centrifuge, that will seriously increase throughput in a key bottleneck of the process. This will be our first experience using this combination. The decision was made to add more tanks to hold what is expected to be more product than can be finished further down the line due to equipment variables, but we want the front end to keep cooking along, because we are talking about fruit harvest, and time is of the essence.

My concern is that this all must be in place working by Friday, and the fabricator is still placing the lines....the valves are sitting on the ground waiting. Won't be much time to troubleshoot the performance...
 
Okay, go back and read my Method 2. Flow rate of input line is not needed, only "Percent Full" for each tank. Percent Full can be found from the analog level signal. Note that the calculation is made one time, and your control valves set at the relative Perecent Open settings, and held there until both tanks are full. This should get both tanks to the full level at same time. That is about as close as I can get to your conflicting goals.

Here is another way that might get you to full faster:

Set valve for lowest tank to 100% open.

Set valve % open for highest tank = % full of lowest/% full of highest

If Tank 1 = 33% full, Tank 2 = 66% full, then
Tank 1 valve = 100 % full open,
Tank 2 valve = 33/66 = 50% full open.

Tank 1 should fill 2 times as fast as Tank 2, so they arrive at the full level at about the same time.
 
Last edited:
Here’s something you might consider.

Say you’ve tank A and tank B with respective levels and valves.
Make a split-range PID with output as follows:
0% (A 100% open, B 0% Open), 25% (A 100% open, B 50% Open), 50% (A 100% open, B 100% Open),
75% (A 50% open, B 100% Open), 100% (A 0% open, B 100% Open)
The input to the PID is (level B – level A) with a range of -100 to 100, action is direct acting. Tune this with mostly proportional action and a very small reset value.
Nominally, you’ll want a setpoint of 0.
Let us know what happens
 
I would go.

Full flow to either tank.
if tank A is full then
close tank A valve
else if tank B is full then
close tank B valve
else f difference > deadband then
switch off respective valve.

And then the obvious else if's for the opening of the valves.
I suppose the above depends on the required accuracy of your system.

Then to make it a little more complex go.
deadband = original deadband Difference*(1 - (Timesince last change/time taken to fill deadband amount%))
 
Last edited:
I agree with Jamesau, split range valves are the way to go.
If the controller output is zero valve A will be Open, Valve B Closed
If the controller output is 100% valve A will be closed, Valve B Open
If the controller output is 50% both valves will be 50% Open
The PV will be Level A minus Level B (may need to divide by 2 to get span of 100)
The PID function will allow you to adjust the sensitivity by changing gain.

Actually with the controller output at 50% you could have it so both valves are 100% open, as it deviates from 50% one or other will close.
Both valves can have the same action, Fail open with fully closed at maximum signal you just need a separate output for each with one output inverted.
Have fun
Roy
 
Last edited:
Why not pipe the two tanks together at the bottom and let gravity do the work?

I was thinking the same thing. Especially so if you are in a time crunch and need to get on line this week. Make sure you put a valve in the cross connect to turn it off when needed and or you get the new fangled controls working OK.

Dan Bentler
 
I was thinking the same thing. Especially so if you are in a time crunch and need to get on line this week. Make sure you put a valve in the cross connect to turn it off when needed and or you get the new fangled controls working OK.

Dan Bentler

I agree this is going to be the simplest method. The only thing I would do is add a valve on the conecting line so you can isolate the 2 tanks if you need to.
 

Similar Topics

Hello, I had a question about benchmarking the Rockwell FactoryTalk View SE software. I've installed in the neighborhood of 30 different...
Replies
2
Views
273
Hello, I'm trying to test Acopos multi using Automation Studio. Ready LED is green blinking, how can i know what error of Acopos on Automation...
Replies
1
Views
123
Good Afternoon , I'm sure there are many Ishida Muti-Head Weigh Systems . We have a Ishida CCW-M-214W Multi-Head system . We are...
Replies
1
Views
518
Hi Guys, I'm trying to integrate Pilz Ethernet IP Module to ControlLogix. I added Pilz module as a Generic Ethernet module and I'm able to...
Replies
2
Views
508
Good Morning , We have a Ishida Multi-Head Scale . I had experiece with them for chips , crackers , etc. , but now we are using them for...
Replies
7
Views
453
Back
Top Bottom