04-08-2009 02:37 PM - edited 04-08-2009 02:38 PM
04-08-2009 02:41 PM
04-08-2009 02:55 PM
I would probably use the Select in each state where a hardware error might occur. Use a shift register to pass the error between states. Make sure every state has the error wired through it! In the error handler state, use a Simple Error Handler function to popup a message and inform the user. Define the next state in the error handler as 'Done'.
This is pretty basic. At some point you could get a lot fancier and attempt to fix the error and resume or restart but the above should get you started.
04-08-2009 03:17 PM
04-08-2009 03:48 PM - edited 04-08-2009 03:49 PM
STOP THINKING OF ERRORS AS ANYTHING TO DO WITH YOUR TEST RESULTS!
The attached picture shows a state where you are applying a logic level. All of the other states would be exactly the same except for the state to run next when no error exists.
04-08-2009 04:01 PM
04-08-2009 04:11 PM
You would do the same thing in every case where there is a function that returns an error. You are not looking for any errors now. I keep repeating myself about that. An error in LabVIEW is not the same thing as a fault in your product. None of those Booleans you have in your existing code are the type of errors you need to be trapping. You are looking for pass/fail conditions right now and only pass/fail conditions. A error returned by a function (i.e. DAQ Assistant) is completely different. A measurement that you take may return a Boolean false that indicates a failure of the product but it is not an error as defined in programming.
There is a lot of information in the on-line help about errors. As a start, search for the topic 'errors>handling' and try to stop thinking of your pass/fail measurements as the same thing.
04-08-2009 04:28 PM
04-09-2009 08:02 AM
I have two subVIs, one just sets all outputs to false at the beginning of the program and at the end. The other subVI are all the digital inputs that are being checked...ill post them both
04-09-2009 08:18 AM