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:
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?
Solved! Go to Solution.
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
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?
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?
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.
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.
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.
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.
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
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.
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?