This is my short note about integral windup, right after I was “shot in the head” by my process control lecturer. Hope this is going to remind me always.
Below is a simple example with controller saturation limit or actuator limit (upperbound = 0.8; lower bound = -0.8)
Figure 1. Simple example without anti windup
Figure 2. Output of the controller suffering integral windup
Purple = Controller output (CO)
Yellow = Actuator output (controller + saturation)
CO with saturation (yellow line) suffers from integral windup. The output of the controller (CO) doesn’t respond immediately with the change of error sign. One method to solve this problem is to apply an anti integral windup using back calculation as shown as follows:
Figure 3. Simple example with anti windup
With the chosen tracking (saturation) time constant (determining how quickly the integral is reset after the saturation), the input of the integral part should be zero at the saturation value.
Figure 4. Output of the controller without anti windup (purple line) and with anti windup (yellow line)
Figure 5. Response of the system without anti windup (purple) and with anti windup (yellow)
The smaller the tracking time constant (Tt) seems to be better. However, in the presence of derivative term, which is very sensitive to noise measurement, there may be a situation where the controller output fluctuates enormously to the point of saturation. Thus, the anti integral windup works and eliminates the integral action, which is not required at this situation. Hence, in the presence of derivative term, the anti integral windup should be done through a filter to reduce the noise of measurement. If there is no filter applied, the value of tracking time (Tt) should be in between integral time and derivative term.
Rule of thumb: