Tank Farm Management
An application was required to monitor and control product movements on a
refinery tank farm.
The application allows the definition and planning of lineups (a lineup being
a set of oil movements from a set of source to a set of destinations via a mesh
of pipework, valves and pumps). Lineups can be planned, queued for execution and
re-ordered prior to execution, replacing and extending a long-standing
A feature of the
movement-planning interface is the interactive trend that allows salient
features to be pinpointed by dragging hairlines on trend. This is a great
improvement over the traditional date/time-picker controls.
Whilst a movement is underway the tank levels, flow rates, valve states and
pump operations are captured in a PI Historian and monitored via web-based
trends in the control room. On completion, aggregate and summary data are held
in Oracle for bulk analysis and optimization by other parts of the
External production-planning systems can also generate lineups in the system
by simply writing to the relevant Oracle tables. A report-by-exception mechanism
picks up these externally-generated movements and merges them into the control
room movement screens within milliseconds.
At a technical level, the application was implemented using VS2008 over .NET
2.0 using Oracle Data Access Components (ODAC). The GUI was structured using the
MVC pattern for simplicity and ease of maintenance.
The application replaced a paper-based oil-movement tracking system. Comment
from the operators during commissioning was "We've been waiting 25 years for a
system like this!"