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

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram CDF Player or other Wolfram Language products.

Requires a Wolfram Notebook System

Edit on desktop, mobile and cloud with any Wolfram Language product.

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.


Contributed by: Housam Binous and Ahmed Bellagi (January 2013)
Open content licensed under CC BY-NC-SA




Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.