NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

How to clear Fail status of a repeated step

Do to the nature of our hardware I have designed "retry" into the bring up sub-sequence of the tests (for modifying bios settings). If a step in the sub-sequence fails I reset the board and try again (up to 3 times). If the steps succeeds on a subsequent execution I want the sub-sequence to Pass but TestStand always returns a Fail, I assume because a step failed once. How can I use only the results from the last occurance of these retries?
0 Kudos
Message 1 of 10
(5,189 Views)

Hi,

Just for more understanding please post a small example.

Greetings

Juergen

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 2 of 10
(5,177 Views)
Locals.RetryCount=0
Pass/Fail GoIntoBiosAndWait  (RunOptions->StepFailureCausesSequenceFailure is unchecked)
        Fail = next step         Pass = ProgramBios
 
If (RetryCount <=2)
   goto GoIntoBiosAndWait
   Locals.RetryCount++
else
   Pass/Fail  SetFailure        // this function in the dll simply returns a failure so that the sequence fails
        Fail = EndGroup Pass=EndGroup
end
ProgramBios
<EndGroup>


Message Edited by jholcomb on 04-22-2008 08:09 AM
0 Kudos
Message 3 of 10
(5,165 Views)
Hi jholcomb,
 
Hi have written a seq-file of your code.
The major thing is that i have unabled result recording for GoIntoBiosAndWait
 
Take a look on it.
 
If you need GoIntoBoisAndWait always as passed  in ResultList.
I have to figure out some stuff.
 
Greetings
 
Juergen
--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 4 of 10
(5,149 Views)
Hi,

You could go to the Properties of the GoIntoBiosAndWait and then look at the Looping section.

Change the Loop Type to Pass/Fail count
Uncheck Record result of each iteration

Set it to:
Stop after 1 iterations
pass or after a maximum of
3 iterations.

This will make the step loop up 3 times or until it passes, and record the step passed.

Let me know if you have any questions.
Kristen
National Instruments
0 Kudos
Message 5 of 10
(5,143 Views)

Hi Kirsten

Thats a quite good solution !

Juergen

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 6 of 10
(5,132 Views)

Hi Kirsten

Thats a quite good solution !

Juergen

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 7 of 10
(5,131 Views)

Hi Kristen,

I dont think that will work, a change in the record result property will only become effective when you next execute the step. ie that step must return back to the sequence and moved to the next step. If you use an external loop rather than the Step Loop then it would work.

But then remember that if this step gets called again, the Step Record Result would be in the enabled state and therefore would have to be disabled before its called. Unless it an new execution, the Sequence / SequenceFile conatining the Step was unloaded after its execution.

Another option would be to use the PostResult callback and discard the result.

Regards

Ray Farmer

Regards
Ray Farmer
0 Kudos
Message 8 of 10
(5,115 Views)

Hi Ray,

I think that the suggestion of Kirsten is working, if you are using custom step-looping.
I have rewritten my example (Looping enabled, ResultRecord and ...Seq.Failure enabled). 
Just take a look on it. 
To set it to "Failed", set: Locals.nRetryCount ==2 to Locals.nRetryCount ==4

Let's hope thats that what jholcomb is looking for Smiley Happy

Greetings

juergen

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 9 of 10
(5,107 Views)
I believe Kristen's fix will work... I will try it later today, and thanks to all for the help
0 Kudos
Message 10 of 10
(5,095 Views)