Lambda Tuning-Yeah or Neah?

I saw a recent ControlGlobal.com article by process control legend, Greg Shinskey, The Case Against Lambda Tuning. He writes:

In recent years, this practice of emulating model-based response using PID controllers has been simplified with the introduction of “Lambda” (λ) tuning, wherein λ represents the closed-loop time constant of the loop’s response to setpoint changes. Proponents suggest values for λ ranging from one to three times the dominant process lag. With λ = 1, setpoint response would be essentially the same as stepping the controller output in manual; higher values will only make it slower. When controlling flow, whose response time may be 5 seconds or thereabouts, this approach is reasonable.

I have addressed the use of Lambda tuning in several posts on this blog. I asked another process control legend, Control Talk Blog‘s Greg McMillan, for his thoughts on this article.

Lambda tuning allows you to specify a closed loop time constant (Lambda) for self-regulating processes and an arrest time for integrating processes. While Lambda may have originally started as 1 to 3 times the dominant process lag for self-regulating processes, Lambda today can be as small as one percent of this lag for well-mixed reactors. Also, the Lambda tuning rules have been considerably improved compared to the rules documented in Advanced Control Unleashed.

There are many uses of Lambda. The Lambda specification helps provide a consistent model for loops whose remote cascade setpoint is coming from model predictive control (MPC). The Lambda specification helps in the coordination of loops, particularly important for blend control. The Lambda specification helps to decrease interactions by reducing the transfer of variability from the process variable to the manipulated variability for the least important loop or by making the closed loop response of one loop 4x faster than the other loop.

For cascade control, the Lambda specification can make sure the secondary loop is 4x faster than the primary loop (cascade rule). Thus, Lambda is useful for achieving various process objectives beyond the view of just best disturbance rejection of a single loop.

For bioreactors, temperature and pH setpoint overshoot is critical due to extreme sensitivity of cell culture kinetics. Time to reach setpoint is less important and disturbance rejection is often a non-issue because biological disturbances are so slow. The batch time of 10 to 14 days give you an indication of the time frame.

For control loops on self-regulating processes where the process time constant is much larger than the process deadtime, setting the reset time equal to the process time constant by Lambda tuning rather than proportional to the process deadtime causes the reset time for Lambda tuning to be significantly larger. This slows the return to setpoint for unmeasured disturbances increasing the integrated error.

If you treat these large time constant processes as “near-integrators” since they look like a ramp in the frame for closed loop correction, the revised Lambda tuning equations for integrating processes provides a vastly improved reset time setting that is coordinated with the controller gain.

If you set Lambda equal to the total loop deadtime, the PID gain from the revised Lambda tuning rules for integrating and self-regulating processes is comparable to the controller gain used for maximum disturbance rejection. In fact, I have shown that all major tuning methods converge to the same expression for PID gain when the objective is maximum disturbance rejection.

The peak error will largely be the same since for large time constant and integrating processes the peak error mostly depends upon the controller gain. Finally, by using this higher PID gain with the revised integrator Lambda tuning rules, you end up with a much smaller reset time comparable to what is used for maximum disturbance rejection.

For self-regulating processes where the process time constant is comparable or less than the total loop deadtime, Lambda tuning rules where the reset time is set equal to the process time constant will provide a reset time that is smaller than what is suggested by disturbance rejection tuning. However, the controller gain being proportional to the reset time also decreases providing stability. Lambdas larger than the deadtime are used to prevent overly aggressive control.

Part of what goes on with tuning studies is gamesmanship where the focus is on metrics for step disturbances without significant consideration of disturbance lags, controller robustness, and application difficulties and objectives. The tuning settings for minimum integrated and peak error are rarely used. Most loops could benefit from better tuning but nonlinearities and unknowns cause one to be cautious. The setting of Lambda to meet application requirements has proven to be effective and flexible.

The main constraint is Lambda must not be less than the total loop deadtime or the response becomes oscillatory. The use of a Lambda factor (factor of process time constant) rather than Lambda (closed loop time constant) can confuse the issue for the wide variety of unit operations encountered in the process industry.

For example, to have a Lambda approaching the loop deadtime for a reactor temperature control loop, the Lambda factor might range from 0.01 to 0.05. For people accustomed to Lambda factors of 1 to 5, this two order of magnitude decrease in Lambda factor can seem strange and extreme.

The use of dynamic reset limiting (external-reset feedback) and velocity limits or filters on setpoints may accomplish many of the objectives achieved by Lambda tuning enabling the use of faster tuning designed for unmeasured disturbance rejection. Also, adaptive reset can help prevent overshoot and undershoot. These are my areas of investigation.

Do you have thoughts to share on the use of Lambda tuning for your PID control loops?

MP3 | iTunes

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

2 comments

Leave a Reply