02-28-2019 02:26 PM
We are testing a UUT which has a number of internal slots. Each slot can be populated with one of several types of printed circuit cards (PCBs). The main test sequence calls sub-sequences created for each type of PCB. Example:
int iSlot = 1
Select PCBtype[iSlot] // Point to slot 1
Case PCB_Type_1 // subsequence to test type 1 PCBs
Case PCB_Type_2 // subsequence to test type 2 PCBs
Case PCB_Type_3 // subsequence to test type 3 PCBs
. // etc.
.
.
Else
ReportEmptySlot // indicate on the report that this was an empty slot
End
Slot = 2
Select PCBtype[iSlot] // point to slot 2
Case PCB_Type_1 // subsequence to test type 1 PCBs
Case PCB_Type_2 // subsequence to test type 2 PCBs
Case PCB_Type_3 // subsequence to test type 3 PCBs
. // etc.
.
.
Else
ReportEmptySlot // indicate on the report that this was an empty slot
End
etc.
iSlot is a decimal value the subsequences use to know which UUT slot to test. Each PCB subsequence is made up of subsequences and/or test steps.
the test operator sometimes wants to re-run specific tests in a subsequence on a specific slot. My first thought was to provide a way for the operator to input the UUT slot number when TestStand's "Run Selected Tests Using..." is used but I have not found a reliable way to detect this. Suggestions? Is there a better way to architect this?
03-02-2019 10:01 AM
My strategy for this kind of thing is to make different TestStand login types (e.g. Administrator, Technician, and Operator). When an admin/tech logs into TestStand and runs the sequence, a special dialog box is shown that allows the user to choose which steps are run in the sequence. When logged in as an operator, no dialog is shown and all steps are run. For this strategy, in PreUUT, I check the login permission and then determine whether to show the dialog and then to skip/run steps.
I imagine that you could do something similar where you can run the normal sequence in most cases, but give an option to run specific steps under some sort of condition (login type, presence of an existing report for a serial number, etc.)
03-05-2019 10:57 AM
Thanks for the reply, pulidotech.
That's an interesting approach...I'll investigate it further, although I'm concerned that the operator would have to log out of TS (which unloads the TS sequence and code modules) then the Admin/tech would log in and re-load the sequence. The operator typically decides to re-run a test step to see if a test failure is repeatable. Unloading and reloading the sequence could change or mask the step failure mode.
03-06-2019 09:56 AM
The login type was just an idea. I think another easy approach would be something like after an operator inputs a serial number, there's an extra checkbox that they can pick that allows for debugging of some sort and then if that box is checked, the operator then has the ability to pick tests/slots.