From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

RunState.ProcessModelClient. How to access the results from the steps which are in loops?

Solved!
Go to solution

Hi,

 

In my sequence I have to do some analysis on the results before I quit from the MainSequence and return to the process model. Basically, I need to check did certain steps has passed.

 

I access the results using RunState.ProcessModelClient. Using this I have access to the results list. I'd like to write that I have the access to every result but I can't as I spotted the results of the steps which are looped are not accessible (they are not there); however they are on the report.

 

How it is possible? How to access the looped results? Where are they?

 

K.

 

0 Kudos
Message 1 of 3
(5,228 Views)
Solution
Accepted by topic author MimiKLM

Hi,

  not too painful :

  loop results are in the normal place in line, it's just the layout that will look a little confusing :

You're using a few revisions back from my TestStand (you're on 3.1)

 

ResultList.PNG

The Runstate.ProcessModelClient is effectively a copy of the edit time space, not the running space - it's of type SequenceFile which means that although you can see the layout of the Result containers that belong to each step, they're there permanently, and not filled in in that run time location.

 

At the mainsequence level, you're still in your client, so you can go to Locals.ResultList directly.

Inside there you have the singular element which is your result from the first and only step in your Mainsequence.

Inside that there is the .TS.SequenceCall container. This is effectivey the resultlist from your step that calls seq1 (still Mainsequence) so inside that, there is another ResultList.

This is the ResultList for the sequence "Seq1". 

That has only one element since that sequence only has one step in it of type SequenceCall.

[0].TS.SequenceCall.ResultList.

From there you can see lots of results even though you only have 4 effective steps in this Sequence.

12 results relates to :

3 iterations of ("For" "Test2" "End"),

and then the final 3 elements are "Test1" loops 2 more times.

Whenever you set a step to loop, and you include the results from each iteration, you get those results (2 in your case) plus an overall pass fail based on the criteria (yours is set ot 100% must pass to consider the step to have passed after all the iterations are complete.

Note in your Pre Expression where you modify the step name on the fly, your Test2 labelled step changes the name to "Test1 " + Str(Locals.LI), and the Test1 labelled step uses the same expression so this will look slighty confusing as you traverse your results.

 

Hope that helps.

Thanks

Sacha

 

// it takes almost no time to rate an answer Smiley Wink
Message 2 of 3
(5,185 Views)

Link to the NI TS Idea forum with suggestion how to improve on-the-fly access to results: https://forums.ni.com/t5/NI-TestStand-Idea-Exchange/Make-the-access-to-the-test-results-data-during-...

0 Kudos
Message 3 of 3
(4,721 Views)