*As Featured on NI.com
Original Authors: Phillip Hebert, Sr., NASA John C. Stennis Space Center
Edited by Cyth Systems
The Challenge
Developing a non-proprietary data acquisition system (DAS) software to support government and commercial rocket engine testing on multiple test facilities.
The Solution
NASA Data Acquisition System (NDAS) is a LabVIEW-based software application, which can be adapted to any propulsion test stand or facility DAS despite hardware differences.
NASA and Stennis Space Center
Stennis Space Center (SSC) in Mississippi is one of 10 NASA field centers in the United States. Because of its important role in engine testing for five decades, Stennis is NASA's largest center for rocket propulsion testing. SSC tests chemical rocket engines and components for NASA, the Department of Defense, and commercial space companies. NASA Rocket Propulsion Test (RPT) facilities include SSC, Marshall Space Flight Center (MSFC) in Alabama, Plum Brook Station (PBS) in Ohio, and White Sands Test Facility (WSTF) in New Mexico. Accurate, safe, reliable, and cost-effective data acquisition for customers is paramount. These facilities have diverse data acquisition systems, each with different hardware and software platforms, to perform different tests. However, specialized data systems typically require specialized software.
Left: NDAS software records and displays data during a 500-second RS-25 engine test at NASA’s Stennis Space Center. Right: A-1 Test Stand at Stennis Space Center in use NDAS while conducting the test series.
The Need for NDAS
The data acquisition systems (DASs) on SSC’s A-Complex and B-Complex test facilities use hardware that does not have commercial off-the-shelf software support. Therefore, SSC must write or extensively modify custom data system software for each new test hardware configuration. Porting previously developed software to different data system platforms requires extensive software development and testing. Consequently, SSC required a custom software suite to perform the functions necessary for the system to operate as a DAS. To address this challenge, SSC created the NASA Data Acquisition System (NDAS) software suite. NDAS combines real-time data visualization, data recording in a variety of formats, short-term and long-term acquisition system calibration capabilities, test stand configuration control, and a variety of data post-processing capabilities.
The growth of the commercial space launch industry created a potentially significant market for SSC. However, a competitor of the new businesses in this market operated SSC test facilities. To address this potential conflict and future obstacles in operation, SSC completely transformed its business model to eliminate this barrier to securing new business. However, because of that decision, SSC no longer had access to the DAS software that it had previously used since the space shuttle program. A bold, new alternative was conceived—NDAS.
Development of NDAS is part of a long-term strategy to improve overall consistency across NASA RPT facilities agency-wide. The unique software that had evolved at each test facility made it difficult to share and incorporate best practices across the agency. Additionally, individuals assigned to different facilities or projects would require additional associated training. This adversely affected the agency’s ability to manage the workforce and quickly respond to priorities and testing initiatives. NDAS provides a consistent framework that reduces these issues.
NDAS Overview
NDAS is a flexible, extensible, modular framework for creating DAS software for testing rocket engines, propulsion systems, and related components. To meet the needs of specific test facilities or test programs, NDAS software can be configured accordingly. Additionally, NDAS provides a common user interface across hardware platforms to improve consistency and reduce errors during test operations.
Figure 1 shows the high-level NDAS architecture. NDAS incorporates a hardware abstraction layer called the NDAS Translation Layer (NXLT) and NDAS Calibration Translation Layer (NCXLT) that enables the software to adapt to different hardware platforms. The architecture groups the software into modules based on function. The NDAS modules include the main operation and control module (NOPS), the engineering unit processing module (NPRO), the display module (NDIS), the calibration module (NCAL), the data logging module (NLOG), the data stream gateway (NGATE), and the instrumentation and roadmap database (NIRD). The one-stop shop (NOSS) serves as the front end for all user interaction with NIRD.
Software in this field is typically custom built for a specific vendor’s hardware platform. This fragmentation creates interoperability and workforce management issues that adversely affect cost, schedule, budget, and risk.
SSC used LabVIEW software, a graphical data-flow driven program, to write most of the NDAS code. Although LabVIEW is a general- purpose programming language, using it for large-scale software development is relatively rare. The NDAS software suite also integrates the new, advanced development Actor Framework that delivers a level of code reuse and extensibility that has previously been difficult to achieve using LabVIEW. The NCAL application uses the LabVIEW Object-Oriented Programming (LVOOP) feature to improve scalability and maintainability. The NDIS application communicates among multiple parallel processes using a combination of producer consumer loops, queued state machines, and a factory pattern, using LabVIEW objects. The team has implemented an innovative and large-scale software development effort, maximizing the amount of reuse of software source code, by using LabVIEW and advanced technologies, such as the Actor Framework and LVOOP.
SSC selected LabVIEW as the primary development language for these key reasons:
Expertise of the development team
Inherent flexibility
Proficiency with hardware/software interfaces
Extensive libraries of hardware drivers for lab equipment and data acquisition systems
Powers rapid development of a rich user experience (UX) with theme-able user-interface (UI) controls and indicators
Large and enthusiastic user/developer community
Successful history using LabVIEW for SSC’s E-Complex DAS software used in rocket propulsion testing
NDAS leverages some advances in the LabVIEW language and available application frameworks to build a mature, flexible, and extensible suite of applications. All LabVIEW developers on the project extend the same actor class delivered with the LabVIEW development environment, allowing code sharing within a team and within the global LabVIEW community. The Actor Framework is the primary framework for each application in the NDAS suite. This framework implements a model-view-controller (MVC) architecture, which makes model and controller use across multiple applications possible and only requires changes to the presentation layer. Prior to using the Actor Framework, doing something as simple as MVC architecture required a custom-developed solution that was titime-consumingo implement and maintain.
NDAS had challenges that required the flexibility to support a variety of different engine types, different test stand configurations, and different customer configurations. Although many of these concepts are consistent from one facility or test article to another, the legacy software in place to account for the differences has become extremely inconsistent and varied over time. This variability added additional challenges. From a technical perspective, the main challenge continues to be achieving the system utility design goal independent of hardware. NDAS must operate legacy acquisition systems over 30 years old and the newest system hardware available today. NDAS must also be compatible with different transducer types. Thermocouples, resistance temperature detectors, absolute pressure sensors, gauge pressure sensors, barometers, strain gauges, and flow meters are just some of the transducer types that NDAS supports. Each of these has different calibration methods, different engineering unit scaling equations, different ranges, and different sensitivities. Therefore, the NDAS software must be flexible enough to account for this wide range of inputs. NDAS has successfully overcome these challenges to provide a software package that is highly valuable to NASA propulsion testing programs.
Solutions to the challenges include but are not limited to: a translation layer making software portable, new calibration software developed to fulfill NDAS requirements for the software to be able to communicate with the signal conditioners and calibration, support hardware, creating calibration reports and coefficients, perform measurement system analyses (MSAs), and linearity and hysteresis calculations.
Conclusion
Overall, using LabVIEW and advanced technologies, such as the Actor Framework and Object-Oriented programming, helped us with an innovative and large-scale software development effort and maximized the reusability of the software source code. These technologies aided in the development of an integrated software suite that combines the functionality of various applications into a common platform.
The NDAS SSC developed replaces the current outdated systems. Its flexibility and modularity enables its usability with any hardware at any test facility. NDAS provides a solid and consistent foundation for performing aerospace propulsion testing, so the agency can perform space exploration missions, including missions to Mars, asteroids, and beyond.
The original intention for the NDAS software was to develop a common data acquisition software suite for NASA propulsion test centers. However, the software could one day be transferred to commercial organizations involved in any data acquisition endeavor, and transferable to universities and other government agencies.
The NDAS software suite is best suited for large-scale, multiuser data acquisition systems with lower-speed (250 samples per second or below) acquisition requirements, but has the potential for use with any generalized data acquisition system. The design of the NDAS software suite is not exclusive for the rocket engine testing domain. The data visualization and recording components have the potential for use in any application using scientific measurement data.
NDAS is currently under modification for use as the primary DAS software suite for the Space Launch System Core Stage at SSC’s B-2 Test Stand. The primary modifications for this effort are due to the use of different DAS hardware. Once modifications are complete for use at SSC’s B-2 Test Stand, SSC plans to migrate it to WSTF and SSC’s E-Complex test facilities, which use the same DAS hardware as SSC’s B-2 test facility.
Original Authors: Phillip Hebert, Sr., NASA John C. Stennis Space Center
Edited by Cyth Systems
Comments