# Meditating on Disturbance Dynamics

## Managing Control Loops Requires a Deep Understanding of Setpoint, Load Path and Noise

By F. Greg Shinskey

There are three classes of disturbance that enter control loops from the outside: setpoint changes, load variations and noise. Flow loops must principally respond to setpoint changes, load disturbances being common only where multiple users draw from a common pump or compressor. Most of the other loops in a continuous plant operate at a constant setpoint, yet are often tested and tuned by introducing setpoint changes. Control loops respond differently to changes in setpoint and load, the difference being determined entirely by the dynamic elements in the path of the disturbing variable. Unless some filtering is intentionally introduced, there are otherwise no dynamics in the setpoint path. The load path, however, always contains dynamics, because load variables are similar to manipulated variables, being flow rates of mass and energy entering or leaving the process. The only type of disturbance impacting on the controlled variable directly is noise, and it has a frequency content by definition beyond the bandwidth of the loop. With no dynamics, a setpoint change is a poor substitute for a load upset in determining the performance and tuning of a controller whose purpose is to regulate.

Most single control loops can be represented by the diagram of Fig. 1, where the load variable enters the process at the same point as the manipulated flow. This is the case when controlling the composition of a blend of ingredients whose individual streams enter the mixing vessel at the same point. The common dynamic elements represented by g_{p} are the time constant and dead time of the (imperfectly) mixed vessel. This representation also applies when controlling liquid level, where the manipulated flow is one of the streams entering or leaving the vessel and the load is the algebraic sum of all the other flows. However in a level loop, the common dominant dynamic element in g_{p} is an integrator, and there is no steady-state gain K_{p}.

Figure 1. Most fluid processes have common dynamics.

Figure 2 represents the more general case where the load and manipulated variables may enter the process at different points, with steady-state and dynamic gains for the load input K_{q} and gq potentially differing from those for the manipulated variable, K_{m} and g_{m}.

Figure 2. A more general case has independent dynamics.

#### Internal Model Control

An example of the misunderstanding of the load problem by the academic community has been their development of the internal model control concept (IMC). As represented in Fig. 3, the load input is shown with steady-state and dynamic gains, although in academic papers, these are usually omitted. Internal model control is designed to achieve a particular setpoint response: If the gains in the controller and model match those in the process, as indicated in the diagram, then the controlled variable responds to a setpoint change with only the filter dynamics g_{f}. The process usually contains some dead time, however, which cannot be inverted in the controller; consequently, the controller dynamic gain parameter g_{m}* differs from the process and model dynamic gain g_{m} in lacking that dead time. The residual dead time will then appear in the setpoint response.

Figure 3. Feedback in an IMC loop is principally the load.

Any value of load other than zero will cause the value of the *estimated* controlled variable c_{e} to differ from its measured value c. Therefore, the feedback signal to the controller is actually an indication of the load, including both its steady-state and dynamic gains. The summing junction at the controller input then compares the setpoint against the current load effect—a comparison of apples and oranges. The resulting difference is not an error or deviation in the normal sense applied to feedback controllers, and, therefore, can be a source of confusion among users of IMC.

Proponents of IMC sometimes refer to the feedback signal as normally being zero, when in fact this could only apply to a *zero-load* process: a batch process under no-flow conditions, which is a relatively rare situation in process control. But this indicates the degree of misunderstanding about load regulation that persists.

*Dynamic* load response is also commonly misrepresented. If load dynamic gain g_{q} is omitted from consideration, then the response of the IMC loop to a step in load is the same as for a setpoint change, in that the controller responds directly to it, with only the filter in the way. However, solution of the block-diagram algebra for the load response is

Even *if* the model and controller parameters match the process perfectly, and there is no filtering, the load response is affected by load dynamics g_{q}. The controlled variable will respond to a load step by deviating from the setpoint in a trajectory determined by g_{q} until the dead time in the loop elapses, followed by a return to setpoint along an exponential curve whose time constant is the dominant lag in the load path, as shown in Fig.4.

Figure 4. Step load-response curves where the process lag is twice the dead time.

The load response for a first-order process with dead time produced by an IMC controller (without filtering) is compared with the best-possible response, for the case where the time constant in the load path τ_{q} is 2 times the dead time τ_{d} in the control loop (See my book, *Process Control Systems*, 4th ed., McGraw-Hill, New York, 1996, pp. 130-132). The integrated error IE under the IMC curve for this example is 2.5 times as great as under the best-possible response curve, and it increases exponentially with the ratio τ_{q}/τ_{d} ,

where τ_{f} is the time constant of the first-order filter in the controller, and *e* is the exponential constant 2.718. With this evidence of poor load regulation on lag-dominant processes, one wonders why proponents continue to push model-based controls.

#### Identifying Load Components

The load in a process may have multiple components. Consider, for example, a steam-heated exchanger raising the temperature of a process fluid flowing at rate *F* and having a specific heat *C* from inlet temperature *T*_{1} to the desired (set) exit temperature *T*_{2}. The manipulated steam flow W required to supply the required heat transfer rate would be

