Feedback control works on the principle of information from the outlet of a process being “fed back” to the input of that process for corrective action. A block diagram of feedback control looks like a loop:
The reason any control system is necessary at all to maintain a process variable at some stable value is the existence of something called a load. A “load” is some variable influencing a process that is not itself under direct control, and may be represented in the block diagram as an arrow entering the process, but not within the control loop:
For example, consider the problem of controlling the speed of an automobile. In this scenario, vehicle speed is the process variable being measured and controlled, while the final control device is the accelerator pedal controlling engine power output. If it were not for the existence of hills and valleys, head-winds and tail-winds, air temperature changes, road surface variations, and a host of other “load” variables affecting car speed, it would be an elementary matter to drive at a constant speed: simply hold the accelerator position constant.
However, the presence of these “load” variables makes it necessary for the human driver of the automobile (or a cruise control system) to continually adjust engine power in order to maintain constant speed. Using the car’s measured speed as feedback, the driver (or cruise control) adjusts the accelerator pedal position as necessary based on whether or not the car’s speed matches the desired “setpoint” value.
An inherent weakness of any feedback control system is that it can never be pro-active. The best any feedback control system can ever do is react to detected disturbances in the process variable. This makes deviations from setpoint inevitable, even if only for short periods of time. In the context of our automobile cruise control system, this means the car can never maintain a perfectly constant speed in the face of loads because the control system does not have the ability to anticipate loads (e.g. hills, wind gusts, changes in air temperature, changes in road surface, etc.). At best, all the feedback cruise control system can do is react to changes in speed it senses after some load has disturbed it.
Feedforward control addresses this weakness by taking a fundamentally different approach, basing final control decisions on the states of load variables rather than the process variable. In other words, a feedforward control system monitors all the factors influencing a process and decides how to compensate for these factors ahead of time before they have the opportunity to affect the process variable that we wish to remain stable. If all loads are accurately measured, and the control algorithm realistic enough to predict process response for these known load values, the process variable (ideally) need not be measured at all:
As was the case with cascade control, feedforward control also has an analogue in workplace management. If you consider a supervisor to be the “controller” of a work group (issuing orders to his or her subordinates to accomplish important tasks), a feedforward system would be when someone informs the supervisor of an important change that will soon impact the work group. By having this information “fed forward” to the supervisor, the supervisor may then take preemptive measures to better manage this change before its effects are fully felt. If this predictive information is accurate, and the supervisor’s response appropriate, any negative impacts of the change will be minimized to the point where no re-active steps will be needed. Stated differently, good feedforward control action translates what would ordinarily be a crisis into a non-event.
Returning to the cruise control application, a purely feedforward automobile cruise control system would be interfaced with topographical maps, real-time weather monitors, and road surface sensors to decide how much engine power is necessary at any given time to attain the desired speed. Assuming all relevant load variables are accounted for, the cruise control would be able to maintain constant speed regardless of conditions, and without the need to even monitor the car’s speed. This is the promise of feedforward control: a method of controlling a process variable that is so perfect in its predictive power that it eliminates the need to even measure that process variable! If you are feeling skeptical of this feedforward principle and its ability to control a process variable without even measuring it, this is a good thing – you are thinking critically. In practice, it is nearly impossible to accurately account for all loads influencing a process and to both anticipate and counter-act their combined effects, and so pure feedforward control systems are rare. Instead, the feedforward principle finds use as an augment to normal feedback control. To understand feedforward control better, we will consider its pure application before exploring how it may be combined with feedback control.
First, let us consider a liquid level control system on an open tank, where three different fluid ingredients (shown in the following P&ID simply as A, B, and C) are mixed to produce a final product. A level transmitter (LT) measures liquid level, while a level controller (LC) compares this level to a setpoint value, and outputs a signal calling for a certain amount of discharge flow. A cascaded (slave) flow controller (FC) senses outgoing flow via a flow transmitter (FT) and works to maintain whatever rate of flow is “asked” for by the level controller:
The level control system acts to keep liquid level constant in the vessel, ensuring adequate mixing of the three ingredients. Being a feedback level control system, it adjusts the discharge flow rate in response to measured changes in liquid level. Like all feedback control systems, this one is reactive in nature: it can only take corrective action after a deviation between process variable (level) and setpoint is detected. As a result, temporary deviations from setpoint are guaranteed to occur with this control system every time the combined flow rate of the three ingredients increases or decreases.
Let us now change the control system strategy from feedback to feedforward. It is clear what the loads are in this process: the three ingredient flows entering the vessel. If we measure and sum these three flow rates11, then use the total incoming flow signal as a setpoint for the discharge flow controller, the outlet flow should (ideally) match the inlet flow, resulting in a constant liquid level. Being a purely feedforward control system, there is no level transmitter (LT) any more, just flow transmitters to measure the three loads:
If all flow transmitter calibrations are perfect, the summing of flow rates flawless, and the flow controller’s tuning robust, this level control system should control liquid level in the vessel by proaction rather than by reaction. Any change in the flow rate of ingredients A, B, and/or C will quickly result in a matching adjustment to the discharge flow rate. So long as total volumetric flow out of the vessel is held equal to total volumetric flow into the vessel, the liquid level inside the
vessel cannot change.
An interesting property of feedforward control systems is that they cannot generate oscillations as is the case with an over-tuned (excessive gain) feedback system. Since a feedforward system never monitors the effects of its actions, it will never react to something it did to the process, which is the foundation of feedback oscillation. While it is entirely possible for a feedforward control system to be configured with too much gain, the effect of this will be overcompensation for a load change rather than oscillation. In the case of the mixing tank feedforward level control process, improper instrument scaling and/or offsets will cause the discharge and inlet flows to mis-match, resulting in a liquid level that either continues to increase or decrease over time (“integrate”). However, no amount of mis-adjustment can cause this feedforward system to produce oscillations.
In reality, this pure feedforward control system is impractical even if all calibrations and calculations within are perfect. There are still loads unaccounted for: evaporation of liquid from the vessel, for example, or the occasional pipe fitting leak. Furthermore, since the control system has no “knowledge” of the actual liquid level, it cannot make adjustments to that level. If an operator, for instance, desired to decrease the liquid level to achieve a more vigorous mixing action, he or she would have to manually drain liquid out of the vessel, or temporarily place the discharge flow controller in “manual” mode and increase the flow there (then place back into “cascade” mode where it follows the remote setpoint signal again). The advantage of pro-active control and minimum deviation from setpoint over time comes at a fairly high price of impracticality and inconvenience.
For these reasons, feedforward control is most often found in conjunction with feedback control. To show how this would work in the liquid level control system, we will incorporate a level transmitter and level controller back into the system, the output of that level controller being summed with the feedforward flow signal (by the LY summing relay) before going to the cascaded setpoint input of the discharge flow controller:
This hybrid control strategy is sometimes called feedforward with trim. In this context, “trim” refers to the level controller’s (LC) output signal contributing to the discharge flow setpoint, helping to compensate for any unaccounted loads (evaporation, leaks) and provide for level setpoint changes. This “trim” signal should do very little of the control work in this system, the bulk of the liquid level stability coming from the feedforward signals provided by the incoming flow transmitters.
A very similar control strategy commonly used on large steam boilers for the precise control of steam drum water level goes by the name of three-element feedwater control. The following illustration shows an example of this control strategy implemented with pneumatic (3-15 PSI signal) instruments:
Such a control system is called “three-element” because it makes use of three process measurements:
• Feedwater flow rate
• Steam drum water level
• Steam flow rate
Feedwater flow is controlled by a dedicated flow controller (FIC), receiving a remote setpoint signal from a summing relay (LY). The summer receives two inputs: a steam flow signal and the output signal (trim) from the level controller (LIC). The feedforward portion of this system (steam flow feeding forward to water flow) is intended to match the mass flow rates of water into the boiler with steam flow out of the boiler. If steam demand suddenly increases, this feedforward portion of the system immediately calls for a commensurate increase in water flow, since every molecule of steam must come from one molecule of water. The level controller and transmitter act as a feedback control loop, supplementing the feedforward signal to the cascaded water flow controller to make up for (“trim”) any shortcomings of the feedforward loop.
A three-element boiler feedwater control system is a good example of a feedforward strategy designed to ensure mass balance, defined as a state of equality between all incoming mass flow rates and all outgoing mass flow rates. The steam flow transmitter measures outgoing mass flow, its signal being used to adjust incoming water mass rate. Since mass cannot be created or destroyed (the Law of Mass Conservation), every unit of steam mass leaving the boiler must be accounted for as an equivalent unit of water mass entering the boiler. If the control system perfectly balances these mass flow rates, water level inside the boiler cannot change.
In processes where the process variable is affected by energy flow rates rather than mass, the balance maintained by a feedforward control system will be energy balance rather than mass balance. Like mass, energy cannot be created or destroyed, but must be accounted for. A feedforward control system monitoring all incoming energy flows into a process and adjusting the outgoing energy flow rate (or visa-versa) will ensure no energy is depleted from or accumulated within the process, thus ensuring the stability of the processes’ internal energy state.
An example of an energy-balance feedforward control system is found applied to the control of this heat exchanger:
The two transmitters on the incoming (cold oil) line measure oil temperature and oil flow rate, respectively. The quotient of these two variables represents the energy demand of the incoming oil (i.e. how much energy will be required to elevate the oil flow’s temperature to some higher value). This “energy demand” signal is summed with the temperature controller’s output signal to set the steam valve position (adding energy to the process).