08-11-2015 10:56 AM
Is there a way for being aware of errors, after or while execution of a VI, without execution interruption ( thus also without error message blocking popups) AND WITHOUT needing to cable the error line through every single VI and function ? I need to be remote alerted of any error thus VI needs to continue working in case of error, for sending the alert.
Or, alternatively, could I trig an alerting VI on execution interruption of the first VI ?
Thank you in advance.
Charles.
08-11-2015 11:01 AM
Common practice in larger application is to have a parallel loop that monitors any errors. You do what your error clusters to be wired through every VI because your VI grouping should all be similar functionality, so you shouldn't want your code to finish operation if the first VI errors out.
Cheers
--------, Unofficial Forum Rules and Guidelines ,--------
'--- >The shortest distance between two nodes is a straight wire> ---'
08-12-2015 11:21 AM
Thank you for your reply.
Nice to know there is a possibility.
What should I put in that parallel loop in order to monitor errors ?
Does the common error handling VI handle errors even without being cabled on the error input ?
According to my first trials it doesn't.
What then should I put in that loop to make it aware of errors ?
I'm not sure to understand your sentence:
"You do what your error clusters to be wired through every VI because your VI grouping should all be similar functionality, so you shouldn't want your code to finish operation if the first VI errors out."
Thank you .
Charles.
08-12-2015 11:28 AM - edited 08-12-2015 11:29 AM
What should I put in that parallel loop in order to monitor errors ?
Does the common error handling VI handle errors even without being cabled on the error input ?
The error cluster is a boolean status, integer code, and string source. You can unbundle that code and handle specific codes, or do whatever you want with the Source. How would you expect the error handling VI to handle errors without inputting an error..? This is basic data flow.
I'm not sure to understand your sentence:
"You do what your error clusters to be wired through every VI because your VI grouping should all be similar functionality, so you shouldn't want your code to finish operation if the first VI errors out."
Oops, typo. I meant "You do want..."
Once again, you need to wire your error clusters through, or else whatever was in that error cluster wire will be lost.
Cheers
--------, Unofficial Forum Rules and Guidelines ,--------
'--- >The shortest distance between two nodes is a straight wire> ---'
08-12-2015 11:31 AM
Typically, you use a Queue to send the errors to your parallel loop. You can then do whatever you want with the errors from display, log, ignore, etc.
CharlesDel wrote:
I'm not sure to understand your sentence:
"You do what your error clusters to be wired through every VI because your VI grouping should all be similar functionality, so you shouldn't want your code to finish operation if the first VI errors out."
You normally have a group of VIs that depend on each other. For these, you will want to chain your error cluster from VI to VI and then either directly handle any errors or send them to your error handling loop. For example, you are reading data from a file, doing a little processing on them, and then displaying the data. There is no point in processing the data if you had an error while reading it, so you just let the process (and probably also the display) parts see the error and decide to not run.
08-12-2015 07:21 PM
The terminology you use plus the fact that you would ask this at all suggests to me that you are new to LabVIEW. Look at James Moriss' or crossrulz's signature and follow the link there. At the bottom, under "Looking For Free Training," there are many really excellent tutorials to read. Take them to learn some basic LabVIEW concepts and pepper us with questions on any difficulties you run into. 🙂
08-12-2015 08:18 PM