Problem Statement:

Figure 1 shows a cylindrical tank with an outlet pipe where a pump is draining the system at a constant, but configurable volumetric flow rate Vout(gal/s). In EPICS, design a model of the system that shows the water height at a certain time hi (ft) as a function of the flow rate out of the pipe. Ensure that records don't show a negative tank level or an overfilled tank level.

Figure 1

Figure 1. Phase 1 Tank Diagram with Outlet

Add all system inputs into autosave.

Add the tank level into the SLAC Archiver Tool. 

Complete the problem while allowing only one record to scan every second.


Configure a display in PyDM that shows the following:

  • Water level indicator in percent of tank filled
  • Current height of tank
  • Control input for initial water level
  • Control input for flow rate out of system
  • Plot current level vs time
Helpful Links:
Self-check Questions:
  • How does the output of the model change when the processing flags are changed from PP to NPP?
  • Change some of the values while the IOC is running. If you restart your IOC, do the modified control inputs get picked up?

Next Problem: A Pump for the Tank