Value Change Event Does Not Trigger with a Value Change on an Indicator

Updated May 15, 2019

Reported In

Software

  • LabVIEW

Issue Details

Using an Event Structure, I configured a case to execute when there is a Value Change of an indicator on my front panel. In my VI, the indicator is sent a value from another part of my code. When I run the VI, I can see the indicator value changing, but the code in the event case that I configured never executes. Why is the Event Structure not registering the Value Change of my indicator?

Solution

The Event Structure only registers events generated by direct user interaction with the front panel, therefore when an indicator value is changed programmatically, LabVIEW does not register a Value Change event. Furthermore, Value Change events do not occur if you use VI Server, global variables, local variables, etc. to change VI or front panel objects programmatically.

 

Additional Information

The exception to the above is that events for controls and indicators can programmatically be generated with a property node, using the property Value (Signaling). This write-only property creates an event that acts like a front panel value change each time it is written. Beware of using this property in a loop, however, because if it is written in each iteration of the loop, it will generate a value change trigger for each iteration, regardless of whether the value was actually changed.  

The following code uses the Value Change (Signaling) property to update the indicator as well as to generate an event.  When the "A*B" indicator is updated, the event structure will register the event and update the "Last Updated" indicator with the current time.  Just using the Value property would not cause the event to trigger.
 
 
Note: This image is a LabVIEW snippet, which includes LabVIEW code that you can reuse in your project.
To use a snippet, right-click the image, save it to your computer, and drag the file onto your LabVIEW diagram.

WAS THIS ARTICLE HELPFUL?

Not Helpful