Proportional-Integral-Derivative (PID) Control of a Tank Level with Anti-Windup

The dynamic behavior of a tank of height (in meters) is governed by the following ODE:
, where is the tank area in , and and are the inlet and outlet flow rates (expressed in ). Initially the tank height is 2 meters.
The discharge flow is given by , where is the valve constant expressed in , is the error, is the proportional gain, and is the integral time constants. The setpoint for the tank height is chosen to be 3 meters.
The inlet flow rate is .
The red and blue curves correspond to a controller with and without anti-windup. Anti-windup is important because it is possible that the discharge flow rate has a maximum value (taken here to be 1.5 ) corresponding to a fully open flow control valve. Computationally, this is achieved by setting . When reaches the maximal value of 1.5 , the rate of change of the tank's height is constant and negative (equal to ) and the height decreases linearly versus time, as can be seen in snapshot 2.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.