Automating a Heterogeneous Test Bay for Pump and Compressor Devices

  Print Print

"NI LabWindows™/CVI software is a reliable development tool, and NI data acquisition devices are of outstanding quality. Together with the proven quality of our own framework, we developed a high-level solution with minimum cost and time."

- Klaus Riedl, XOn Software GmbH

The Challenge:
Completing a test automation solution redesign in approximately 35 test stands and converting a data infrastructure to a scalable, server-based concept.

The Solution:
Using LabWindows/CVI to develop extension modules for an existing XOn General Test (XGT) framework application and conversion tools for databases and file systems.

Klaus Riedl - XOn Software GmbH

Company Profile

XOn Software has been a National Instruments Silver Alliance Partner since the program first started in Europe. It employs engineers from various fields, including computer science, electrical engineering, process engineering, aerospace engineering, and mathematics. This interdisciplinary composition helps us view customer challenges from different perspectives to find optimal solutions. We also have a large staff of certified employees, including three Certified LabWindows/CVI Developers, two Certified LabVIEW Architects, and several Certified LabVIEW Developers. The two managing directors have worked together since 1991 and offer more than 40 years of combined experience in measurement and automation technology.

Project Requirements

Due to a rapid increase in their product spectrum, the engineers at our customer company introduced a completely new generation of test stands. Therefore, they needed a redesign of the existing test software and data infrastructure to cover a wide range of test equipment and test procedures with unique software on every test stand. The major goal was the ability to test every product on every test stand with unique software. Another goal was to remodel the entire software and data infrastructure at a fixed date.

The tests require pressure, vacuum, and flow control with proportional valves. They also require acquisition and evaluation of several signals such as pressure; flow; temperature; pump voltage and current; sound and vibration; and evaluation, visualization, and data management. As a long-time NI Alliance Partner, we were selected to develop the solution.

Application Description

We wanted the software to perform automatic end-of-line pump and compressor device test and validation. The goal of the project was the redesign and functional extension of an existing automation system for a test bay. We were tasked with developing unique test software, database interfaces, and conversion tools as well as a new database structure.

The project included developing universal end-of-line test and automation software that could

  • Be configured for use on different hardware systems
  • Decouple validation logic from the underlying hardware
  • Execute test procedures on any test stand, regardless of the hardware
  • Perform pump testing for pressure, vacuum, or flow control
  • Achieve real-time functionality through the exclusive use of a processor core with cycle times down to 1 ms

The project also included designing a more flexible, server-based database concept that was not limited by the number of test steps, parameters, or results and that featured traceability over the test-bay live time. We also needed to store test procedure version history, parameters, and results. Additionally, the customer asked for a conversion tool for the existing databases, more than 10,000 test procedures, and a complete rollout of the new solution on the entire test bay by a specific date.

The test automation software is based on an existing framework application to reduce costs. The framework application, called XGT, contains a wide range of standard functionalities and extension interfaces and a software development kit (SDK) for extension module generation.

Extension Modules

XGT extension modules are DLLs with a predefined interface. Extension modules can register an arbitrary set of classes to extend the core application functionality. When starting the core application, all available extension modules are linked automatically.

For this project, we implemented the following extension classes:

  • A set of user-specific test steps
  • A set of user-specific hardware devices
  • A set of user-specific operation modes
  • A database interface class

All other functionality came from the core application or from existing standard modules.

XGT core functionalities included the following:

  • A basic user interface
  • Test-plan management for reading, writing, and editing
  • A test sequencer
  • A set of basic test steps and structure elements such as loops, conditions, parallel and sequential execution, and expressions
  • User management
  • User interface management
  • A docking window architecture and layout management
  • Event logging
  • Windows 7 compatibility
  • Program settings and data storage

XGT offers a variety of extension interfaces, including the following:

  • A set of nearly 30 user-specific, high-end test steps for the test interface
  • A set of user-specific devices for the device interface
  • Commercial off-the-shelf NI data acquisition devices (module_daqmx) to acquire signals
  • A set of user-specific operation modes for the operation mode interface

On startup, in automatic operation mode, the lot data is entered and the test procedure loads from the database server. During run time, the test procedures are executed for every device under test, and the results are stored on the database server. The user interface displays device-specific measurement data.

In calibration mode, the system calibrates flow and pressure sensors and stores calibration information with the hardware configuration. In manual operation mode, a diagram of the test stand displays sensor signals and presents manual actor control. The database interface manages data exchange and contains a set of administration dialogs. Additionally, many other interfaces (user management, docking window, visualization, and program settings) are available.

Selecting the Development Platform

We developed all project software components, including the framework application, using LabWindows/CVI software. We chose LabWindows/CVI because of its flexibility in all programming ranges, especially for controlling a wide range of instruments. In contrast to other development tools, LabWindows/CVI and its run-time libraries have a low impact on the OS. We can easily extend LabWindows/CVI integrated development environment functionality with third-party or user-defined tools such as Perforce SCC or Doxygen for source documentation, code wizards for class programming (part of XGT SDK), or an automated documentation generator from .uir files. LabWindows/CVI is a reliable development environment that generates compact, easy-to-distribute, high-performance, resource-friendly code.

We also used three LabWindows/CVI toolkits in our development. First, we used the LabWindows/CVI SQL Toolkit to redesign the complete database infrastructure and implement the database interface between the test-stand client and database server. We also used the LabWindows/CVI PID Control Toolkit to control loops for pressure or flow required by some of the test steps. Lastly, we used the NI Sound and Vibration Toolkit to evaluate the sound emissions of the pump using octave analysis.

Benefits of the New Solution

The new software can be configured for a wide range of test hardware. Test logic can be intelligently configured, and there are no limitations on the number of steps, parameters, and results. The solution offers a state-of-the-art user interface, and the software layout can be modified based on operator or application needs. Software functionality can easily be extended by various well-documented interfaces without changing existing components. The central database server simplifies archiving and always delivers the latest data for all tests. Additionally, a unified development tool for all components facilitates easy troubleshooting.


LabWindows/CVI is a reliable development tool and NI data acquisition devices feature outstanding quality. By combining these with our own high-quality framework, we developed a high-level solution with minimum cost and time.


The mark LabWindows is used under a license from Microsoft Corporation. Windows is a registered trademark of Microsoft Corporation in the United States and other countries.

A National Instruments Alliance Partner is a business entity independent from National Instruments and has no agency, partnership, or joint-venture relationship with National Instruments.

Author Information:
Klaus Riedl
XOn Software GmbH
Tel: +49 (089) 542716 – 0

Bookmark and Share

Explore the NI Developer Community

Discover and collaborate on the latest example code and tutorials with a worldwide community of engineers and scientists.

‌Check‌ out‌ the‌ NI‌ Community

Who is National Instruments?

National Instruments provides a graphical system design platform for test, control, and embedded design applications that is transforming the way engineers and scientists design, prototype, and deploy systems.

‌Learn‌ more‌ about‌ NI