Feedforward control can be used very successfully to improve a control loop’s response to disturbances. Feedforward control reacts the moment a disturbance occurs, without having to wait for a deviation in process variable. If any process control loop is subject to large, measurable disturbances, it can benefit greatly from feedforward control.
To understand feedforward control, let’s first review feedback control.
Feedback control is typically done with PID (proportional + integral + derivative) controllers. The process variable of interest is measured and the controller’s output is calculated based on the process variable and its set point. Although external disturbances often affect the process variable, they are not used directly for control. Instead, if a disturbance affects the process variable, the control action is based on the process variable and not the disturbance.
As an example, the outlet temperature of a heat exchanger can be measured and used for feedback control. The feedback controller will manipulate the steam flow to the heat exchanger and keep the outlet temperature as close to set point as possible.
Feedback Control and Disturbances
Many process control loops are affected by large disturbances. Feedback control can act only on the result of a disturbance, which means feedback control cannot do anything until the process variable has been affected by the disturbance.
In the example of the heat exchanger above, changes in process flow rate will be a major source of disturbances to the outlet temperature. If the process flow rate through the heater is increased, the original steam flow rate will not be enough to heat up the increased amount of process liquid and the outlet temperature will decrease. Feedback control will eventually increase the steam flow rate and bring the outlet temperature back to its set point, but not until there has been a significant deviation in temperature.
In contrast to feedback control, feedforward control acts the moment a disturbance occurs, without having to wait for a deviation in process variable. This enables a feedforward controller to quickly and directly cancel out the effect of a disturbance. To do this, a feedforward controller produces its control action based on a measurement of the disturbance.
When used, feedforward control is almost always implemented as an add-on to feedback control. The feedforward controller takes care of the major disturbance, and the feedback controller takes care of everything else that might cause the process variable to deviate from its set point.
In our example of the heat exchanger, in which the major disturbances come from changes in process flow rate, the latter can be measured and used for adjusting the steam flow rate proportionally. This is done by the feedforward controller.
Implementing Feedforward Control
Many PID controllers have an external connection for adding an input from a feedforward controller. Otherwise the output of the feedforward controller can be externally added to the output of the feedback controller. Review your controller documentation and take special care with scaling the feedforward signal. Many PID controllers expect the feedforward signal to be scaled between -100% and +100%.
Feedforward and feedback control is often combined with cascade control, to ensure that their control actions manipulate the physical process linearly, eliminating control valve nonlinearities and mechanical problems.
If several major disturbances exist, a feedforward controller can be implemented for each of them. The outputs of all the feedforward controllers can be added together to produce one final feedforward signal. Only consider disturbances that meet these criteria:
- Measurable – if it can’t be measured you can’t control from it
- Predictable effect on the process variable – most disturbances will fall in this class
- Occur so rapidly that the feedback control cannot deal with them as they happen.
Feedforward Controller Design and Tuning
A feedforward controller essentially consists of a lead-lag function with an adjustable gain. A dead-time function (Ttd) can be added if the effect of the disturbance has a long time delay while the control action is much more immediate.
The feedforward gain (Kff) is set to obtain the required control action for a given disturbance. For example, it controls the ratio of steam flow to process flow in the example used previously. The lead and lag time constants are set to get the right timing for the control action. The feedforward’s lead (Tld) will speed up control action should be set equal to the process lag between the controller output and the process variable. The feedforward’s lag (Tlg) will slow down the control action and should be set equal to the process lag between the disturbance and the process variable.
You can use an alternative design for a feedforward controller that makes tuning easy. This is to simply use a function generator as the feedforward controller. Before implementing the feedforward controller, take note of the feedback controller’s output and the disturbance measurement at various levels of the disturbance. Use this relationship to set up the curve in the function generator.
For the heat exchanger example, we should tabulate the temperature controller’s output and process flow rates under various steady-state production rates. Then we program a curve in the function generator to produce the desired controller output at each of the process flow rates we measured.
Let me know if you have a control problem you need help with, or if you are interested in process control training (contact info).
Jacques Smuts – Author of the book Process Control for Practitioners