Technical Article

Integral Windup Method in PID Control

July 28, 2020 by David Peterson

Integral or Reset Windup is a problem that can occur from these systems, and there are a few possible approaches to minimize the effects.

Integration is a mathematical term with some very direct connections to industrial control, namely in the PID controller, for which the letter ‘I’ stands for Integral. These controllers use basic feedback from a system, then calculate and send output signals based on various error correction factors.

The integral gain is the only one of the three factors which uses an accumulating summation, so past feedback values can influence future output solutions.


Integral or Reset Windup

Control systems often rely on precise system feedback about positions, speeds, and temperatures in order to provide better output control. Closed-loop feedback is this ability to continually monitor a particular key system variable (sometimes called a Process Variable PV) and compares it against the target value or set point.

This idea of ‘continually monitored’ is very important for the concept of control systems. It’s not enough to pick a set point and hit the GO button, hoping for successful results. With sensors that can continually read the current and target positions, the system can provide the correct output signal - both current as well as future values. The whole purpose is to reach the target at the correct rate, not always as fast as possible.

Three simultaneous calculations are used to control the output. Proportional, Integral, and Derivative terms together form a complete ideal PID controller. Proportional and derivative terms both use an instantaneous reading to compute an instantaneous output signal. The integral term is unique in that it uses an accumulation of readings. Therefore, what happened in the past can affect the current and future output signals. While this is a critical term, it can yield a critical weakness if not properly addressed.


Definition of the Integral Term

To define the different control system terms, we must first give meaning to the word ‘error.’ If the current Process Variable PV is sitting right at the Set Point SP, or PV=SP, there is no error. We are right where we need to be. As soon as a command is issued, these two values are no longer equal, and there is an error. Therefore, the error is defined as the difference between PV and SP.

The integral control term adds up all of the error amounts as time goes by. As long as a difference between PV and SP exists, an error will continue accumulating. The faster the value accumulates, the more control output is added to the system since it indicates that we are far from the SP.


The structure of a typical control system with a PID controller. Image courtesy of Jun-jie Xue et al. 


If it so happens that in a particular system, we cannot add enough control signal to reach the SP, the error will keep accumulating, there’s nothing that can be done. This might happen, for example, in a motion system if the load is such that the motor can only rotate 1600 RPM, but the Set Point is 1700 RPM. I imagine it like driving into a strong headwind on the freeway. Even with the pedal to the floor, you can only reach 50 mph. You cannot add enough control signal to reach your SP value.

If this happens, the error keeps building, and the internal calculation of the control system has produced an output of well over 100% of the full output signal. Like in the vehicle example, the ‘control signal’ is telling you to push the pedal beyond the floor… But this is simply not possible.

The error will continue accumulating and the Integral term will increase as long as the SP remains unreachable. As soon as the SP is adjusted back to a lower achievable level, the error will now be in the opposite direction (negative), and the Integral error accumulation will instantly begin to decrease. It may take some time for the accumulated value to finally reach a small enough value to permit system response, and that control output which was driven far beyond its limit can finally begin to change.

The term ‘windup’ is used to describe this problem due to the fact that the Integral term has been wound up far beyond its normal limit, and it must unwind before the system can respond.

This problem can also occur when the system has been deactivated in a 'manual' mode for some time while the controller is still running, perhaps for maintenance. While the current PV is at a safe position or level, the SP is still some distance away, and the error keeps building. And building... And building. When the system is switched back to automatic mode, the accumulated error is so immense that the output shifts into immediate overdrive, flying far past the target SP.


Symptom and Solutions

The symptom of this effect is seen as a delay between the change in the SP and the system response. For a while, the control signal is beyond its limit before returning to the range of real-world changes. It is a difficult symptom to diagnose because the reason for the delay is the past error accumulation driving the output too far in the present. Usually, we try to locate immediate problems connected with symptoms.

Several possible solutions exist for this problem by altering the control calculation.

The simplest is to change the Integral term summation if the control output reaches 100%. If this output is reached, we know that the error will still accumulate, it’s unavoidable. We’re driving as fast as we can. In this case, it might be reasonable to halt the accumulation of the Integral term until the SP is changed again. 

Alternatively, but with the same effect, we might be able to calculate an equal and opposite error value that can also be added. This way, we don’t need to ignore the error entirely, but the effect can be eliminated.

Another option is to calculate a new value for the SP which is equal to the current value - as long as the original set point is not able to be reached. 

If the problem is due to the buildup of error while the system is idle, it may be best to force the accumulated error to zero when the system is switched back to auto mode, giving it a fresh perspective on the new target SP approach. This is the reason for the term 'reset windup'.

There are also a variety of other options which include adjusting the type of control output (calculating a first- or second-order rate of change of the output signal, rather than the signal itself) to avoid error accumulation. These may depend on the control system being used and are a bit more lengthy in discussion.


Note: All of these solutions must only be performed along with proper safety protocol to ensure that the operators are aware that the system is not performing correctly. We must be aware that altering the control algorithm doesn’t actually fix the problem with the unreachable SP, it only reduces the Windup delay when the SP is changed later. 


Interested in learning more about PID controls and gain?



1 Comment
  • pnachtwey August 01, 2020

    The diagram shows a PID with all the gains acting on the error.  This introduces zeros into the closed loop transfer function which will result in overshoot.  Some controllers have an option for the derivative gain to act only on the changes in the PV or feedback.  I call this a PI-D.  If the proportional gain also acts on the feed back there will be no zeros.  I call this I-PD.  Bandwidth is reduced but there are not zeros that cause overshoot.  Another advantage is that since all three gains are integrating.  The integrator is integrating errors.  The proportional term is integrating changes in the PV and the derivative gain is integrating changes in the rate of change in PV.

    Like. Reply