Events in LabVIEW

LabVIEW generates events from the following sources:

Note��LabVIEW also supports ActiveX and .NET events, which are external I/O events that you can generate programmatically.

Each event is associated with a control on the front panel of the VI, the front panel window of the VI, a pane of the VI, or the LabVIEW application.

Note��LabVIEW generates events for a VI only while that VI runs or when another running VI calls that VI as a subVI.

User Interface Events

With user interface events, you can design an application so LabVIEW generates an event each time a user performs a particular action on the front panel. Each time that event occurs on the front panel, the block diagram responds according to the code you write for that event. Compared to polling the user interface in a loop for interactions, user interface events reduce the CPU requirements of the program, simplify the block diagram code, and ensure that the block diagram can respond to all interactions the user makes. LabVIEW categorizes user interface events into two different types of events.

Programmatically Generated Events

With programmatically generated events, you can generate events from the block diagram without user actions on the front panel. Programmatically generated events communicate among different parts of the program that have no dataflow dependency. For example, one part of an application may run a continuous loop to monitor a temperature sensor and generate a user event when the sensor reaches an alarm level. In a different part of the same application, an Event structure executes to handle both the user event generated when the sensor reaches the alarm level and a user interface event that the Event structure handles to notify the user of the alarm condition. Handling both user interface events and programmatically generated events in the same Event structure allows you to implement more advanced architectures, such as queued state machines using events.

Note��In general, LabVIEW generates user interface events only as a result of direct user interaction with the active front panel. However, you can use the Value (Signaling) property to generate a Value Change event programmatically.