Integral windup, also known as integrator windup or reset windup, refers to the situation in a PID feedback controller where a large change in setpoint occurs (say a positive change) and the integral term accumulates a significant error during the rise (windup), thus overshooting and continuing to increase as this accumulated error is unwound (offset by errors in the other direction). The specific problem is the excess overshooting.
This problem can be addressed by
- Initializing the controller integral to a desired value, for instance to the value before the problem
- Increasing the setpoint in a suitable ramp
- "Conditional Integration"--disabling the integral function until the to-be-controlled process variable (PV) has entered the controllable region
- Preventing the integral term from accumulating above or below pre-determined bounds
- Back-calculating the integral term to constrain the process output within feasible bounds.
- Zeroing the integral value every time the error is equal to, or crosses zero. This avoids having the controller attempt to drive the system to have the same error integral in the opposite direction as was caused by a perturbation.
Integral windup particularly occurs as a limitation of physical systems, compared with ideal systems, due to the ideal output being physically impossible (process saturation: the output of the process being limited at the top or bottom of its scale, making the error constant). For example, the position of a valve cannot be any more open than fully open and also cannot be closed any more than fully closed. In this case, anti-windup can actually involve the integrator being turned off for periods of time until the response falls back into an acceptable range.
This usually occurs when the controller's output can no longer affect the controlled variable, or if the controller is part of a selection scheme and it is selected right.
Integral windup was more of a problem in analog controllers. Within modern Distributed Control Systems and Programmable Logic Controllers, it is much easier to prevent integral windup by either limiting the controller output, limiting the integral to produce feasible output, or by using external reset feedback, which is a means of feeding back the selected output to the integral circuit of all controllers in the selection scheme so that a closed loop is maintained.
- "Microchip Application Note AN532: Servo Control of a DC Motor" (PDF). Microchip Technology, Inc. 1997. p. 4. Retrieved 2014-01-07.
- M. Tham. "Discretised PID Controllers" (PDF). Retrieved 2014-01-07.
- Astrom, K.J. and Rundqwist, L. (1989). ""Integrator windup and how to avoid it" (PDF). Proc. 1989 Am. Control Confi.: 1693–1698.
- Beauregard, Brett. "Improving the Beginner's PID: Reset Windup". Project Blog. Retrieved 2021-11-21.
- Cooper, Douglas. "Integral (Reset) Windup, Jacketing Logic and the Velocity PI Form". Retrieved 2014-02-18.
- Aström, Karl (2002). Control System Design (PDF). pp. 228–231.