Level Control with Constant Outlet Flow Requirement


Thread Starter


There is a buffer tank, which is continuously fed into. There is no knowledge about the inlet flow, but it is supposed to be steady. One of the requirements is to keep the level in the tank at a defined setpoint, using a variable speed pump on the outlet of the tank.

Another requirement is to keep the outlet flow steady, +/-10 % is the maximum fluctuation accepted.

The solution I found is to use a cascade control, having the level as the master, and the flow as the slave loop. Like this I will have the level controlled. By limiting the max output of the master PID to flowSP + 10% and the min output of the master PID to flow SP - 10%. By having a set of parameters for the flow PID which is slow enough(without overshoot), I will have also the second requirement fulfilled.

However, I am wondering if there is another/better solution to this problem. because this isn't really a cascade control, as the primary variable in the end is the flow, and not the level.

I am aware of the fact, that if the flowSP doesn't match the inlet flow rate, the buffer tank will fill up. but for the moment this situation is ignored, only short period disturbances of the inlet flow have to be covered by the control strategy.
When using a surge vessel the solutions I am aware of are what you are doing or have level control but de-tune the controller so that it responds relatively slowly.

No matter what you ultimately have to control the level in the tank so a slow acting level controller is the best way to keep flow from changing rapidly at the outlet of the tank.
When you mention that flow must not fluctuate more than 10%. shouldn't there be a rate somewhere? 10% over what time?

Say it was 10% over any 30 minute period.

Then couldn't you have a Level set point control the pump VFD, but also measure the flow in a local loop? and the moment it hits that 10% threshold clamp it there and slowly relax the clamping ceiling as time progresses beyond 30 minutes?
What I mean by +/- 10%, is that if the flow setpoint is 400 g/min, then the maximum flowrate what is allowed(from quality point of view) is 440 g/min, and the minimum is 360 g/min. It might change, that not +/-10%, but +/- 20 g/min. However, this doesn't change the control strategy.

I also thought about the solution to have only level control, and to limit the output of the PID exactly when the flow reaches the SP +/-10%, and release the limitation once the flow is for ex. in between SP +/-6%, but like this I have the feeling that I will have a worse control than the cascade solution.