where *H* represents the latent heat of the steam. Flow *F* and inlet temperature *T*_{1} are the components of the heat load, and both are subject to change.

Product composition from some distillation columns is controlled by manipulating the external material balance, where the flow of a product such as distillate is used to control its composition. The flow of distillate has to vary in direct proportion to the flow of lights entering the column (the load), which is the product of feed rate and the concentration of lights in the feed, a mass balance much like the heat-balance equation above. If instead, reflux flow is manipulated to control composition, it does not need to change much with feed composition, although it must change in proportion to feed rate, and also with heat load factors such as boil-up, feed enthalpy and reflux temperature.

#### Dynamic Differences

In both of these examples, the point at which the load components enter the process is not the same as where the manipulated variable enters. Steam flow typically enters the shell of a heat exchanger, whereas liquid flows through the tubes. The shell has more heat capacity than the tubes, and therefore, exit temperature will respond slower to a change in steam flow than to a change in liquid flow or inlet temperature. Another important consideration in a heat exchanger is that its dynamic parameters vary inversely with flow through the tube bundle because its heat capacity is fixed, while flow rate varies.

In a distillation column, dead time will usually be longer for the effect of feed changes on product composition than for corresponding changes in boil-up or reflux flow. However, this does depend on whether the feed is vapor or liquid, and where the product composition is measured, as temperature on a tray or in a product analyzer.

In any process where load and manipulated flows do not enter at the same point, differences in dynamic responses are to be expected. Especially complex is a boiler, where load changes can come from variations in steam demand at one end and fuel quality at the other, with heat capacities distributed through both sides of the heat-transfer surface. Applying feed-forward control to these processes involves selection and tuning of dynamic compensators, attempting to balance manipulated flows against measured loads dynamically, in an effort to minimize transients in critical controlled variables during and following load swings.

#### Effects on Controller Tuning

The earliest publication of effective PID tuning rules came from Ziegler and Nichols in the early 1940s. (Ziegler, J. G. and N. B. Nichols, “Optimum Settings for Automatic Controllers,” Trans. ASME, November 1942, pp. 750-768.) Their tests were conducted by inserting a step change in the path of the controller output and observing the response of the controlled variable in recovering from it. This was equivalent to a load step with identical dynamics in the load path and controller output. Many others have published tuning rules in the meantime, some taking strong exception to the Ziegler and Nichols rules. The principal source of the disparity has been the use of the *setpoint* as the disturbing variable instead of the load, without there being dynamic elements in the setpoint path.

Typical of setpoint response methods is one described in a 1995 Control article, called “lambda” tuning, where lambda is specified as the closed-loop time constant for setpoint response, equivalent to the IMC filter τ_{f}. (Thomasson, F. Y., “Five Steps to Better PID Control,” Control, April 1995, pp. 65-67) There is no mention of load response in the Thomasson article, although the title implies a general applicability: “Five Steps to Better PID Control.” The load response of lambda-tuned loops is similar to that produced by IMC control—long exponential recovery curves having excessive integrated error.

Perhaps the reason for introducing a setpoint disturbance to test or tune a loop is that the load is not often accessible. Ziegler and Nichols simulated their load changes by introducing a bias into the controller output signal. This feature is actually available in some controllers and is useful for simulating a load change. Where it is not, a load change can be simulated by transferring the controller to manual while in a steady-state with no deviation, stepping the controller output, and then immediately transferring back to automatic before any deviation develops. This is effective for all controllers having bumpless transfer between manual and automatic operation.

However, this type of test is only accurate for processes where the load dynamics are essentially identical to those in the controller-output path. Figure 5 shows what can happen when those dynamics are not the same. A process was simulated from 20 interacting time lags, representative of distributed processes such as heat exchangers, stirred tanks, and distillation columns. (Here, Στ is the 63.2%, open-loop response time of a multi-lag processes, also the residence time of a stirred tank.) With the total lag Στ equal in the two paths, a PID controller was tuned to produce a minimum integrated absolute error (IAE) in response to a step change in load—this is the central curve (red), where Στ_{q}/Στ_{m} = 1. A minimum-IAE curve has a symmetrical peak (similar to a Gaussian distribution curve), followed by minimal overshoot and good damping.

Figure 5. Load-response curves for the multiple-lag processes with different load lags.

When the step was repeated with the lags Στ_{q} in the load path reduced by half, the resulting peak was twice as high as expected, but also showed much more *overshoot*, increasing its IAE above the minimum, but only by 6%. Then, with the load time constants doubled, the response peak is half as high as the original, but now *undershoots*—the IAE for this curve is 53% above the minimum. To minimize IAE in response to a step change in load, the controller must be retuned, with the correction based on the ratio of the time constants in the load path to those in the loop.

The multiple-lag process simulated to generate the response curves of Fig. 5 can be approximated as dead time plus lag, and the results apply equally well. In changing the multiple time constants in the load path, the effective dead time and effective lag are both changed in the same proportion, as the initial part of the response curves—up to the first peak—reveal. However, in duplicating the tests on a lag-plus-dead-time process, it was observed that variations in the *dead time alone* in the load path have no effect on the response curve, other than to shift its location in time.

