Controlling a cDAQ Module from a cRIO or cDAQ Controller

Updated Apr 25, 2024



  • cRIO-9081
  • cRIO-9082
  • cRIO-9035
  • cRIO-9039
  • cRIO-9040
  • cRIO-9041
  • cRIO-9042
  • cRIO-9043
  • cRIO-9045
  • cRIO-9046
  • cRIO-9047
  • cRIO-9048
  • cRIO-9049
  • cRIO-9052
  • cRIO-9053
  • cRIO-9054
  • cRIO-9055
  • NI-9905
  • cRIO-9057
  • cRIO-9058


  • NI-DAQmx

In a CompactDAQ system, a chassis is connected to your PC through USB or Ethernet and then populated with one or more conditioned I/O modules for direct sensor connectivity. Controller variants are available to run a Windows or real-time OS for stand-alone operation.

CompactRIO systems feature a controller with a processor running a Linux Real-Time OS and a chassis that contains a user-programmable FPGA. It supports industrial I/O modules from both NI and third-party vendors.

This article explains how you can control a CompactDAQ (cDAQ) from a CompactRIO (cRIO) or cDAQ Controller so that the system can run without a PC.

There are only two sets of CompactRIO (cRIO) and CompactDAQ (cDAQ) combinations that allow for direct communication and control of the cDAQ from the cRIO: 
  • cRIOs running a Windows OS communicating with a USB or Ethernet cDAQ
  • cRIOs supported by NI-DAQmx

Windows cRIO with USB or Ethernet cDAQ

The Windows-based CompactRIO-9081/2 are able to control and communicate directly with cDAQ. LabVIEW code can be run on these controllers just like you would on a Windows PC.

cRIOs with DAQmx

cRIOs that support NI-DAQmx (e.g., the 904x series, the 905x series, and the 9035/9 (sync)) are able to use the cDAQ-9185/9 Ethernet chassis as an expansion chassis as long as NI-DAQmx 17.6 or later is installed on all targets. Please refer to Connecting to a Real-Time Controller - cDAQ-9185/9189 User Manual.

You can also use USB CompactDAQ chassis, like cDAQ-917x, with NI-DAQmx-supported cRIOs, like cRIO-904x and cRIO-905x.

The modules on the cDAQ will not appear on the project. And are programmatically accessed. Please reference the attached example cRIO FPGA + cDAQ Acquisition > AI 9223 [RT] VI for how to access the modules.

Synchronizing cRIO and cDAQ

  • When using cRIO-904x/5x with Real-Time (DAQmx) mode, you can use Time Triggering to synchronize both cRIO and cDAQ.
  • To synchronize cRIO (including 9035/9 Sync) in FPGA mode, please refer to the attached cRIO FPGA + cDAQ Acquisition

Other Controllers for Direct cDAQ Communication

Industrial Controllers

The IC-317x line of controllers has the TSN capability, runs NI Linux Real-Time OS, and supports NI-DAQmx: IC-3171, IC-3172, IC-3173.
 Please note some devices are not supported by Real-Time controllers: cDAQ-9181, cDAQ-9184, cDAQ-9188, cDAQ-9188XT, and cDAQ-9191. Refer to the DAQmx readme for more information regarding compatibility between devices.

cDAQs with Built-in Controllers

The cDAQ-913x line contains a built-in controller that runs either NI Linux Real-Time OS or Windows Embedded 7 (WES7) and supports NI-DAQmx:  cDAQ-9132, cDAQ-9133, cDAQ-9134, cDAQ-9135, cDAQ-9136, cDAQ-9137.  These cDAQs have the controller built in, so they do not require a PC or another system in order to run code. 

USB cDAQs from the cDAQ-917x line can also be controlled by the cDAQ-913x line when plugged directly to the USB port of the cDAQ Controller. Options for chassis expansion of embedded cDAQs will depend on the operating system of the controller.

cRIO I/O Expansion Options

If you need to have more I/Os for your cRIO, you can look at other options to expand your I/O, such as: