Hello,
I am currently developing an application using TestStand and I would like to restart a sequence without terminating it.
Here are the details from my system.
I am currently using TestStand 2014 SP1 on Batch Mode with 4 sockets. I have modified both the PreBatch and PreUUT Callbacks in order to fit my needs.
During the PreBatch CallBack, my customized VI just asks the operator if they want to Disable any socket. If they select to disable any sockets I use the function "Parameters.ModelData.TestSockets[n].Disabled" to disable the socket for that specific run, where "n" is the number of the socket. This is working perfectly, since let's say that the operator disables socket 1 for the current run, after the execution is complete, the PreBatch VI will allow the operator to enable back the socket 1 for the following execution.
After this step, the PreUUT CallBack uses another customized VI that will open to the operator an UI where he can insert the SN for the enabled slots. Any slots that were disabled in the previous step won't be shown here, which is working fine. So in this step the operator inserts the SN and the VI verifies if the SN is available on a specific Database.
So looking to the perfect scenario, all 4 UUTs will be found in the Database and the test can execute normally.
But sometimes, the operator may have exactly 4 UUTs and let's say that one of them is not found in the Database. That means the test can't be done for that UUT and if the operator had all 4 Sockets enabled from the previous step he won't be able to proceed since he does not have 4 UUTs ready for test, but only 3. That's why this VI will have a "Cancel" button.
That said, I would like to be able to do any of the two options bellow when the operator hits the "Cancel" button during the PreUUT step:
1) The Execution Restarts. This way, the PreBatch customized VI will appear again and since the operator knows that one of the UUTs can't be tested, he will disable one of the sockets and proceed to the PreUUT step where he will have to insert the SN for 3 UUTs, instead of 4.
(I prefer this one).
Or
2) The Socket is disabled only for that run. The problem with this one, is that I understand that is not safe to disable a socket at this stage, that's why I can do that successfully on the PreBatch step, but it does not work here. I have even tried some commands such as "RunState.Execution.RestartEx" but the problem with this command is that it terminates all the sockets and even after enabling them at the PreBatch Step, they all get disabled so the PreUUT customized VI does not even show up again.
So to summarize, my PreBatch step is working perfectly since I can disable any number of sockets for the current execution, and on the next execution I can enable or disable any sockets and they will be reflected in the PreUUT step. My problem is that I don't know how to restart or disable a socket only for the current execution while I am at the PreUUT step.
Could someone give me some help here?
Thank you so much.
Regards,