NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Repeating a Failed Sequence once more

Solved!
Go to solution

Hi,

 

I would like to repeat a failed Sequence once again.

There is a nice example that comes with TS. I have derived it to may needs.

 

Only StepTypes from SequenceCall and inside the MainSequence. AND report generation of the failed Sequence

should be done with the models report generator.

 

Now i have a problem with the report generation. The status object is missing.

In the SequnceFilePostStepFailure  the Objects "Result" and  "TS" are splited

I am not able to comine them together

 

Any idea ?

 

Juergen

 

 

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 1 of 13
(6,829 Views)

Hi Juergen,

 

I can see the error but I don't understand exactly what you are trying

to do. Why did you change the Testreport Callback? What should it do?

Perhaps you can make yourself a little more clear.

Regards
DianaS
0 Kudos
Message 2 of 13
(6,792 Views)

Hi Diana,

 

Yes the Testreport callback makes no sense here. I have forgotten to delete it in this

example.

 

Now i have also skipped the call to models report generation. You should be able to run the example.

As you can see you are able recall the failed sequnce once more. And only the passed one will be reported

(on "weiter"(next) the failed is also reported.)

 

My aim is that i like to report every sequence (see upper  post) that enters the SequenceFilePostSetpFailure Callback.

How doing this ? --> using the report generator.

But in this callback there is no valid result parameter for doing this because they are splitted.  

that means you have to create it or trie "something" other.

 

 

Regards

Juergen

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 3 of 13
(6,785 Views)

Hi Juergen,

 

the easiest way would be to enable on-the-fly-reporting in >> configure >> report options.

 

 

Regards
DianaS
Message 4 of 13
(6,781 Views)

Hi Diana,

 

On-The-Fly means my report is generated every time a step is executed  

That is no option for me. It must be generated when S..F..PostStepFailureCallback and the special Condtions occures.

 

Regards

 

Juergen 

 

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

Hi Juergen,

 

in this case I think would be easier not to use the SequenceFilePostStepFailure Callback but to

use the PreUUT and PostUUT Callback. 

In the PostUUT you can check wether the sequence failed and then set a StationGlobal to False

and when the sequence passed you set this StationGlobal to True.

In the PreUUT you check this StationGlobal. If it is true the testing will stop,if it is

false the testing will continue.

Regards
DianaS
0 Kudos
Message 6 of 13
(6,749 Views)

Hi Diana,

 

Thanks for your answer, but PreAndPostUUT Callback is no option.

I think i have not done my explanation bad. With the SequnceFilePostStepFailure

I like to report only the snipped of the failed Sequences to a special filedrive with a special filename.

Assume the recalled test sequence is passed there is information of the failed one.

Note: This behavior is desired. If you look on the example that comes with TS you will see

that the recalled ones are in mainreport, but i do not like this. I like them in a special folder.

 

I need this "feature" during  putting my test into opertaion. You have offen some poseudo failures

as cause of bad adjustment.   

With this i am able to see more quickly how often failures in preproduce series occures.  

 

Juergen

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 7 of 13
(6,747 Views)

Hi Juergen,

 

report generation is part of the process modell and should also happen in there.

So best way would be in processmodell check after report generation if the MainSequence Callback

has failed and if so jump back to MainSequenceCallback. If MainSequence passed then you can finish.

You will get an report which includes all failing and the passing reports.

If you want the failing report in a special folder you can adapt the report path during runtime with Locals.ReportFilePath

Regards
DianaS
0 Kudos
Message 8 of 13
(6,742 Views)

Hi Diana,

 

Sounds nice but i do not want to change the process model at all. 

It must work with every procees model.

 

If you take a look to the skipped SequenceCall you will see that i am calling the models

report generator of the current station. 

The most important parameter here is: MainSequenceResults which contains the all report Information

of the MainSequence. But dont be afraid of the word "MainSequence"  it is  ONLY a simple Sequence's result.

 

It is from the Type Result. Oh great! in SFPSF Callback there is Parameter.Result but the Status object is missing here.

It is in unfortunately in Parameter.Step. And that is bad!

 

I have to combine them and then it should work!

 

Juergen

 

 

  

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 9 of 13
(6,738 Views)

Juergen,

 

This example is implemented such that upon clicking Retry, the data for the previous execution of the sequencecall is removed from the ResultList. If you want to avoid this behavior and would like to see each failed attempt as well as the final passed attempt, you should skip or delete the Remove Report step from your sequence (see screenshot below). This step deletes the previous sequencecall data from the ResultList. If the data does not exist in the ResultList, the report generator has no way of including it in the report.

 

forJuergen.png

 

Hope this helps.

Manooch H.
National Instruments
0 Kudos
Message 10 of 13
(6,699 Views)