NOTE: The WATS add-on supports the reporting plug-in structure introduced in
TestStand 2012. This article describe how to implement WATS in custom process models prior to 2012. When using TestStand 2012 or newer, installing the add-on will update the result processing list.
NOTE: Use the WATS Client version 5.1 for this article.
Logging UUT reports from a TestStand sequence using the integrated WATS model is easy. Just install the WATS Client, install the TestStand add-on and run "TestUUTs".
However, what if the situation is different, if the test system is already running on custom-built process model? Is it possible to integrate WATS into an existing TestStand solution in a straightforward way? Yes it is, the following article discusses in details how. As WATS integrates smoothly with TestStand all changes needed in a standard setup is done in the TestStand model file.
- Download and install the WATS client (Not a WATS user? sign up for a free trial at www.wats.com)
- Install the WATS TestStand add-on from the WATS Client Configuration panel
- Launch the TestStand sequence Editor
Unless an unorthodox architecture has been used for the test system software no changes are needed neither in the TestStand sequence files handling the actual test steps nor in the settings of the TestStand environment used.
After installing the TestStand add-on, the default process model is changed to WATS_SequentialModel.seq, which is based on the original NI model. Open the file in the editor (double click the model name in the status bar). We will use this file to copy/paste functionality.
If preferred, you can now change the default process model back to the custom built (Configure>Station Options...>Model).
NOTE: If you are not using TestStand 2012 or newer but with the legacy process model structure, you must open the TestStand 2010 WATS_SequentialModel.seq file to continue with this article. Browse to C:\Program Files\Virinco\WATS\SupportFiles\TS2010.zip\Components\WATS_Models
Updating the custom model file
- Open your custom model file. In this example I'll copy the original SequentialModel.Seq and name it MyCustomModel.seq
- From WATS_SequentialModel.seq (already open), copy the sequence named WATS_CreateWATSreport and paste it into MyCustomModel.seq
- In the WATS_CreateWATSreport sequence, copy the Variables named UUT and StationInfo from Parameters to Locals
- In Parameters, change the type of "UUT" to UUT and type of "StationInfo" to NI_StationInfo (click the "Change Type" icon to the right).
- Delete the UTCStartDateTime Parameter
- Select "Specify Module" from the WATS_Create WATS report step. Change value of Parameter Name UUT to Locals.UUT and StationInfo to Locals.StationInfo.
- Check the "Default" box for the UTCStartDateTime Parameter
- Now it's time to add some meaningful data to the UUT Container located in Locals. Add a Statement step as the first step and name it "Copy UUT data". The required expression is:
Locals.UUT.SerialNumber = Parameters.UUT.SerialNumber, Locals.UUT.UUTLoopIndex = Parameters.UUT.UUTLoopIndex, Locals.UUT.CriticalFailureStack = Parameters.UUT.CriticalFailureStack, Locals.UUT.BatchSerialNumber = Parameters.UUT.BatchSerialNumber, Locals.UUT.TestSocketIndex = Parameters.UUT.TestSocketIndex
In addition, you can now fill out more information if available like UUTPartNumber - you have probably stored this somewhere in TestStand (e.g. StationGlobals). Refer to the TestStand User Guide installed with the WATS Client for detailed description of the ET_UUT datatype. We recommend that you at least add the units Part Number and also Revision.
- Add a second statement step and name it "Copy StationInfo data". Insert the following expression:
Locals.StationInfo.StationID = Parameters.StationInfo.StationID, Locals.StationInfo.LoginName = Parameters.StationInfo.LoginName
- From the WATS_Get Options sequence in the WATS_SequentialModel.seq file, copy the step Get WATS Station Info and paste it below the Statement steps. Select "Specify Module" and change all the values from "Parameters.[...]" to "Locals.[...]"
The sequence should now look like this:
- Next, from the Test UUTs sequence in the WATS_SequentialModel.seq file, copy the step WATS_Create WATS report and paste it after the PostUUT Callback step in the Test UUTs sequence in MyCustomModel.seq.
- The read balloon indicates a mismatch in the Parameters. Just click the balloon and "Clear All Unmapped Arguments"
You should now be able to log UUT reports to WATS from your custom Model file.