The cRIO-904x supports three program modes.

The program modes are set per slot on a chassis.

Table 22. cRIO-904x Program Modes
Program Mode/Icon Description

Real-Time

Enables you to use C Series modules directly from LabVIEW Real-Time, using NI-DAQmx.

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

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

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 Scan Interface mode appear under the Real-Time Scan Resources item in the MAX Project Explorer window and I/O channels appear as I/O variables under the modules. To use I/O variables, you drag and drop them from the Project Explorer window to LabVIEW Real-Time VIs.

In this 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 RT Scan mode supports. LabVIEW also sends C Series data to the Real-Time host to be displayed in I/O variables. Real-Time Scan mode also enables you to dynamically detect which types of C Series modules are plugged into chassis slots.

LabVIEW FPGA

Enables you to use C Series modules from LabVIEW FPGA VIs.

C Series modules appear directly under the FPGA Target item in the MAX Project Explorer window and I/O channels appear as FPGA I/O items under the FPGA Target. To access the I/O channels, you either configure FPGA I/O Nodes in a LabVIEW FPGA VI or drag and drop the I/O channels from the Project Explorer window to a LabVIEW FPGA VI block diagram.

Use this mode to add more flexibility, customization, timing, and synchronization to your applications. To use the CompactRIO system in FPGA mode, you must either have the LabVIEW FPGA Module installed on the host computer, or have access to a compiled bitfile that you can download to the FPGA. In either case, you use the Open FPGA VI Reference function in a LabVIEW Real-Time VI to access the FPGA VI or bitfile.

Use the following table to assist you in choosing a supported program mode for your task.

Table 23. Supported Program Modes for Popular Tasks
Task Real-Time Real-Time Scan (IO Variables) LabVIEW FPGA
Control rates up to 1 kHz
Control rates between 1 kHz and 5 kHz (application dependent)
Control rates over 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.