How to Tune Level-Flow Cascade Loop to Remove Big Swing

Hello, 

I have a Level -Flow Cascade loop control liquid in a tank similar to this example here http://blog.opticontrols.com/wp-content/uploads/2010/03/Cascade-Control1.png

The level is controlling good at setpoint with minuum process variable swing, my problem is the flow valve swings a lot to control the level. The flow valve swings between 10-70 % valve output. 

This big swing causes process pressure swings upstream of the valve. These pressure swings causes other disturbance upstream.

Is there any way I can fine tune the level flow cascade loop so the flow valve swing is not very big? I was thinking of re-tuning the entire loops again, starting with the flow loop. 

Thank you kindly. 

6 Replies

  • This may not be (completely) the fault of your valve or any tuning. If, as you say, the level is controlling well, then the valve is doing its job. However, if the concern is that a large change in flow _rate_ is required to maintain the level control and that flow rate change is causing undesirable pressure swings, then the problem may be sizing of the valve and--potentially more importantly--the sizing of the piping.

    Level control is volume control. So if you want a smaller change in flow velocity, you need a larger area through which a smaller velocity change can have a larger volumetric flow rate change. The change in velocity is what causes the changes in pressure (that kinetic energy has to go somewhere when you put on the brakes). It could be that when the system was designed, the engineer chose the smallest piping and valve that would accomplish the required flow rates necessary to maintain the level in order to save on cost. However, they may not have considered the secondary effects having the smallest necessary components could bring. It is these sort of hidden / implicit requirements that can really hurt a project.

    If resizing the components is not a viable solution, you can mitigate the pressure effects by slowing the response time of the controls: either reduce gains or place rate limiters on the valve actuation. Before you do, first determine what pressure fluctuations _are_ acceptable (note: "Zero" is not a reasonable answer). Then find what is a minimally acceptable speed / precision for the level control. If the tank is large enough, you may find that the acceptable error may be a lot more loose of a requirement than what the system was built to. With those two numbers, you can find your maximum flow rate change to limit pressure fluctuations and the minimum rate change to maintain precise level control and determine the best compromise between the two. If you are unfortunate enough to find your max is less than your min, you're going to have to pick the least "evil" until you can upsize your components.
  • In reply to Jeffrey Mach:

    Thank you Jeffrey for the detailed response.

    I will discuss with process engineers about the piping size verification.

    Right now my task is to reduce the valve output swing. My level SP and PV can be off a bit.

    My flow control tuning is Gain 1 and Reset 8. I am thinking of decreasing Gain to 0.5 and increase reset to 20 or higher, to see if this limits the valve from swing so much and allows the level control to slow control.

    What are your thoughts on this approach?

    Thanks,
  • In reply to DCS Newbie:

    The systematic way to accomplish your goal is Lambda tuning. A slower (larger) Lambda will give less upset to the controlled flow. A good introduction to this topic is the 2013 paper by Coughran: www.controlglobal.com/.../
  • In reply to DCS Newbie:

    If the loop answer slower, the frequency of PV is reducing, but loop could become unstable by phase opposition if the FC loop is slower than LC loop
    If you have a flow measuring on the feed you can examine this to see if it is the main disturbance and you can use this signal as the feed-forward for LC loop

    All the Best,

    Ion
  • In reply to DCS Newbie:

    Short version: Start with reducing the Gain and see how it goes before you increase the Reset. Also, don't count out the valve as being the culprit.

    Long version:
    Using the terms "Gain" and "Reset", I'm going to assume you have dependent gains (Kp - proportional gain - is also applied to the other gains, as opposed to independent gain values for Proportional-Gain, Integral-Gain, etc.). If you cut your Gain in half, you will slow the immediate response to the error, but, by increasing the Reset to 20 (effectively 10, if your gains are dependent), you may end up causing larger swings, not smaller.

    One thing to investigate is whether the swings are caused by the inability of the valve to track the command, or whether the delay is in the process response to the control action. You can get more information on this by looking at a time trend of the SP, CV (control command), valve position, and PV. Since we're in the real world, there will always be some lag. The key here is to see whether the valve motion is tracking the CV or the PV; in other words: Is the lag caused by the valve response or the process response?

    One question I forgot to ask: Has the system ever worked well and is now working poorly? If you see the lag is in the valve, it may simply be a maintenance issue. I bet many Controls Engineers will admit privately that they were asked to "tune up a control loop" when the real problem was a sloppy, sticky valve, which, if repaired or replaced so that it worked like new, would allow the process to operate just fine with the original gain settings (that were set when the valve was new).

    If the lag is clearly in the process or you can't fix the valve, you have to resort to tuning, but know that Reset can cause oscillation. While the process is deviating from set-point, you will "wind up" the integral value of the control output as the error is integrated over time. When the process finally reacts to the valve's position change, the PV must swing past the SP to begin "winding down" the integral term of the command. The process lag can then cause it to continue to deviate for some time even after the integral term crosses zero and the valve begins going the other way, and resulting in wind-up in the other direction. If the Reset is too high, you can get get into an ugly feedback loop.

    If tuning is the answer I would recommend starting with reducing the Gain, which will reduce both Proportional and Integral gains and seeing how the process behaves. You may even want to try starting with the Gain where it is, and dropping the Reset out entirely to see if that kills your oscillation, or if you have to reduce your Gain further. Once you reduce the oscillation within acceptable limits, you can try bringing up the Reset until your steady-state error is acceptable.
  • Hello,

    I had similar problem and I used feedforward control with cascade control. Let ask some questions your current control loop is controlling level as required – yes. The outer loop is level control which generating setpoints for flow control and flow control loop is achieving that setpoint without any over/under shooting. Hence it is doing what it should. But control valve has to work hard to control the level and it is effecting on upstream.

    This problem is due to sudden change in tank level, hence more out flow. Can you have a flow control on tank in feed? If no then do you have the flow meter on the in feed? If yes then use a feedforward control with the level control. It will help to ramp up flow prier the level goes up. Flow will fluctuate but the percentage of fluctuation will drop.

    Try this and please let me know how is the loop control.