When an internationally respected oilfield services company needed advanced data acquisition software,
they turned to ProtoLink for help. The resulting application, which was written in C# as a Windows
Forms (WinForms) application, monitors and controls underbalanced and managed pressure drilling operations.
The primary functions of the application involve the storage and real-time display of data obtained
in one of the following ways:
- directly from an OPC server
- directly from the customer's proprietary real-time database
- from manual input by the user
- through calculations involving data obtained via the methods listed above
The application allows the user to configure each calculation's inputs, outputs and calculation
parameters. A fixed set of configuration objects are supported to accomplish this goal.
Configuration objects take one or more inputs, run them through a specific algorithm, and
then produce one or more outputs. Example algorithm components include flow rate calculations,
spike removal, scaling, noise filtering, and unit conversions.
The system provides tabular displays of real-time data through its WinForms interface. It also
implements a DLL plug-in interface architecture that provides read/write data access to advanced
user interfaces developed in Adobe Flash and Microsoft Windows Presentation Foundation (WPF).
Computed outputs can be written to OPC servers and the proprietary database, which also houses
all configuration data for the application. The multi-threaded application includes advanced
buffering capabilities that allow data acquisition to continue even when connections to the
database are broken. Once a broken database connection is re-established, the application
automatically updates the database with all data accumulated while the database was offline.
An automatic save feature ensures that all changes to the running configuration are saved without
user involvement. Configuration changes are permitted during acquisition and logging. An HTML
export feature allows all configuration information to be viewed in a web browser.
The application allows users to generate reports that display data that was written to the
database over a user-defined time interval. These CSV report files are suitable for import
into Excel for additional processing.