modelControlledTanks

Demonstrating the controller of a tank filling/emptying system

Extends from Modelica.Icons.Example (Icon for runnable examples).

Information

With this example the controller of a tank filling/emptying system is demonstrated. This example is from Dressler (2004), see Literature. The basic operation is to fill and empty the two tanks:

  1. Valve 1 is opened and tank 1 is filled.
  2. When tank 1 reaches its fill level limit, valve 1 is closed.
  3. After a waiting time, valve 2 is opened and the fluid flows from tank 1 into tank 2.
  4. When tank 1 is empty, valve 2 is closed.
  5. After a waiting time, valve 3 is opened and the fluid flows out of tank 2
  6. When tank 3 is empty, valve 3 is closed

The above "normal" process can be influenced by three buttons:

  • Button start starts the above process. When this button is pressed after a "stop" or "shut" operation, the process operation continues.
  • Button stop stops the above process by closing all valves. Then, the controller waits for further input (either "start" or "shut" operation).
  • Button shut is used to shutdown the process, by emptying at once both tanks. When this is achieved, the process goes back to its start configuration. Clicking on "start", restarts the process.

Components

TypeNameDefaultDescription
Utilities.TankControllertankController
Modelica.Blocks.Sources.RadioButtonSourcestart
Modelica.Blocks.Sources.RadioButtonSourcestop
Modelica.Blocks.Sources.RadioButtonSourceshut
Utilities.Tanktank1
Utilities.Tanktank2
Utilities.valvevalve1
Utilities.Sourcesource
Utilities.valvevalve2
Utilities.valvevalve3
StateGraphRootstateGraphRoot