LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Error Disables All Other Events

Solved!
Go to solution

I am using a property node for my STOP button to trigger an event within an event.  Everything was working fine when I just threw it together; added error handling and cleaned stuff up it no longer worked.  The symptom was my event within the first event never seemed to fire.

 

I broke it down to simple stuff and I found out what causes this but I do not know why ... as usual.  Apparently, when I run an error cluster through my property node AND I trap an error (simulated by me toggling the boolean to T as in the screencap) no other events work except the one currently running, which happens to be the Application Timeout event.  If no errors, I can fire events within events all day long.

 

No other events except timeout and "stop -> value change" in my little sample VI.  My workaround was to avoid running the error cluster through the property node.

0 Kudos
Message 1 of 4
(2,468 Views)

And just What did you expect the p-node to do with error in =T

Standard error in functionality is as follows:

error in describes error conditions that occur before this node runs. The default is no error. If an error occurred before this node runs, the node passes the error in value to error out. This node runs normally only if no error occurred before this node runs. If an error occurs while this node runs, it runs normally and sets its own error status in error out.

 

 


"Should be" isn't "Is" -Jay
0 Kudos
Message 2 of 4
(2,462 Views)

I was expecting one of two outcomes:  Either the error would be passed through to my error out indicator and the inner event would fire or the error would be trapped and things would stop.  Instead, the error wasn't flagged (except in the debugger where I saw it propagate) and the timeout event kept going indefinitely.

0 Kudos
Message 3 of 4
(2,433 Views)
Solution
Accepted by topic author HoomonPlayDomjot

Nodes typically will not execute if error in is true. There are exceptions such as closing references. The LabVIEW help will tell you if the node executes normally when error in is true. The property node will not execute since you forced an error into it.

 

Try out user events. Sure there is a lot more wires involved. But you can use Action Engines to store references and hide the creation, registration, unregistration and destruction of the user events.

 

Timeout will continue executing. The loop has a false wired to the stop if true terminal. You have to wire a -1 to the timeout terminal to stop it from executing.

 

Here is something that I think does what you are trying to do. Study it with the context help open and highlight execution turned on. (Also attached for LV8.2)

 

Example_VI_BD.png

=====================
LabVIEW 2012


0 Kudos
Message 4 of 4
(2,414 Views)