We see linear feedforward used widely in matrix-based multivariable systems. The process is first tested extensively to estimate all the gains relating load, manipulated and controlled variables, both steady-state and dynamically. The gains are then entered into the control matrix and fine-tuned for performance. But since the process gains change with feed conditions and product slates, after a while they may no longer match the feedforward gains set into the matrix, so control deteriorates—IE following load changes is no longer zero. Accounts of lost performance over time are very common with installed linear multivariable systems.
Composition and temperature measurements are properties of a flowing stream. The heat content of a flowing stream is the product of its flow and its temperature rise above inlet conditions. Similarly, the rate of high-octane blending ingredient needed to reach the blend specification is the product of the main stock flow and the rise in octane number required. Multiplication is a bilinear operation—the output of a multiplier is linear with both of the inputs. Multiplication of variables is an essential function in feedforward control of composition and temperature. Accurate multipliers only became available in pneumatic and electronic instrumentation in 1960, which is when feedforward control began to be applied to heaters and distillation columns.
The bottom system in Fig. 5 multiplies the load variable—feed flow—by the PID output. A very common example of a bilinear feedforward system is the control of stack-gas oxygen by manipulating the air-to-fuel ratio in a combustor. The oxygen-controller output then represents the ratio of the manipulated airflow to the load fuel flow. This ratio is not a constant, but varies with both the heating value of the fuel and the setpoint of the controller in terms of percent oxygen in the stack gas. This setpoint is varied with load in most boilers, and the heating value of the fuel varies widely in mixed-fuel installations. When either of these parameters changes, the oxygen measurement is upset, and the controller must readjust its output to restore a balance. In doing so, it is not only returning the controlled variable to setpoint, it is also recalibrating the feedforward gain to match the new process gain.
The multiplier also serves another purpose: gain-compensating the feedback loop. The gain of a bilinear process varies inversely with flow. For example, a step in the flow of octane enhancer to a blender will have twice the effect on the blend octane at half the production rate as it does at full production. Likewise, a step in steam flow to a heat exchanger will have twice the effect on the temperature of liquid leaving at half flow than it does at full flow. This has led engineers over the years to use equal-percentage valves for temperature control, as the valve gain varies directly with flow delivered. In the bottom diagram of Fig. 5, the feedback-loop gain from the controller passes through the multiplier, whose gain varies with the load variable, the flow through the process.
Applying Dynamic Compensation
Some processes have their load and manipulated variables entering at different points physically, with different dynamic effects. A case in point is the heat exchanger, where liquid exit temperature responds faster to the flow of liquid entering the tube bundle than to steam flow entering the shell. Stepping the manipulated steam flow down in response to a drop in liquid flow will then result in a temporary rise in exit temperature until a new steady state is reached. Figure 6 shows the solid blue curve as the result of a step down in liquid flow to a simulated heat exchanger using static feedforward alone—no dynamic compensation or feedback. While the peak deviation is less than the black curve under PID control, it has a pronounced integrated error owing to the dynamic imbalance in the process.
Fig. 6. Dynamic compensation is essential in feedforward control of heat transfer.
Static feedforward that is inaccurate results in offset if there is no feedback controller to correct the error brought about by a gain mismatch in the forward calculation. Static feedforward that is accurate provides all the change in the manipulated variable required to match the new load, so that the controlled variable will return to setpoint without any effort on the part of the feedback controller. The controller output is therefore the same before and after the load change. The PID controller was left in Manual to produce the solid blue curve; then the load change was repeated with the controller in Auto, producing the dashed blue curve. The controller made a correction in an attempt to reduce the deviation from setpoint, though too late to have much effect on its peak value, and then had to remove the correction altogether approaching the new steady state. The result is an IE of zero.
Achieving a dynamic balance requires matching the dominant lag in the load path with an equal lag in the path of the manipulated variable, and canceling the lag in the manipulated-variable path with an equal lead. The dynamic compensator commonly used in feedforward control is, therefore, a lead-lag function, sometimes with a little dead time added where necessary. In the case of the heat exchanger, the lead time constant needs to be greater than the lag, giving a dynamic gain—their ratio—typically in the range of 1.5-3.
The IE in the response curve will be zero without feedback when the difference between lead and lag time constants of the compensator matches the difference between the two process lags. This is a useful guide to tuning the compensator, but is insufficient to achieve a dynamic balance—the ratio of lead to lag must also match that of the process lags. If the peak deviation develops on the side driven by the load, the ratio of lead to lag is not high enough. Reducing both lead and lag settings while keeping their difference constant will increase their ratio while keeping IE at zero. The red response curve is typical of what can be achieved by careful tuning—a minimal peak deviation and an IE of zero.
Once-through processes such as heat exchangers without recirculation have an additional complication: their dynamics vary inversely with flow. Fixed values of lead and lag can then be correct at only a single flow rate. As flow increases, both process lags decrease, and so does their difference. As a consequence, IE can be zero at only one flow. This is easily correctible, however, by programming the lead and lag settings to vary inversely with measured flow. The integral and derivative settings of the PID controller should also be programmed in the same way. This was done in the simulation results appearing in Fig. 6.
- Shinskey, F. G., "Multivariable Control of Distillation,"Control, May-July, 2009. (see Multivariable Control of Distillation,
Multivariable Control of Distillation, Part 2, Genie in a Bottle: Distilling Greg Shinskey into Software
- Shinskey, F. G., "Controlling Distributed Processes,"Control, May 2007.
- Shinskey, F. G., "PID-deadtime Control of Distributed Processes, Control Engineering Practice, 9 (2001) 1177-1183.