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:
- Session
- Section A
- Section B
- Measurement 1
- Measurement 2
- 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
Figure 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.