DMC helped the client deploy a solution centered around NI’s SystemLink Server software. The SystemLink Server played several roles; it was the data aggregator from all test stands, the analysis engine of incoming data files, the long-term storage location of data files, and the asset monitor and software manager for the test stations.
Our client had about a dozen identical data acquisition test stands deployed on their production floor that each executed a test sequence on a product and saved a data file locally to the PC. All of the data was saved long-term on each test stand, which made it difficult to retrieve data from a test stand or compare data between multiple. This also made them susceptible to data loss if a test station PC or a hard drive fails.
DMC had to take a different approach, as we did not have the option to modify the test software directly to save the data to a central location rather than its C Drive. This was because the extensive validation for the customer’s custom testing software had already passed, and they did not want to repeat the validation process.
The customer was seeking a solution where the data from all test stations would be stored in one central location so that data from any test runs from any station could be quickly retrieved and analyzed.
Python Windows Service
As we were not allowed to modify the test software directly, DMC wrote a Windows Service in Python that automatically moved new data files from each test stand to the SystemLink server.
The service is installed on each test stand and monitors a particular directory on the test stand’s C Drive for new data files. When new files are found, the service uploads them to the SystemLink Server using the server’s REST API.
SystemLink Systems Manager
The service was packaged into an NI Package using NI Package Builder. Using SystemLink’s Systems Management module, this NI Package was remotely installed on each test stand using SystemLink’s web interface. This installation included registering the Python application with Windows as a Windows Service so that it is always monitoring for new data files.
SystemLink Data Plugin
The raw data files from each station were custom-formatted CSV files. Each file could store different information about the test and any number of different test steps — which would make directly comparing data from CSV files difficult.
SystemLink Server facilitates the transformation of custom file types and formats to a common TDM format using DataPlugins. After conversion to TDM, data can be much more efficiently searched.
DMC wrote a custom DataPlugin in Python that converted the client’s custom-formatted CSV files into TDM files. Any CSV data file that is uploaded to the SystemLink Server would automatically be transformed into the friendlier TDM format.
Analysis Automation Script
After converting that test data into a common TDM format, DMC created an Analysis Automation script that automatically triggers for incoming data files. The automation script extracts test metadata and a list of “steps” that were executed for the test from the TDM file. Then, this information is sent to SystemLink’s Test Monitor module using the Test Monitor REST API.
Test Monitor facilitates several useful functions for an engineer who may want to view past test results from a web browser:
- Write queries to search for specific tests using test metadata (date and time, serial number, part number, operator, test station, etc.)
- View a list of steps and step results for a specific test
- Generate dashboards or reports for a quick view of the overall status of the testing systems.
Raw CSV and processed TDM data files are saved long-term on the SystemLink server. These files are directly linked to their test in Test Monitor so that original test data files are easily accessible, searchable, viewable, and downloadable.
Learn more about DMC's Test & Measurement solutions, and contact us today for your next project.