Controlling Liquid Height within Two Tanks in Series Using a PID Controller

Consider two tanks in series; the dynamic behavior of their heights is governed by the ODEs:

where is the height of tank in meters, (set to 1 here) is the area of each tank in , is the inlet flow rate (the manipulated variable) into the first tank, and and are the outlet flow rates (expressed in ) from the first and second tank, respectively. The initial height of the liquid in each tank is assumed to be 0.25 meters.
The flow equation is given by where or and is the valve constant expressed in ). It is assumed that and .
The setpoint for the height of the liquid (the process variable) in the second tank is chosen to be 3 meters.
The inlet flow rate is varied in order to achieve the desired setpoint value using P, PI, or PID (proportional–integral–derivative) control: , where is the error, is the proportional gain, and and are the integral and differential time constants, respectively.
For very large and , one recovers the usual proportional control, which is usually characterized by a small offset value (i.e., the final steady state height is not exactly equal to the setpoint value).
PI control is achieved when is taken equal to zero. PI control can show an overshoot and dumped oscillations around the setpoint. No offset is observed and the final steady state tank height is equal exactly to the setpoint value.
The most general case is when and is not too large; one gets PID control of the second tank's height.
The Demonstration plots the height of both tanks as a function of time; the blue curve displays and the magenta curve represents .


  • [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.

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2018 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+