NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Need new result file for each iteration of a loop

I am using TestStand 2010 SP1.  I have a main sequence that essentially does the following:

Initialize the test equipment and set up the test environment [Sequence Call]

Start Loop

Run Tests [Sequence Call]

End Loop

Because testing can continue for hours, the resultant report file is enormous and difficult to evaluate. I need to create a new result file for each loop iteration.  I know that starting a new execution of “Run Tests” will create a result file for each iteration of the loop, but the new execution will not have access to the handles to the test equipment that were made during initialization.  The testing is time critical, therefore initializing the test equipment and setting up the test environment must occur outside of the loop. 

 

How can I programmatically create a new result file at the beginning of the loop and close the result file at the end of the loop?  I am open to any other suggestions.  Thank you in advance for your help!

0 Kudos
Message 1 of 6
(3,405 Views)

Why are the handles to the test equipment inaccessible? Can they be made accessible or passed in a parameter?

0 Kudos
Message 2 of 6
(3,403 Views)

Good question.  Our software is architectured such that all communications with the test equipment occurs in DLLs and the handles are stored in those DLLs.  Changing the source code to pass the handles in and out of the DLLs and rewriting the existing sequences would add a significant amount of work. 

0 Kudos
Message 3 of 6
(3,392 Views)

Have you tried configuring the sequence call step to run in a new execution? I'm not sure why that would have any effect on the sharing of handles in your DLLs.

0 Kudos
Message 4 of 6
(3,389 Views)

Hi,

 

You could modify your process model by making a copy of Test UUTs entry point. Then make the loop that usually tests multiple UUTs into your loop. Take the loop and init out of your sequence. You can init in PreUUTLoop or the other pre loop sequence, and maybe store your references in runstate.root.Locals and pass them to MainSequence. Then you can use Report Options to set it for separate report files.

 

cc

0 Kudos
Message 5 of 6
(3,373 Views)

Storing your instrument handles in station globals should do.Then you can use new executions for your tests.

0 Kudos
Message 6 of 6
(3,359 Views)