I'm just getting started with SystemLink. I've installed a server and a client. I've created a LabVIEW program to generate test data that will create a series of tags with associated values. I put them in this format (which may be wrong?):
There is 1 value for DUT_Type, 9 SN's and 10 frequencies (the same list of 10) for each serial number. I can see all of these values in the Tag Viewer on the server.
I was hoping to create a couple dashboard graphs that display all the MaxValues for each frequency on a single DUT_SN and/or all the MaxValues for a single frequency across all DUT_SN's.
Test will be running on TestStand. For an idea of the data a couple or 3 dozen units will be tested each day, 30 different frequencies and 10 or so data points per frequency.
Cannot figure this out and I could be way off course here and tags aren't the way to do this?
Solved! Go to Solution.
I would highly suggest checking out the SystemLink Test Module.
It is much better suited for logging automated test results from TestStand than the dashboards, which are better suited just to track what a system is currently doing.
While the video below is a little out of date, it at least shows how to enable the SystemLink Test Module reporting plugin. Note you will also need the optional SystemLink Test Module installed on your server, which you can find in the NI Package Manager.
To be clear the Test Module includes a Parametric Data Viewer that allows you to slice and dice data in different ways across one more multiple results.
As an example, I have a very simple TestStand application that generates some fake battery cycle test data. https://github.com/joshuaprewitt/battery-tester
Using the SL Test Module Parametric Data Viewer, I can look at the full cycle test sweep for one result.
Or look at a particular cycle over multiple results.
I believe what you would like to achieve is possible in SystemLink 19.6 Tile Dashboards. We have a new feature which allows queries to be specified for graph tiles. See the following screenshot.
Tag queries allow us to specify tag paths using * wildcard characters. Notice how the query I've specified in Tag Viewer return the same 3 tags as dashboards when specifying the same query. Let me know if this about the functionality you are looking for.
On my SystemLink server I've contrived Peak Gain tag data for one type of DUT, 9 different serial numbers and 10 different frequencies (90 tags in total). My tags look like:
The data associated with the tag is a double.
I created a query:
I am trying to retrieve the 100MHz Peak Gain values for all 100W Amplifiers from my tag data for the 9 different SN's. The goal being one plot with 9 data points.
Instead if I choose a one plot graph the query returns 1 value(I think?), from one DUT SN. If I choose 5 plots it returns 1 value for each of 5 different SN's. Not what I want.
I'm guessing in your example you gave it is graphing historical values for those specific tags?
I was able to create the TDMS file I need (it's considerably larger than the one you are using in your example) but somewhere between when TestStand uploads the TDMS file and the SystemLink server saves it 95% of the data disappears - verified by downloading the TDMS file and examining it in Excel. However, if I SneakerNet the TDMS file to the SystemLink server and upload - the data is there and I can access it. Could it be a limitation of the demo version of SystemLink I am using (waiting for the PO to go through)?
The demo/eval version doesn't impact how any of the services work. Can you expand on how you are uploading the file from TestStand? Sounds like the file isn't being flushed to disk before you upload it to SystemLink.
TestStand saves my TDMS file on my client and then in TestStand my script passes the file path information to the "Upload TDMS File" step. My TDMS file has 27 groups each with 3 channels and about 70 measurements in each channel. I can see the test result in Test Monitor on the server. When view Parametric Data instead of having data options under the test step (on the right side of the screen) the name of the test step is repeated. If I preview the TDMS file on the server I see only see one of the TDMS groups. It has 3 channels but two of the channels error when I try to preview and the third channel only has 45 valid data points (instead of 70) with the other 25 being "0". When I download the TDMS file from the server that is exactly what I see in the TDMS file. When I upload a valid TDMS file to the server that I've copied to a USB drive from the client "Preview" looks fine. However, now "View Parametric Data" doesn't work for any of the test results so I think I may be ready for a new installation.
It still seems like some sort of race condition. My guess is that what ever is writing the TDMS file hasn't fully finished and flushed the buffer to disk before it starts uploading the data to the server, which results in the incomplete file. Can you try to add some sleep in you application after the file has been created and before it is uploaded to the server to see if that is the case.
That was the first thing I tried - adding a 10 second delay after the TDM file was complete - it didn't change. I want to try another way - slowing down the creation of the file - but now all my TDM files look like, "234j23k23ji4o23j2o234jk23" in the attachments. I uninstalled the server, reinstalled the server and repaired the installation and still the TDM files are corrupted. I've installed on another server but the PO hasn't come through and I don't have a valid license and I have another service ticket for starting an "evaluation" which according to the license manager is "available" but how?