Anti Integral Windup with Back Calculation

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:

3 Comments (+add yours?)

  1. Nabil
    Jul 25, 2012 @ 00:38:30

    Ive a question. At the windup scheme, you subtracted the output of block Saturation3 with the input of the block Saturation3 (output Saturation3 – Input Saturation3. Isn’t it suppose to be the other way round (input Saturation3 – output Saturation3)


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: