04-26-2013 05:01 PM
Hi,
I have a question:
How do I pass serial number read from a PCB so it will be embedded in Test Report file name for that test sequence. I am running Sequence in “New Execution" - Single Pass.
My test report file after I run test does not have serial number: “TEST_Rev6_Report[NO_UUT_SERIAL_NUM0][2 32 24 PM][4 26 2013].xml” but my Report Header has serial number present.
Thank you,
Henry
04-29-2013 04:20 AM
In the "Single Pass" execution (using the sequential model) the Report path is set before the call to your mainsequence. You have 2 options to fix this:
1. Adjust the Single pass sequence in the SequentialModel.seq file (or create a new process model based on this file). Add a callback to get the serial number before the "Determine Report File Path" step or copy the "Determine Report File Path" to a position in the sequence where the serialnumber is known.
2. Create a path by expression and set the report option to create a new file for each UUT status, the following booleans will be true in this case Locals.GeneratePathByExpression && Locals.ReportOptions.NewFileNameForEachUUTStatus. The "Determine Report File Path Expression" after the MainSequence call will be executed in this case. You don't have to edit the process model if you choose this solution.
04-29-2013 12:51 PM
Will option 1 works for "Single Pass" execution using the parallel model?
Could you please provide an example how to create a path by expression and set the report option to create a new file for each UUT STATUS?
Thank you,
Henry
04-29-2013 01:57 PM - edited 04-29-2013 01:59 PM
The attached screenshot shows how to set your report options, make sure you have the <TestSocket> and <UUTStatus> macros included in the Report File Path otherwise the serial will not be filled in the filename (Generate path is called a second time from the Single Pass -- Test Socket Entry Point sequence).
I used the ParallelModel.seq to test it.
The attached sequence file shows how to set the serial number.
Search for "Specifying Report File Paths by Expression" in the help for more macros.
04-30-2013 12:39 PM
Can this method be used in TestStand 3.1?
Also, could you please elaborate more on the first option (Adjust the Single pass sequence in the ParallelModel.seq file).
Can you provide an example?
Thank you,
Henry
05-01-2013 11:31 AM
Hi HenryG
One other approach you can look at, specific to TestStand 3.1, to include the serial number is to use a Message Popup and add it to the step response. The lookup for the Serial Number is RunState.Root.Locals.UUT.SerialNumber
You can find more specific documentation here:
http://digital.ni.com/public.nsf/allkb/ECCDA0BB2DBBB863862570310070E732
Regards,
05-02-2013 09:18 AM
I don't know if it can be used in TestStand 3.1, I only have experience with TestStand 2010 SP1.
I've attached a modified parallel model, in the "Single Pass -- Test Socket Entry Point" sequence I've added a step to determine the path specified by the expression in the report options. This step has no preconditions and will always be executed, the "old" steps are set to "skipped".
05-03-2013 01:06 PM
Hi James,
In my case, this solution will not include the serial number in the Test report file.
I am running my Sequence in “New Execution" - Single Pass. I’m reading serial number from the PCB and storing it in “Parameters.SerialNumber” variable. I update my test report by Statement” RunState.Root.Parameters.TestSocket.UUT.SerialNumber = Parameters.SerialNumber”. After I execute this step, the serial number is embedded in my test report header but my test report file does not have serial number: “TEST_Rev6_Report[NO_UUT_SERIAL_NUM0][2 32 24 PM][4 26 2013].xml”. This report file is generated before I even red my serial number. I’m using “On-the-Fly–Reporting and XML report format.
Thank you,
Henry