NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

How does Status column in Execution Window get set?

Thanks to Jonathan for the reply to my last post.
 
I have a couple of inter-related questions on step-types.  I understand the difference between a Pass/Fail step type and a Numeric Limit step type is that the code module being executed in one case returns a Boolean whereas the code in the other case returns a numeric.
 
I looked at the "Edit LabVIEW VI Call" dialog for a LabVIEW Pass/Fail step type and I noticed that the Boolean passed by the connector pane went to "Step.Result.PassFail" in TestStand.
 
Q1. What exactly is "Step.Result.PassFail" called?  Is it a "Parameter", a "Variable", or simply the property of the "Step" object?  In other words, how would I refer to it in a discussion?
Q2. If it IS a parameter, then when I use the expression browser in the "Edit LabVIEW VI Call", why do I see ANOTHER object (at the same level as "Step") called "Parameters"?  I do realize that this "Parameters" object does not contain anything until run-time.
 
From the viewpoint of a sequence itself, eventually each of these steps (Numeric Limit OR Pass/Fail) lead to a Passed or Failed (or Skipped) result as we see in the Execution Window.
 
Q3. I assumed that that result in the Execution window is tied to "Step.Result.PassFail".  Is that true?
 
With that in mind I studied the "Status Expression" for a Numeric Limit Test and this is what I found:
 
CheckLimits(Step.DataSource == "Step.Result.Numeric" ? Step.Result.Numeric : (Step.Result.Numeric = Evaluate(Step.DataSource)), step.limits.high, step.limits.low, step.comp)
 
Q4. There is no mention of Step.Result.PassFail in the expression above.  Why not?  In other words, how does the comparison with limits get translated to the Status column in the Execution Window?
 
Thank you.
0 Kudos
Message 1 of 2
(2,818 Views)

Hi 2and4,

Answer to Q1: Its a property of the Step or Result, depends where you are referencing from. If you are unsure then quote the lookup string eg "Step.Result.PassFail".

Answer to Q2: You are probably referring to the Parameters which belongs to the active sequence you have displayed in the sequence editor. Its empty because you have no Parameters defined in the sequence. Try this, in your active sequence, select the Parameters tab. Insert a Parameter, it doesn't matter what it is. Now view the Sequence Context by the Expression Browser. You should now is a + sign next to Parameter. Expand this and you will see you Parameter you inserted.

Answer to Q3: Yes, the actual result or status is in Step.Result.Status which is a String. This can be "Passed", "Failed", "Error", "Done"

Answer to Q4: If you look at the Status Expression for the PassFail step, you will see it has a different expression. The PassFail doesn't do any limit checking. If Step.Result.PassFail is True then the step passes and if False it fails. It's that simple.

I hope this helps.

Regards

Ray Farmer

 

Regards
Ray Farmer
0 Kudos
Message 2 of 2
(2,807 Views)