Error When Using the Sensor VIs from the Robotics Module on a cRIO

Updated Aug 8, 2019

Reported In

Hardware

  • CompactRIO for Robotics
  • CompactRIO Controller
  • CompactRIO Single-Board Controller
  • cRIO-Robotics

Software

  • LabVIEW
  • LabVIEW Robotics Module

Driver

  • NI-DAQmx
  • NI CompactRIO

Issue Details

I am using the Device I/O Sensor VIs from the Robotics Module on a cRIO.  However, when I go to deploy to my cRIO I get the following error: DAQmx Read.vi loaded with errors on the target and was closed

Can I use these libraries on my cRIO?
 

Solution

Some of the sensor VIs in the Device I/O palette are built on DAQmx, which is not supported on the sbRIO and most of the cRIO* platforms due to the onboard FPGA and RT processor. The FPGA and RT processor have direct interaction with the I/O, allowing for deterministic processing and decision making. DAQmx is currently not supported on FPGA; the RIO Platform requires you to use NI Scan Mode or FPGA Interface.
*Note: NI-DAQmx is compatible with the cRIO-904x and cRIO-905x series.
 
Many of the sensors developed from DAQmx have FPGA and RT examples, navigate to LabVIEW\Examples\Robotics\Sensor Drivers. Please use these examples instead of DAQmx to implement sensor communication on the RIO Platform. 
 

 
 

Additional Information

Some of the VI's on the Device I/O Palette are supported on RIO Products. Many of these sensors connect and communicate over serial, TCP, or UDP protocols. 
To determine if the sensor is built on the DAQmx Driver:
  • Explore the sensor VI for DAQmx functions
  • Check the Initialize VI; check to see if it is looking for a Physical Channel for the DAQmx class
  • Check how the I/O channels are accessed.  If I/O channels are accessed on your modules directly (i.e. dev1/ai1) instead of using serial or network communication, the sensor VIs in the palette will likely be using DAQmx.