With this example the controller of a tank filling/emptying system
is demonstrated. This example is from Dressler (2004),
see Literature which
in turn is based on an example model from Karl Erk Arzen of JGraphCharts.
The basic operation is to fill and empty the two tanks:
- Valve 1 is opened and tank 1 is filled.
- When tank 1 reaches its fill level limit,
valve 1 is closed.
- After a waiting time, valve 2 is
opened and the fluid flows from tank 1 into tank 2.
- When tank 1 is empty, valve 2 is closed.
- After a waiting time, valve 3 is opened and
the fluid flows out of tank 2
- When tank 2 is empty, valve 3 is closed
The above "normal" operation 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.
The tank controller has some safeguards to prevent the tanks
to overflow even if there are errors in the control system:
- Valve 1 is closed in any case, if the fill level
of tank 1 is 1.01*fill limit.
- Valve 2 is closed in any case, if the fill level
of tank 2 is 1.01*fill limit.
The default simulation time is 900 s. The result can be animated.
For this, set in Dymola in the command window:
"animationSpeed(speed = 50)".
Generated at 2024-12-22T19:25:51Z
by OpenModelicaOpenModelica 1.24.3 using GenerateDoc.mos