High Pressure Testing Using LabVIEW and cRIO
We’ve been building high pressure test systems for over seven years now. As our experience and knowledge has grown, so has our approach to turnkey high pressure test systems. I’ll also discuss how the cRIO platform has enabled reliability, and how domain knowledge has changed how I work.
The Test Systems
Our systems enable testing of well completion components with simulated down-hole High Pressure-High Temperature (HPHT) conditions. Pumps are used that can generate up to 40,000 PSI, with testing materials and systems integrated with heaters that can run the tool being tested up to 700 degrees Fahrenheit. The software provides simultaneous control and reporting of multiple pressure channels, as well as designating automation parameters to hold pressure values within range such as during heat soaking or cool down.
These test systems are based around the National Instruments cRIO-9074 controller along with 9144 EtherCAT expansion chassis where additional I/O is needed. After the first wave of systems was developed, we were asked to develop hot-swappable carts that could be used alongside the main system and would automatically be identified by the software. The carts are based around the cRIO-9075 and provided additional test features such as different fluids, tension/compression control, and safety valve control.
National Instruments’ cRIO architecture allowed us to meet all of the testing requirements while also performing safety monitoring, automation, and signal filtering all within the embedded controller. Our systems utilize the FPGA to perform low latency pump and metering valve control, signal filtering, and rate calculations, while the real-time host handles higher level automation scheduling, safety monitoring, and network communication. The PC side of the system runs the user interface for manual control, automation parameters, configuration, and recipe control. The PC also handles coordinating testing between multiple cRIOs as is the case when carts are being used.
Using the cRIO platform has allowed me to program all aspects of the control system and has nearly eliminated the time needed for integration testing of different system components. Being able to program the PC, the cRIO, and the FPGA the same way has enabled code reuse to the extreme. The same network and data management source that was written for the PC runs with zero changes on the real-time host. All components of the cRIO platform are implemented with a single, cohesive design. This has ultimately led to the reliability we have been able to provide to our clients.
As is typical with many system designs, understanding and requirements have changed over time. The modularity of the CompactRIO controller hardware made it easy to make the necessary control system changes quickly and easily with little to no changes to the established software. As it became apparent how much more versatile and reliable the new test systems were, the engineers wanted to start running more demanding tests. Instead of running tests for a day or two, tests would start running for a month. Once the system proved that it could run for months without issue engineers wanted to start stressing their tools with hundreds of pressure cycles; an endeavor which would take a human operator two months but wouldn’t meet testing deadlines. This was the perfect opportunity to develop a scripting/recipe system that could monitor and control all aspects of the testing software. At this point the system could now be scripted to monitor test specific safety and failure conditions and could be left alone to run 800 pressure cycles in a week.
I can’t speak enough to how important domain knowledge has become as the test system software has continued to grow. I was first hired right out of university and knew how to program but knew very little about high pressure and next to nothing about oil and gas. After developing relationships with clients over the past few years and spending the time to watch them run tests and use our systems, several things have changed in my interactions with the customers: conversations and requirements discussions have become much shorter, support time has drastically decreased, and in some instances the client has asked me for advice on testing operations.