Controlling a Particle Image Velocimetry (PIV) System with DAQmx

Updated Mar 29, 2023

Reported In


  • NI-DAQmx

Issue Details

  • I am currently making a Particle Image Velocimetry (PIV) system. I am using DAQ hardware and NI-DAQmx. My program needs to output several specific pulses after it receives an external trigger.
  • I want to control my PIV system using LabVIEW and DAQmx. I need my application to fire a pulsed laser several times per second while my external trigger signal is high.
  • We have a PIV system with two lasers. I need to read a signal line and see if there is a trigger. When the trigger happens I want to fire both lasers alternately, each one ten times with 10 Hz. The two lasers shall fire 10 µs apart every time.


Syncing (dual) lasers and Q-switches to an external trigger as it is often needed in Particle Image Velocimetry (PIV) systems can be easily done with Retriggerable Tasks in NI-DAQmx : Each time your DAQ hardware receives the external trigger it will fire the pulses you defined.

It is both possible to:

  • Output a pulse/finite train of pulses every time an external trigger is obtained.
  • Send such an output continuously as long as the eternal trigger signal is active through using a Pause Trigger. Pause Triggers are described in section F and G of this article: NI-DAQmx Data Acquisition Triggering Techniques Using LabVIEW .

Additional Information

As this task is using the DAQ's hardware timed input/output resources, there is no software jitter introduced.