The cRIO-905x supports three programming modes: Real-Time, Real-Time Scan (IO Variables), and LabVIEW FPGA.

You can set the programming modes per slot on a chassis.

Table 15. cRIO-905x Programming Modes
Programming Mode Description
Real-Time

Real-Time mode enables you to use C Series modules directly from LabVIEW Real-Time, using an API such as NI-DAQmx.

C Series modules appear under the Real-Time Resources item in the MAX Project Explorer window. The I/O channels do not appear under the module. You can find the module I/O channels in the Block Diagram I/O Controls for the driver for the module, such as NI-DAQmx.

Use Real-Time mode to make the C Series module behave like it is in a CompactDAQ controller. This mode uses the Real-Time NI-DAQmx and NI-XNET drivers to communicate. Using this mode allows you to access the four counter/timers and the PFI trigger connector on the controller.

Real-Time Scan (IO Variables)

Real-Time Scan (IO Variables) enables you to use C Series modules directly from LabVIEW Real-Time, using I/O variables.

C Series modules that you use in Real-Time Scan mode appear under the Real-Time Scan Resources item in the MAX Project Explorer window. The module I/O channels appear as I/O variables under the modules. To use I/O variables, drag and drop them from the Project Explorer window to LabVIEW Real-Time VIs.

In Real-Time Scan mode, you do not need to do any LabVIEW FPGA development. LabVIEW programs the FPGA for you with a fixed FPGA bitfile that communicates with all the C Series modules that Real-Time Scan mode supports. LabVIEW also sends C Series data to the Real-Time host, where you can view it in I/O variables. Real-Time Scan mode also enables you to detect the C Series modules installed in chassis slots.

LabVIEW FPGA

LabVIEW FPGA enables you to use C Series modules from LabVIEW FPGA VIs. Use LabVIEW FPGA mode when you need more flexibility, customization, timing, and synchronization in your application.

C Series modules appear directly under the FPGA Target item in the MAX Project Explorer window. The I/O channels of the module appear as FPGA I/O items under the FPGA Target.

You can access these I/O channels in two ways:

  • Configure FPGA I/O Nodes in a LabVIEW FPGA VI
  • Drag and drop the I/O channels from the Project Explorer window to a LabVIEW FPGA VI block diagram
To use the CompactRIO system in FPGA mode, you must do one of the following options.
  • Install LabVIEW FPGA Module on the host computer
  • Be able to access a compiled bitfile that you can download to the FPGA
In either case, use the Open FPGA VI Reference function in a LabVIEW Real-Time VI to access the FPGA VI or bitfile.
Table 16. Supported Programming Modes for Popular Tasks
Task Real-Time Real-Time Scan FPGA
Control rates up to 1 kHz
Control rates between 1 kHz and 2.5 kHz(application dependent)
Control rates over 2.5 kHz
High-speed waveform acquisition
Note Some C Series modules can only be used in certain program modes. For module-specific software support information, visit Software Support for CompactRIO, CompactDAQ, Single-Board RIO, R Series, and EtherCAT at ni.com/r/swsupport.

To learn more about using the cRIO-905x in Real-Time mode, refer to the following sections.