Assessing Control Loop Performance
The basic measure of a control loop's performance is the error between the process variable and its setpoint. Zero error indicates the controller's corrective efforts have been successful in forcing the process variable to match the setpoint.However, size of the error at any given instant is not necessarily a good indication of how well the controller is performing.
The basic measure of a control loop's performance is the error between the process variable and its setpoint. Zero error indicates the controller's corrective efforts have been successful in forcing the process variable to match the setpoint.
However, size of the error at any given instant is not necessarily a good indication of how well the controller is performing. Some processes are naturally quiescent. Disturbances to the process variable and changes to the setpoint are uncommon in such cases, so the error remains zero for extended periods with little or no help from the controller.
Consider, for example, a controller that regulates the water level in a large reservoir. For the most part, the controller only needs to make minor corrections to the outflow through the dam to counteract effects of evaporation and precipitation upstream. Most any controller equipped with even the simplest error feedback mechanism could handle that job.
The real test of this controller's performance comes when a flash flood hits, causing the water level to rise precipitously. If the controller takes too long to compensate with an increased outflow, the reservoir may overflow. If it reacts too quickly, it may flood the valley below. The ideal controller for this application would perform somewhere between those two extremes.
This strip chart shows how a typical PID loop forces the process variable to react when the
setpoint is changed. A similar pattern may result from a disturbance, but the process variable
usually ends up close to where it started since feedback controllers are generally designed to
reject disturbances entirely. The rise time is a, the peak overshoot is b, and the decay ratio is c/b.
This example illustrates a more useful means of assessing a controller's actual performance level-the step test. A step test demonstrates how the controller reacts to an abrupt change in the setpoint or an abrupt disturbance to the process variable (such as a flash flood). Many PID controllers will react by forcing the process variable to oscillate as shown in the 'Step Response' strip chart. The magnitude, frequency, and duration of the oscillations in this step response are commonly used to measure the controller's performance.
For example, decay ratio can be used to quantify how quickly the controller eliminates the process variable's oscillations after the initial step is applied. It is computed by dividing the magnitude of the second peak by the magnitude of the first. Referring to the 'Step Response' chart, a low decay ratio indicates the controller can bring the process back into a steady-state or line-out condition quickly. John Ziegler and Nathaniel Nichols determined that a quarter wave (or 25%) decay ratio was low enough for their purposes and devised their famous PID tuning rules to achieve roughly that level of performance (See 'Ziegler-Nichols Methods Facilitate Loop Tuning,' Control Engineering , Aug. '98)
A lower decay ratio typically is achieved at the expense of a longer rise time during which the process variable rises towards its first peak. A long rise time indicates the controller is not particularly aggressive about responding to a disturbance or a setpoint change. On the other hand, the slow rise of the process variable reduces overshoot and minimizes the process variable's subsequent oscillations. The best controller for the reservoir would have to be reasonably fast, but not too oscillatory.
In fact, the reservoir's controller should probably be designed to avoid oscillations altogether since the valley downstream would be alternately drenched and dry if the controller were to allow excess flood water to exit the dam in surges. The ideal performance criteria for applications that cannot endure oscillatory behavior is critical damping. To achieve a critically damped step response, the controller must react to an error as fast as possible without causing the process variable to overshoot the setpoint. A response that is any slower than this is said to be overdamped while a response that is any faster (and therefore oscillatory) is said to be underdamped, see 'Damping' graph.
Not all step responses oscillate since controllers can be damped to prevent overshoot.
Critical damping gives the fastest possible step response without overshoot.
Indirect performance measures
Step tests can reveal a great deal about a controller's performance, but they are not always practical. A control engineer probably wouldn't be allowed to flood the reservoir or abruptly change the desired water level just to see how the controller reacts.
Indirect computational techniques are often used instead. For example, ControlSoft (Cleveland, O.) has equipped the latest version of its InTune software with an error distribution chart that shows how long the error between the process variable and its setpoint has been very high positive, very high negative, almost zero, and so on; see 'Error Distribution' chart.
This chart shows how long the error between the process variable and its setpoint
has remained in each of 10 ranges from 'very high negative' to 'very high positive.'
No special test inputs are required. InTune simply collects real-time error data during normal operations and displays it as a histogram. The result is a statistical view of how well the loop has been performing in the recent past. If it shows the error has been almost zero 90% of the time, then the controller has been doing its job well. If it shows the error has been dwelling in several different ranges both positive and negative, then the controller has been causing the process variable to oscillate.
The next release of InTune will also include spectral analysis for identifying patterns in the process variable and the controller's output. Every stream of such data has its own characteristic 'spectrum,' which shows how it could be constructed from superimposed sine waves much as the spectrum of a light source shows its component frequencies. Like the spectra of similar light sources, the spectra of similar data streams show similar patterns of peaks and valleys when plotted.
Spectral analysis is particularly useful for assessing the performance of multivariable controllers that work to manipulate multiple process variables all at once. If the process variables interact, a change in one will affect all others. That can make the controller's job particularly difficult. However, a decoupling controller can be designed to coordinate its outputs so that each process variable can be manipulated more-or-less independently. The effectiveness of the decoupling effort will show up in the spectra of the process variables. Each should be different. If they show similar patterns, the decoupling has failed.
A related analysis tool is the Bode plot which shows how much a controller amplifies each of the sinusoidal components of the error data and how much the process amplifies each of the sinusoidal components of the controller's output. The Protuner software from Techmation (Scottsdale, Ariz.) can generate empirical Bode plots for the process and the controller from a file of historical process data. These show how well the controller and the process work together in a closed loop to amplify the desired frequencies and attenuate the unwanted frequencies.
Bode plots can also be used to assess the relative stability of the closed-loop system. If the system is unstable outright, its step response will oscillate with ever larger peaks as the controller tries to amplify the wrong frequencies too much. This makes instability easy to spot. However, a stable closed-loop system can also be on the verge of instability, which is almost as bad. What a Bode plot shows is how much more amplification the controller could afford to apply to the error signal without driving the process variable into oblivion. The Bode plot for a highly stable system shows a high gain margin; i.e., lots of room for additional amplification. For a less stable system, the Bode plot shows commensurately less gain margin. The gain margin is one of the most widely used measures of a controller's performance since it requires no special tests to compute.
This chart shows the range of first order processes that can be combined with a given PID
controller to produce a stable closed-loop system. The red curve represents the controller's
limit of stability which denotes the largest combinations of process gain and deadtime that
this controller can handle. Combinations well within the stability region (such as the
deadtime of 4 and gain of 2 shown by the cross) will be relatively more stable than
combinations closer to the limit of stability. The larger the stability region, the more
robust the controller.
On the other hand, generating a Bode plot and reading its gain margin is not as simple as performing a step test and observing the overshoot or decay ratio. ExperTune from ExperTune Software (Hubertus, Wis.) offers a more intuitive alternative-the robustness plot. It shows the closed-loop system's relative stability by plotting the process deadtime vs. the process gain. The 'Robustness' chart shows a sample robustness plot for a process with a deadtime of 4 sec and a gain of 2 (represented by the cross on the plot).
The red curve on the robustness plot represents the influence of the controller on the stability of the closed-loop system. Any process with a deadtime and gain that falls below or to the left of the red curve will yield a stable closed loop system when combined with this particular controller. Conversely, a process with a high gain and a long deadtime would correspond to a cross above the red curve and an unstable closed loop system.
A controller that is designed to be especially conservative will yield a red curve that encompasses a wide range of dead time and gain combinations; i.e., a large stability region. Such a robust controller could be combined with most any process to create a stable closed-loop system. Conversely, a more aggressive controller would have a relatively small stability region on the robustness plot, indicating that it would be stable only with processes with low deadtime and low gain.
The robustness plot illustrates the whole point of assessing a controller's performance-if it's too fast, too slow, too aggressive, or too conservative, re-tune it. This is generally a trial-and-error procedure. The control engineer designs a controller, tries it out, and keeps fiddling with it until the desired performance is achieved.
ACT GmbH (Tervuren, Belgium) combines those steps with a model-based controller called Topas that includes a performance-based tuning facility. Users can increase or decrease the closed-loop overshoot and the controller damping by manipulating those parameters directly. Topas automatically translates the user's specifications into the required tuning parameters. The closed-loop performance can be tuned for optimal setpoint response or for optimal disturbance rejection.
For more information about software products that can help translate performance measures into tuning parameters, see 'How Software Tools Simplify Loop Tuning,' ( CE , Nov. '97).