Choosing Your Programming Mode
- Updated2024-03-25
- 3 minute(s) read
Choosing Your Programming Mode
The cRIO-904x supports three programming modes. The programming modes are set per slot on a chassis.
![]() |
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 programming mode for your task.
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 | ■ | ■ |
To learn more about using the cRIO-904x in Real-Time mode, refer to the following sections: