Trigger Multiple Channels With Individual Trigger Conditions

Updated Feb 26, 2020

Reported In

Hardware

  • NI-9775
  • CompactRIO Chassis

Software

  • LabVIEW FPGA Module

Driver

  • NI-DAQmx

Issue Details

I have multiple analogue input channels in my application. I currently have the trigger set to a single channel, but I want to have the application start recording if any channel exceeds their own threshold. How can I trigger reading on multiple channels if the trigger condition of any channel is met?

Solution

There are two methods to achieve this, using either NI-DAQmx or LabVIEW FPGA:


Using NI-DAQmx

The first option is to use a C-Series NI-9775, within a DAQ chassis. This card is designed to use the Analog Multi Edge Triggering option for the DAQmx Trigger VI, with up to four Analog Input channels.
In this case, the Edge Configurations Array allows you to define the trigger conditions for each of the channels independently.

Using LabVIEW FPGA

Alternatively, the parallel processing offered by an FPGA (either within a CompactRIO or a PXI FPGA module) can be utilised to operate a comparison between the output for each channel and given threshold values before then triggering the recording of all channels upon exceeding any of those thresholds.
While this example uses four channels, there is no specific limit to the number of channels that could be checked using such a comparison with an FPGA based approach. In addition, by using a Compound Arithmetic Function set as a multiple OR-Gate for this comparison, additional triggers can be added, including a manual trigger and a trigger from a secondary sensor.