NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

results of sequence calls in new execution

Hi,

I have a problem concerning the access of result parameters after executing a test sequence. Assume I have a main sequence with 3 sequence calls which are executed in a new execution. This 3 sequence calls include various vi's. I would like to get the result of each of these vi's. For example a "Numeric Limit Test" and a "String Value Test" which are standard test types should deliver status=passed or status=failed - each of them in the related sequence call result list. What I actually get is just a result list which does not include the results of every vi but a result for the whole sequence call. It sets status=done and the StepName to the name of the corresponding sequence call name.
If I insert a wait step for each sequence call it gathers the results so I can access them in SequenceContext.Parameters.MainSequenceResults.TS.SequenceCall.ResultList[x].TS.SequenceCall.ResultList[y].Status="Passed" for example in the wait step. But I would prefer to have the results included in the result list of the sequence call and not in the wait step.
Another opportunity is to nest the vi's in a subsequence call. So you have MainSequence:SequenceCall1 -> newSequence1:VIsequence -> Visequence:*.vi, *.vi, *.vi. In this case you get the results in the corresponding calls and the result of every vi. But I wonder if I have to nest it or include a wait step to get the results like I want them. Is there any option I have to set or a synchronisation step I can include to get the result of every vi in the correct sequence call result list?

Any help appreciated and thanks in advance
Nicole
0 Kudos
Message 1 of 3
(2,931 Views)

Hi Nicole,

I assume that you want to get the behavior you get when you configure the sequence call step to run the subsequence within the same thread. (MultiThreading and Remote Execution = None).

You do not get the result list array of the subsequence because you are running the sequences in a new execution and every execution keeps its own copy of the local variables.

You could use a station global variable to save your result list every time you execute the sequence in order to have access to these results in the other executions.

If you synchronize your steps properly you can make sure the results contained in the station variable correspond to the last sequence execution.

Take a look to the attached example.

 

Hope it helps.

 

0 Kudos
Message 2 of 3
(2,922 Views)
Thanks for the help. I solved it by assigning the results of the sequence calls to a station global variable.
0 Kudos
Message 3 of 3
(2,896 Views)