NI-DAQmx Tasks Fail or Miss Triggers on TSN-Enabled Devices

Updated Mar 23, 2026

Reported In

Hardware

  • cRIO-9041
  • cRIO-9040
  • cRIO-9042
  • cRIO-9043
  • cRIO-9049
  • cRIO-9045
  • cRIO-9046
  • cRIO-9048
  • cRIO-9047
  • cRIO-9053
  • cRIO-9054
  • cRIO-9055
  • cRIO-9056
  • cRIO-9057
  • cRIO-9058
  • cDAQ-9185
  • cDAQ-9189
  • sbRIO-9603
  • sbRIO-9608
  • sbRIO-9609
  • sbRIO-9628
  • sbRIO-9629
  • sbRIO-9638

Software

  • LabVIEW

Driver

  • NI-DAQ™mx

Issue Details

I'm using a cRIO-9056 controller to perform triggered data acquisition operations using NI-DAQmx. My code is based on the Voltage - Continuous Input.vi LabVIEW shipping example and I am using the DAQmx Trigger.vi to configure the trigger for my acquisition, which can come from the PFI0 port on the controller, a digital input module such as the NI-9411, or an absolute time trigger. 

In some executions, the controller fails to recognize the external trigger even though I have verified that the signal is reaching the target correctly. When this occurs, I have noticed that my NI-DAQmx task fails with error -200560 or -209838, depending on the type of task: 

Error -200560 occurred at DAQmx Wait Until Done.vi:3580001

Possible reason(s):

Wait Until done did not indicate that the task was done within the specified timeout. Increase the timeout, check the program, and make sure connections for external timing and triggering are in place

 

 

Error -209838 occurred at an unidentified location

Possible reason(s):

Synchronization lock was lost during operation. If the occasional loss of synchronization is acceptable, change the Synchronization Unlock Behavior property to ignore sync loss. Otherwise, go to ni.com for more information about sync loss management.

 

Solution

TSN-enabled devices monitor network time synchronization (IEEE-1588) by default. If your device is part of a time network, it will be synchronized to a grand master. When the network conditions (a fault in the Grand Master clock, incorrect TSN profile configuration, or network traffic that increases latency) cause your controller to lose synchronization, any NI-DAQmx task running on that target will error and could prevent it from recognizing external triggers. 

The behavior above is controlled through the NI-DAQmx Channel Property SyncUnlockBehavior, which has a default value of Stop Task and Error, meaning that when synchronization is lost, NI-DAQmx automatically aborts the task. Therefore, if your application does not require synchronization to an external IEEE-1588 grand master, you can resolve the issue by changing SyncUnlockBehavior to Ignore Lost Sync Lock.

To modify this property in LabVIEW, please follow the steps below:

  1. Place a NI-DAQmx Channel Property Node
  2. Wire the property node to your task.
  3. Click on the property node and navigate to General Properties >> Synchronization Unlock Behavior.
  4. Wire a constant and set its value to Ignore Lost Sync Lock.

 

With this configuration, the NI-DAQmx task will continue running and recognize triggers even if TSN synchronization lock is lost.