Hi all, I'm after ideas for how to handle unexpected behavior in our test equipment - NOT the UUT.
As an example, we have a drawer in which the UUT is placed and which is pneumatically driven open or closed. In the closed position, the UUT is in position for testing. In the open position, the UUT is in position for unloading. The pneumatics are driven by firmware which can accept commands to open / close the drawer and report the current state of the drawer. We have developed a LabVIEW driver to command the firmware to open/close the drawer and retrieve the current state.
In PreUUT in TestStand, we command the drawer to open (via the LabVIEW driver), wait for it to fully open, then when the previous UUT has been removed from the drawer (separate process) and a new UUT placed in the drawer, we command the drawer to close and wait for it to fully close, before progressing to the Main test sequence.
The problem is handling unexpected behavior in this process, such as losing air pressure to the pneumatics (due to E-Stop which we can't otherwise monitor) and the drawer open/close process can't complete in a timeout period, or if our command to open/close the drawer is rejected (NAK message). I assume what we want to do is continually loop around PreUUT until we meet all of the testing conditions. Is just retrying the whole PreUUT sequence repeatedly until it finally passes the best way to handle this or is there a better approach?
I think you can use functions from "Flow Control" as well. For example, "If" and "For" functions.