This article describe how to log and analyze chart data (array/plots) on single Units and analyze them using WATS Reporting.
Content:
Add data using LabVIEW
Add data using Python
Analyze data
Export Graph data
Add data using LabVIEW
1. Insert a new step and create a empty/new VI from the template
2. The LabVIEW template has one "Measurements" and one "PlotsArray" output (in addition to Report Text and error out). The data type of "PlotsArray" is the same as the data type of the LV XY Graph. Use the "PlotsArray" to output up to 10 plots and 10K elements. The "Measurements" is used for the calculated values like frequenzy, gates, PtoP, etc.
3. See the default parameter settings below
4. define the "limits" according to the output "Measurements".
5. Edit the Graph settings
Add data using Python
The attached example "teststand_python_graph.zip" (scroll to bottom of artickle) illustrates a method of interfacing python code with WATS XY Graph Multiple numeric limit test.
Usage
Python example consists of a single file `generate.py` which contains a single class called `Generator`, this class provides all the necessary code to generate plots and measurements, supplementary `test.seq` file shows a potential way of using the above mention python code for generating plots.
See the README file for details.
Analyze data
The UUT report will display the chart data graphically:
To analyze multiple Units, navigate to the "Test Step yield & analysis" report and select the proper step. Then in the details view, click on the "Analyse chart data" button.
The next view will overlay chart data from multiple Units:
Export Graph data
Select the Export wizard from the reporting menu.
Select UUT Reports and data source Chart data.
Select preferred format and filter.
Comments
10 comments
Just what I needed. Thanks.
Nearly there, I want to add Limit Lines to my Graph. But how do I get the 'PlotArray' data from the LabVIEW vi to use as the 'Data Source' for the limit test? The 'PlotArray' contains an Array of a cluster of 1-D Array of a cluster (See PlotArray_DataType.jpg) attached. I need a 1-D array of 'y' data to test aginst the Upper and Lower Limit Lines, presumable defined in the 'limit' tab.
Hi,
Basically you can add limits as 2 new plots (Upper/Lower limit). One way is to use the limits from TS to generate the plots. See example
Thanks for the swift response Tom. I can generate the limit lines, as you illustrate, on the plot. But I wish to test each data point of the measurement trace against the limit and to 'Fail' if the limit is exceeded. Is this possible?
Thanks Tim.
yes, but you have to implement it "yourself" using e.g. the Limit Testing functionality of the Waveform Monitoring (so a little bit handling between XYG and waveform types).
Another tip is to count the number of points outside HighLimit and LowLimit and return them to TS using Measurements. Then, use e.g. EQ (==) 0 as limit of the measurements. This way, you can trend number of points outside spec in Test Step Yield & Analysis.
I hope this is helpful.
Thank you Tom. I now know the workings of the XYG Step and have a solution to my requirement.
Hi,
I am facing a problems with trying to use WATS XY Graph MNLT step type. In my measurement VI the PlotArray output datatype is exact the same as described in this document. But it gives error when i am trying to assign PlotsArray VI output to "Step.PlotsArray" variable. Following error message comes up:
And my PlotsArray cluster is following:
Thanks,
-Jarkko
Jarkko, I will follow up in a support ticket.
The example refered to in the article is this one:
C:\Users\Public\Documents\National Instruments\TestStand 2017 (32-bit)\CodeTemplates\WATS-XYGMNLT-LabVIEW
, right?
@Erijensen; Correct
Please sign in to leave a comment.