NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Sequence call alternative?

Solved!
Go to solution

Hello everyone,

a Sequence call is causing me errors and problems.

A Sequence File is already done in Teststand and executes without errors.

 

My taks is to make a VI that Logs Errors into a File and then 'restarts' the Test from a specific point(PreUUT).

The sequence looks like this:

ERRORLOGGER SEQUENCE.PNG

 

The Error Logger works pretty fine. The problem is that after the PreUUT Sequence Call the Test returns to this Sequence, finishes it and returns to the exact place where the intial error occured without reseting any values or configurations.

 

Is there any alternative to avoid this problem? Do you have any idea?

=======
My Channel: https://www.youtube.com/@LV_Lab

0 Kudos
Message 1 of 16
(3,505 Views)

Hi,

 

To restart the execution of your sequences with the default property values, disable the sequence property 'Optimize Non-Reentrant Calls to this sequence' of your sequences

 

Regards

Laurent

0 Kudos
Message 2 of 16
(3,500 Views)

Hi, thanks for your answer.

I did what you said but the bugs are still there.

 

Is it possible to run the CleanUp of a Sequence from another Sequence?

or is it possible to move between Sequences without going back?deswegen gibts Fehler.png

 

 

 

Because that's what the Sequence Call does, it calls the Sequence and when it's done, the programs comes back. Is there any method to avoid that?

=======
My Channel: https://www.youtube.com/@LV_Lab

0 Kudos
Message 3 of 16
(3,465 Views)

Why don't you terminate the current execution and start another one ?

 

In you PostStepRuntimeError callback, don't ignore the error and terminate or abort the current execution. You can then start a new execution with PreUUT, Mainsequence ...

If you disable the property as I said in my previous mail, you will run the sequences with the default property values.

 

Regards

Laurent

0 Kudos
Message 4 of 16
(3,456 Views)

Because my task is also to Handle the Errors and Automate the execution of the Test.

 

One of the requirements is not to show any Error Dialog to the User when the error occurs in specific Sequences (MainSequence, Entwicklung, EOL, Referenz)

 

If i terminate it will pop a Error Dialog. I already disabled the property you mentioned, but I realized that's not the problem, the actual problem is to 'restart' the sequences, so it starts from the beginning and not where from where the error ocurred.

 

I'm trying to use the Execution.Restart method but i don't know how to use it. Is it an Action? or how do you place it in the Sequence. I'm sorry i'm relatively new to Teststand. And thank you for your answers.

=======
My Channel: https://www.youtube.com/@LV_Lab

0 Kudos
Message 5 of 16
(3,452 Views)

You can Implement the PreUUT Functionalities in the Main Sequence and call the Functionalities again when error encounters. In this case you dont want to restart or call PreUUT.

----------------------------------------------------------------------------------------------------------------
Palanivel Thiruvenkadam | பழனிவேல் திருவெங்கடம்
LabVIEW™ Champion |Certified LabVIEW™ Architect |Certified TestStand Developer

Kidlin's Law -If you can write the problem down clearly then the matter is half solved.
-----------------------------------------------------------------------------------------------------------------
0 Kudos
Message 6 of 16
(3,436 Views)

Thanks for your answer Palanivel.

 

The problem here is that the PreUUT defines which task is going to be made. Your solution is appropiate in the case that an error occurs inside the Main Sequence. But I need to handle the errors that happen in another 3 Sequences(A, B and C for example).

 

If I place the PreUUT funcionalities in those 3(A, B and C) Sequences, it wouldn't make any sense because the PreUUT tells the MainSequence which of these 3 (A, B or C) sequences to call.

 

Am I explaning myself? If not please ask me what thing i'm not explaining clearly.

 

=======
My Channel: https://www.youtube.com/@LV_Lab

0 Kudos
Message 7 of 16
(3,433 Views)

Maybe you can use a boolean property that you set to true when a error occur (in the callback PostStepRuntimeError).

 

When a error occur, you terminate your current execution and restart another one. In PreUUT and PostUUT, you display popups only if this boolean property is false. If it is true, that mean that a error occured, you can get the serial number that was previously stored in a property instead of displaying the popup where you enter the serial number

 

Regards

Laurent

0 Kudos
Message 8 of 16
(3,432 Views)

By terminate your current execution you mean the current step or you mean all the program?

If you mean terminate the step where the error ocurred, how can I make the condition to be evaluated exactly after it comes back from PostStepRuntimeError.

 

Regards

=======
My Channel: https://www.youtube.com/@LV_Lab

0 Kudos
Message 9 of 16
(3,426 Views)

I just did what you said(Laurent) and removed the Terminated banner with the boolean condition.

 

But I don't know how to do this "You can get the serial number that was previously stored in a property instead of displaying the popup where you enter the serial number"

 

Could you be more descriptive? 

Thanks.

=======
My Channel: https://www.youtube.com/@LV_Lab

0 Kudos
Message 10 of 16
(3,413 Views)