Project Overview
A major oil and gas company with headquarters in Dallas, Texas had been using over 30 different business software packages, tools, and SCADA systems to manage its operations. These systems were not linked in anyway, which is the reason why there were significant inconsistencies in the data from one system to another. This of course caused confusions in the company with each department wanting to refer to the different aspects of the operations in its own way.
This led to the birth of an idea: an enterprise-level corporate Oil and Gas SCADA system to be the data hub through which all operations are managed. This not only includes communicating with all sites and devices in the field areas, but also connecting with the other business systems, such as production accounting and Geographic Information System (GIS). Ignition by Inductive Automation was chosen as the SCADA platform to bring that idea to life.
Trimax Systems was chosen as the lead systems integration company for the project along with two other systems integrators. Nine months into the project, Revolution Byte was asked to join the team to help with the significant challenges that were faced in developing a system of this magnitude. Within just a few days Revolution Byte was up to speed with the entire project and had started contributing to the design and development of the system. After a few weeks the team was able to deliver on what was once thought impossible to accomplish. Due to our competence and subject matter expertise, we were asked to replace the two other integrators leaving only Trimax and Revolution Byte on the project.
The enterprise-class SCADA system had to be designed to manage 40,000 devices (PLCs, RTUs, and Pump off Controllers) spread over 14,000 sites and producing north of 11 million tags. To add to the complexity, the system had to allow for roughly 2,000 concurrent users. To achieve that, we worked closely with Inductive Automation in designing and testing the Gateway Area Network (GAN), which allowed us to utilize remote gateways/servers to act as tag providers. With such an architecture, we were able to distribute the tag load over a total of 7 gateways.
Due to the sheer size of the system; the number of sites and devices, we had to build an Oil and Gas SCADA Framework to provide the ability to quickly add and remove sites/devices. In the backend, the framework consisted of an object management system, utilizing relational databases, third-party APIs, and custom Python code. Additionally, a user-friendly interface was built in Ignition to allow the SCADA users to quickly bring sites online, manage the well life-cycle (such as the conversion from a free-flowing well to an artificial lift well), manage routes, and add a device to a site or even take it completely offline.
A key feature of the system was to be able to manage ~1000 alarm notifications per day to more than 100 users over email and SMS. Alarm Management constituted of three main parts; alarm configuration, alarm notification, and alarm escalation.
Alarm Configuration
Utilizing Java libraries and Ignition Web Dev module, we were able to expose Ignition’s alarm configuration to the front end. Therefore that allowed for any user to be able to completely configure their own custom alarms.
Alarm Notification
Alarm groups were created to manage which users were notified by the different alarms. Those users were notified either by email or SMS, depending on their preferred method of communication as defined in their user profiles. The users were able to respond to the email or SMS and acknowledge the alarms that way. For the SMS functionality, a custom module was written to allow the integration of Ignition with Twillio.
Alarm Escalation
Critical alarms should not be left unnoticed for an extended period of time, hence why it was of utter importance to have some sort of alarm escalation mechanism. With that in mind, the system was further developed to allow for automatic escalation of alarms in the case an alarm was ignored for a pre-defined time, notifying different groups of personnel at each escalation level.
Using the power of REST protocol, we were able to integrate with the company’s diverse data producers/consumers, such as Production Accounting, EHS, and Reporting. In most cases, the data is encoded as a JSON and posted to TIBCO, which is a bus-based backbone that connects all the systems and applications to each other. Data on TIBCO can be accessed, consumed, and acted on by any application or system on the network.
Ignition SCADA was integrated with the company’s Geographic Information System (GIS) to be able to showcase a high-performance 2D map of the location of all the facilities/sites. Alarms were also displayed on the maps as flashing red dots and the operators were able to zoom in and navigate to the site straight from the map interface.