Case Studies

LabVIEW Results Manager

Flexible Logging with the LabVIEW Results Manager

Posted in LabVIEW, Test & Measurement Automation


The LabVIEW Results Manager is a highly flexible logging module that can easily create, grade, and log test measurements and save them to locations ranging from a web database to CSV text files.

LabVIEW results manager


Results Manager Structure

The goal of the Results Manager is to enable easy creation and logging of test information in a variety of formats.

The Results Manager organizes data into a simple, hierarchical data schema consisting of three levels: Session, Section, and Measurement. This hierarchy is depicted below:

  1. Session
    1. Section A
    2. Section B
      1. Measurement 1
      2. Measurement 2
      3. Measurement n

Breaking down these three parts:

  • Session
    • A complete set of test data
  • Section
    • A specific procedure or test section within that set of data
    • There can be MANY sections within ONE session
  • Measurement
    • Any analog, digital, or text value (i.e. DMM voltage reading, CAN DTC payload, Serial/VISA string response)
    • There can be MANY measurements within ONE section

Results displayedFigure 1: Example of results displayed in a user interface

Results Manager Measurements

Each measurement is designed to contain the following information:

  • Name
  • Value
  • Outcome (Pass/Fail/Unknown/Not Tested)
  • Timestamp
  • Grading Conditions
    • Analog – A user-configured range of acceptable values
    • Digital – The desired state of the Boolean value
    • Text – A Regular Expression used to match the input text

Numeric, text and Boolean measurements are natively supported; however, the Results Manager is flexibly designed to support additional data types easily.

To add new data grading type, a user can follow a plugin approach (leveraging LabVIEW Object-Oriented techniques by overriding the _Standard Measurement class) to create the type of grading logic needed for their application.

When configuring a measurement, a set of Grading Conditions can be specified to be applied to the reported value. When the Results Manager receives the measurements during testing, it will compare the value to the Grading Conditions and determine if the value ‘Passes’ or ‘Fails.’

Results Destinations

Results Destinations are constructs set up to export the data generated by the Results Manager. A Results Destination is a consumer which receives data from the producer, the Results Manager. Results Destinations handle formatting and delivery of the data to a desired location. Examples of past Results Destinations include:

  • Web database via RESTful API
  • Text, CSV, and TDMS files
  • Live user interface display

The Results Manager can write to multiple Results Destinations at once, allowing for parallel logging of any individual Measurement (i.e., logging a measurement to a text file and a database concurrently). In the background, the Results Manager handles distributing data to each configured Results Destination to keep the user’s code clean and the Results Manager API simple.

Creating new Results Destinations is simple and follows the same LabVIEW Object-Oriented approach as a measurement: the user overrides the _Results Destination class and implements the data formatting and exporting to fit their application needs.

These features are part of a powerful suite of tools called the DMC Flex Framework. Find out more about all of these tools here.

Learn more about DMC's LabVIEW Programming Expertise.

Customer Benefits

  • Customizable: Can be configured to send report results whenever necessary throughout a test.
  • Expandable: Can be configured to send results to many “destinations” simultaneously.
  • Visual: Results can be shown in real-time to the user, color-coded for Pass / Fail.
  • Real-Time: Results are immediately logged upon receipt, and the user interface view is updated in real time. 
  • Reliable: Because the data is logged promptly, there is a low risk of data loss.