Event Structures Are Not Working on My CompactRIO/PXI in LabVIEW

Updated Dec 1, 2025

Reported In

Hardware

  • CompactRIO Controller
  • PXI Controller

Software

  • LabVIEW

Operating System

  • LabVIEW Real-Time (NI Linux Real-Time)

Issue Details

  • I'm creating a VI on my cRIO and when I run it on highlight execution mode, I can see the event structure is not responding. Should this structure work on Real-Time based targets?
  • A VI with an event structure works fine locally, but when we want to add the same structure in our project with a LabVIEW Real-Time target, it stops working and doesn't react to our event case.

Solution

All NI Linux Real-Time capable devices, do not support static type of events in the event structure. Under default settings they support only, dynamic events . Dynamic events are events that are generated programmatically, such as user events or notifier events. If the event structure in the VI is configured to handle value change events, then they are static events that are generated by the front panel controls. Static events are not supported on NI Linux Real-Time targets, by default.

 

The only Real-Time targets that support static events are those that run NI Linux Real-Time and also have a dedicated display output connector, such as for example the cRIO-9045. This functionality is however not enabled by default. If you wish to enable it, then on those targets you first have to enable their Embedded UI on MAX.

 

Another possible alternative to using event structures on Linux Real-Time targets is to use a polling loop instead. A polling loop is a loop that continuously checks the state of a control or indicator and performs an action based on the state. For example, you can use a while loop with a shift register to store the previous state of a boolean control and compare it with the current state in each iteration. If the state has changed, you can execute the code you normally would in the event case. You can also use a wait function inside the loop to reduce the CPU usage.