NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Execution status confusion

There has been some confusion on our production floor concerning the execution status not matching the UUT result so I did a little experiment with the full featured UI and the Demo computer mother board test.  The results replicate the issue and is shown in the attached picture.

What I did was to run the example sequence three times consecitivly (i.e. within the UUT loop) and set the first and third SN to pass and had the second run fail.  When the execution completes the exection status seems to indicate that the Run 3 failed which confilicts with the UUT status.  I am thinking this may be a bug.

Any comments?

 

0 Kudos
Message 1 of 12
(2,467 Views)

If any one UUT fails within the Execution then the Execution fails. This is a feature 😉

CTA, CLA, MTFBWY
0 Kudos
Message 2 of 12
(2,429 Views)

That is how I explained it to the operators, but they don't have the insite into the whole process model, executions etc. So, it was very hard for me to defend them saying, "look right here, it says fail, Run 3".

0 Kudos
Message 3 of 12
(2,426 Views)

You can change the behavior by overriding the PreUUT callback or modifying the process model to do:

 

RunState.Root.RunState.SequenceFailed = False

 

If you put this in the preuut callback, it should be the last step and you should give it a precondition of:

 

Parameters.ContinueTesting

 

So that it doesn't set it to false if the user says to stop so you will correctly get failed if the last UUT failed.

 

Hope this helps,

-Doug

0 Kudos
Message 4 of 12
(2,418 Views)

Doug,

This did not work.  RunState.Root.RunState.SequenceFailed must not be the correct variable that is being displayed at the end but I think I understand the workaroud you are suggesting.  I'll see if I can determine what status is being displayed.

Thanks,

Paul

0 Kudos
Message 5 of 12
(2,414 Views)

 I'll see if I can determine what status is being displayed.



BTW I gave up on this.  If anybody has a workaround, let me know.

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

One of the work around or containment  :

 

1) Dont display the confusing execution status.

2) Create a status window ( custom panel) to display the status compatible with the end users.

 

Details:

1)Over ride process clean back in your test sequence.

Add this in a statement step :

RunState.Thread.PostUIMessageEx(UIMsg_CloseWindows, 0, "", RunState.Execution, False)

 

2)Over ride Post UUT in your sequence

The Post UUT has the relevant status details in parameters

parameters.result.status ( Passed or Failed)

parameters.UUT.serialnumber

 

Use this to update a custom status panel developed in Labview or CVI...

 

Hope this helps.

Message 7 of 12
(2,396 Views)

SunRS,

Your #1 was close to a solution that I found desirable, however I didn't like that the execution was closed and didn't allow viewing of the report.  But, UI message and the ProcessCleanup callback were the keys to make the desired solution.  What I did was place the following UI message in the ProcessCleanup callback.

 

RunState.Thread.PostUIMessageEx(UIMsg_ModelState_TestingComplete, 0, RunState.Root.RunState.Sequence.Main["MainSequence Callback"].Result.Status, ThisContext , False)

 

Thanks,

Paul

 

 

(mark 1 more for the production operators)

 

0 Kudos
Message 8 of 12
(2,388 Views)

Also,

I added the following precondition to that step:

 

AnyOf:

    !RunState.Root.RunState.SequenceFailed

    !RunState.Root.RunState.SequenceError.Occurred

End AnyOf

 

 

0 Kudos
Message 9 of 12
(2,386 Views)

@paulmw wrote:

Doug,

This did not work.  RunState.Root.RunState.SequenceFailed must not be the correct variable that is being displayed at the end but I think I understand the workaroud you are suggesting.  I'll see if I can determine what status is being displayed.

Thanks,

Paul


It worked for me, I tried it before I suggested it. What version of TestStand are you using and what process model?

 

-Doug

0 Kudos
Message 10 of 12
(2,356 Views)