#### Corrections for Dynamics in the Disturbance Path

Optimum load response requires that the integral and derivative times of the controller be set as a function of the dead time in the loop, and the proportional band as a function of the ratio of the dead time to the dominant time constant in the loop. These rules, originally developed by Ziegler and Nichols, have been refined by later writers (See *Process Control Systems*, May issue 2011 pp 117-120). Now, however, it is observed that the optimum PID settings also depend on the time constant (but not the dead time) in the disturbance path. (The term “disturbance path” is used here as applying more generally to loop response rather than simply to load response, because the principal distinction between load and setpoint response happens to be the time constant in the path of the disturbing variable.)

First, the PI or PID controller should be tuned for optimum load response with equal dynamics in the load and in the loop. This can be done using identification of the dynamics in the path of the controller output, either in the open or closed loop, and verifying the minimum-IAE response by simulating a load step using the controller output. Having done this, the controller then requires retuning if the time constant(s) in the load path differ from those in the path of the controller output. Whether there is a difference can be determined by stepping the load itself and observing the resulting closed-loop response, comparing it with one of the curves in Fig. 5. If the load cannot be stepped easily or without some cost, an estimate of the difference may be required based on a process model.

For the simulated multiple-lag process described above, load dynamics were changed relative to loop dynamics, and the controller was retuned for minimum-IAE response. It was discovered that for PI controllers, only the integral term needed readjustment for load dynamics. Proportional action was unaffected. The center curve in Fig. 6 shows the correction needed for integral time as a function of the ratio of the total lag in the load path to that in the loop, Στ_{q}/Στ_{m}. For example, if the load lag is only half as great as that in the path of the controller output, the integral time of the controller needs to be increased by a factor of about 1.5; conversely, if the load lag is twice as great, integral time should be reduced by about the same factor (note the logarithmic scales). This is the extent of variation in this ratio likely to be encountered in fluid processes.

PID controllers need *no* correction to the derivative-time setting as a function of load lag. The integral-time correction is similar to that for PI controllers where Στ_{q}/Στ_{m} ≥ 0.5, but more correction is required where the ratio falls below this value, as indicated by the upper curve in Fig. 6.

Figure 6. Integral time is the principal setting to change with load time constant.

There are basically two types of PID controllers, however—*interacting* (or series or cascade) and *noninteracting* (or parallel or ideal). Pneumatic controllers, such as those used by Ziegler and Nichols to develop their tuning rules, are of the interacting type, and many manufacturers still offer this type of PID controller, even implemented digitally. However, the noninteracting type is becoming more common, and some manufacturers even offer both. The noninteracting PID controller requires a slight correction to the proportional band as a function of load lag, as shown in the flattest of the three curves. For example, if Στ_{q}/Στ_{m} = 0.1, the proportional band of the non-interacting PID controller would have to be increased by a factor of about 1.3; but in the normal range of Στ_{q}/Στ_{m} between 0.5 and 2, little readjustment is required.

#### Accommodating Setpoint Changes

The setpoint normally enters the controller without any dynamics in its path. As a result, a controller that has been optimized for load changes will typically produce a sizeable overshoot following a change in setpoint. Based on the integral correction factor for load lag in Fig. 6, more than doubling of the integral time might seem necessary to produce minimum IAE following a change in setpoint. Simulation of a PI loop, however, indicates that minimizing IAE can be accomplished by only a doubling of the integral time. Unfortunately, the controller is then no longer optimized for load disturbances, which should be its primary objective.

Accommodating both objectives—load *and* setpoint response—requires a setpoint filter or its equivalent. Some controllers offer the option of integral action alone on the setpoint. This is the equivalent of applying a first-order filter to it, using a time constant equal to the integral time. While suppressing overshoot, it extends the time to reach the new setpoint considerably, actually increasing IAE substantially above the unfiltered response. A better approach is to apply a lead-lag filter. With the lag matched to the integral time and the lead set to about half that value, the setpoint response will approach the IAE produced by doubling the integral time. In essence, the controller is first tuned for optimum load response, and then the lead-lag ratio (which is also the dynamic gain) of the setpoint filter is tuned to optimize setpoint response. In effect, the lead-lag filter reduces the proportional gain of the controller to changes in setpoint by a factor equal to the lead/lag ratio.

Figure 7. Set-point responses for lag + dead time process without and with filter.

Figure 7 summarizes the setpoint response for a loop simulated as dead time plus lag. The highest overshoot is produced by a PI controller optimized for load response, and having no setpoint filter. Doubling the integral time minimizes the IAE while reducing the overshoot. Unfortunately, this also doubles the integrated error in response to the load. When lag filtering is applied to the setpoint (equivalent to integral action alone on the setpoint), undershoot results, along with the largest IAE of all the curves. Lead-lag filtering is shown to minimize setpoint overshoot and minimize IAE without compromising load response.

*F. G. Shinskey is a process control consultant and a member of the Process Automation Hall of Fame.*

# Join the discussion

We welcome your thoughtful comments.

All comments will display your user name.

#### Comments

No one has commented on this page yet.

RSS feed for comments on this page | RSS feed for all comments