Extreme Solutions at the Edge and Beyond with NI CompactRIO

Overview

From microsurgery to fracking to nuclear fusion, NI CompactRIO, sometimes abbreviated as cRIO, solves extreme real-time control system challenges. When off-the-shelf falls short on performance and DIY won’t scale without significant time and effort, CompactRIO provides a platform where extreme performance meets cost-effective engineering productivity. The extreme performance of the CompactRIO platform delivers real-time control, high-speed data acquisition (DAQ), and deterministic performance in harsh environments. CompactRIO consolidates functionality that would otherwise require multiple machines. Productivity is the efficiency with which you can build, deploy, and maintain systems. CompactRIO offers a platform and software stack that offers hot-swappable modular I/O that you can tailor to your exact needs. You can also scale it up or down based on your needs without significant changes in the underlying software. CompactRIO offers superior total cost of ownership compared to the alternatives when considering the cost per capability. It is a complete package that enables fast prototyping, scalability, and shorter time to market.

Contents

Selecting the Right CompactRIO Controller

​Selecting the optimal CompactRIO controller for a real-time automation control architecture requires a nuanced understanding of the trade-offs between computational density, FPGA fabric complexity, and peripheral connectivity. When selecting a controller, there are currently two NI families to choose from: the cRIO-904x series and the cRIO-905x series controllers. These controllers form the fshouldoundation of real-time embedded control systems, offering flexibility and performance beyond traditional PLC-based designs. When comparing the architectures of CompactRIO against PLC and other platforms, CompactRIO provides an ideal combination of tight integration of real-time processing and FPGA acceleration, ruggedness, and a small, fanless form factor. 

​Both NI CompactRIO families provide a deterministic execution environment via NI Linux Real-Time. This operating system is built on a standard kernel but optimized for the low-latency requirements of industrial control, supporting both NI LabVIEW Real-Time and a vast ecosystem of C/C++ and Python tools. 

​The cRIO-904x High-Performance Controller

​The cRIO-904x CompactRIO Controller is engineered for high-end applications that demand significant onboard processing and integrated human-machine interface (HMI) capabilities. The architecture is defined by the Xilinx Kintex™ 7 FPGA, which offers a higher logic cell count and more robust digital signal processing (DSP) slices compared to the Artix™ 7 found in the cRIO-905x. This FPGA makes the cRIO-904x better suited for applications involving complex control algorithms, high-speed vision integration, or massive parallel data processing. 

​One of the most critical differentiators for the cRIO-904x is its connectivity. It includes two integrated serial ports (supporting RS-232 and RS-485) and a USB 3.1 Type-C port equipped with DisplayPort™ Alternate Mode (DP Alt Mode). This Alt Mode allows the controller to drive an external monitor directly, enabling the “embedded UI“ feature where a local HMI can be rendered by the processor without the need for a separate industrial PC.

View the latest cRIO-904x CompactRIO Controllers.

​The cRIO-905x Optimized Value Controller

​The cRIO-905x serves as a more cost-effective alternative that does not sacrifice the ruggedness or determinism inherent to the platform. By using Xilinx Artix 7 FPGA technology, these controllers provide a balanced performance profile for standard industrial tasks like temperature monitoring, low-to-medium speed control loops, and distributed data logging.

​While the cRIO-905x lacks the integrated serial ports, full-size SD card, and direct DisplayPort video output of the cRIO-904x, it introduces a microSD card slot for removable storage, which is highly advantageous for data logging applications where large volumes of data must be physically transferred. The cRIO-905x is often the preferred choice for distributed “headless“ nodes that communicate over Ethernet to a centralized server or HMI.

View the latest cRIO-905x controllers.

Using the CompactRIO Controller FPGA to Create High-Performance Applications

The integration of an FPGA into the CompactRIO architecture enables deterministic control systems and real-time motion control capabilities. This feature makes CompactRIO ideal for high-performance applications like real-time predictive control and monitoring. For example, the Kintex 7 FPGA enables complex real-time motion control and high-speed parallel processing where the FPGA acts as a programmable backplane that manages the communication between the C Series I/O modules and the real-time processor.

Kintex 7 versus Artix 7 Capabilities

The choice between these two FPGA families is a primary driver of system cost and capability. The Kintex 7 is a mid-range FPGA that provides high logic density and performance per watt. Its larger logic cell count allows for more complex digital signal processing (DSP) algorithms to be implemented in hardware. For example, the Kintex 7 325T found in the cRIO-9049 contains more than 325,000 logic cells and 840 DSP slices, enabling the implementation of high-order filters, fast Fourier transforms (FFTs), and multi-axis motion control profiles that would overwhelm the CPU.

Conversely, the Artix 7 is optimized for lower power consumption and smaller footprints, making it ideal for the cRIO-905x. Despite being the “value“ option, an Artix 7 100T FPGA still possesses sufficient resources for most standard industrial control tasks, including PWM generation, quadrature encoder decoding, and custom digital triggering. The cRIO-904x generally meets tighter timing constraints, which is a second-order effect of the Kintex fabric’s superior routing and clocking architecture.

Programming Options for CompactRIO Systems

​One of the most innovative features of the cRIO-904x and 905x controllers is the ability to select the programming mode on a per-slot basis between Real-Time NI-DAQmx, LabVIEW FPGA, and Real-Time Scan Mode. This “Hybrid Mode” capability allows developers to mix high-level driver ease-of-use with low-level hardware customization in a single chassis.

Real-Time NI-DAQmx Programming Mode

The introduction of NI-DAQmx to the modern CompactRIO platform has created a positive shift in developer productivity. Historically, CompactRIO required more advanced programming techniques for most tasks. In NI-DAQmx mode, a C Series module behaves as if it were in a CompactDAQ chassis even though it is being used as part of a CompactRIO system. The NI-DAQmx driver, the standard driver for all NI DAQ products, provides a familiar interface for engineers for rapid development of task configuration, timing, and triggering. This mode significantly reduces development time compared to traditional CompactRIO programming approaches.

This mode is recommended for control rates up to 5 kHz on cRIO-904x controllers and 2.5 kHz on cRIO-905x controllers. It supports hardware-timed single point acquisition, which is vital for control loops that require the latest sample to be processed with minimal latency without the overhead of buffer management. In this mode, modules appear under Program Mode > Real-Time resources items in the LabVIEW Project Explorer.

NI Max individual modules configured in one of three different programming modes.

Figure 1: Using NI Measurement & Automation Explorer (MAX), individual modules can be configured in one of three different programming modes.

LabVIEW FPGA Programming Mode

For applications requiring higher performance, custom timing, or sub-microsecond synchronization, the LabVIEW FPGA programming mode (using the LabVIEW FPGA Module) remains the primary choice. This mode provides direct access to the FPGA fabric. You create a LabVIEW FPGA VI, which you then compile into a hardware bitfile and deploy to the controller.

LabVIEW FPGA programming is necessary for any control rate exceeding 5 kHz or for tasks that must be executed with zero jitter, such as high-frequency PWM or custom communication protocols. To use this mode, you must install the LabVIEW FPGA Module on your development host.

Real-Time Scan Mode (I/O Variables)

The RIO Scan Interface, or Scan Mode, is designed for rapid development of slow-speed control and monitoring systems (typically <1 kHz). LabVIEW automatically programs the FPGA with a fixed bitfile that scans all modules at a user-defined rate and presents the data as I/O Variables. Although the recommended method for most modern systems is the Real-Time NI-DAQmx mode, Scan Mode can be advantageous for systems where I/O modules are frequently swapped, as it supports dynamic detection of module types. 

Learn how to use Scan Mode.

 

Table 1: Comparison of programming modes for cRIO-904x and cRIO-905x.

Overview of the C Series I/O Modules

The versatility of the CompactRIO platform is derived from the C Series module ecosystem, which enables scalable multichannel data acquisition (DAQ) across a wide range of applications employing more than 100 different modules designed for a range of signal types, environmental conditions, and applications such as high-speed and precision measurement systems.

Analog Input (AI) Architectures

Selecting the right analog input module involves evaluating the required resolution (bits), sample rate, and isolation. NI employs three primary architectures for C Series AI modules:

  1. Architectures based on successive approximation register (SAR)—These modules, such as the NI-9201 and NI-9205, are general purpose and often feature multiplexed inputs. They are suitable for medium-speed measurements like pressure or flow.
  2. Architectures based on delta-sigma—Used in high-resolution modules (like the NI-9234, NI-9232, and NI-9250), this architecture provides excellent anti-aliasing and is the standard for sound, vibration, and precision strain measurements.
  3. Architectures based on simultaneous sampling—These modules, such as the NI-9223, feature a dedicated ADC per channel, ensuring no phase delay between measurements, which is critical for power quality or high-speed structural analysis.

Temperature and Specialized Sensor Modules

Temperature measurement is a cornerstone of monitoring systems. NI provides modules specifically for thermocouples, like the NI-9213, as well as resistance temperature detectors (RTDs), like the NI-9216. These modules include integrated cold-junction compensation (CJC) and high-resolution ADCs to handle the millivolt-level signals characteristic of temperature sensors. 

For structural health or material testing, strain/bridge modules like the NI-9237 provide integrated bridge completion for quarter, half, and full-bridge sensors, as well as programmable excitation voltages.

Digital I/O and Industrial Control

Digital modules (NI-94xx) interface with industrial logic levels, typically 5 V TTL or 24 V industrial logic. The NI-9401 is a popular high-speed bidirectional digital module, while the NI-9477 is a 32-channel sinking digital output module designed to drive industrial solenoids and relays at up to 60 V.

Beyond standard I/O, CompactRIO supports a variety of industrial communication protocols including EtherCAT (as a master), 802.1AS or Time-Sensitive Networking (TSN), CAN, CANopen, and Modbus for real-time monitoring and control. The NI-9862 provides a single-port CAN interface with NI-XNET driver support, which is essential for automotive or aerospace testing. For legacy serial devices, the NI-9870 adds four RS-232 ports to the system. These options make CompactRIO ideal for industrial monitoring and control and remote monitoring and control for industrial machinery, real-time process control, and distributed industrial systems.

System Expansion

While an 8-slot controller provides significant I/O density, many applications require additional slots by expanding beyond the 8-slot chassis. The cRIO-904x and cRIO-905x support several expansion methods:

  1. cDAQ-9185/9189 Chassis: Using the Time-Sensitive Networking (TSN) capability of the cRIO-904x/905x with a cDAQ-9185/9189 chassis employing NI-DAQmx is one path for expanding I/O while maintaining high-speed synchronization.
  2. NI-9145 EtherCAT CompactRIO Chassis: Connecting a cRIO controller to the NI-9145 8-slot EtherCAT slave chassis offers a deterministic industrial protocol that is ideal for motion control and distributed real-time tasks. EtherCAT RIO uses a daisy-chain topology and supports up to 65,535 slaves.
  3. NI-9149 Ethernet CompactRIO Chassis: The NI-9149 Ethernet CompactRIO chassis is best for distributed monitoring where hard determinism is less critical but standard network flexibility is desired.

Signal Integrity: Isolation and Environmental Protection

In industrial settings, signal integrity is often compromised by ground loops and electromagnetic interference (EMI). CompactRIO modules address this through various isolation strategies:

  • Channel-to-earth ground isolation—Protects the system from high-voltage surges and ensures the controller is not damaged by ground potential differences.
  • Channel-to-channel isolation—Every channel is electronically isolated from the others, providing the highest level of noise immunity and safety.
  • Bank isolation—A group of channels shares a common isolated ground, offering a middle ground between cost and protection. 

CompactRIO modules provide high-speed DAQ performance while functioning as rugged DAQ hardware in harsh environments. The ruggedness of the platform is further demonstrated by its environmental ratings. Most modules and controllers are rated for an operating temperature range of -40 °C to 70 °C and can withstand 50 g of shock and 5 g of vibration. For extremely harsh environments, conformal coating is an available option for many models to protect against moisture and contaminants. This enhanced ruggedness and reliability makes CompactRIO the ideal solution for industrial data acquisition in harsh environments.

Mechanical and Electrical Integration

A successful CompactRIO deployment depends on proper physical infrastructure. CompactRIO enables mobile data acquisition in harsh environment DAQ applications, where durability and thermal design are critical. Proper integration ensures reliable operation of the CompactRIO chassis in industrial systems. This environment involves selecting appropriate power supplies, mounting hardware, and ensuring thermal management.

Power System Selection

The cRIO-904x and cRIO-905x require a 9 V to 30 V DC power source. For industrial installations, DIN rail-mounted supplies like the NI PS-25 (24 VDC, 5 A) are the standard choice. Redundant power inputs on the cRIO-904x series controllers allow for two separate power sources to be connected, ensuring that a single supply failure does not cause a system shutdown—an important feature for mission-critical monitoring.

Table 2: Essential Power Accessories for CompactRIO Systems.

Mounting and Thermal Design

CompactRIO is designed to be mounted on a metallic surface that acts as a heat sink. NI recommends a specific “reference mounting configuration” (horizontal orientation) to achieve the maximum specified operating temperature.

  • Panel mounting—Directly bolting the chassis to a metallic panel is the best method for high-vibration environments.
  • DIN rail mounting—The NI-990x kits allow the chassis to snap onto a standard 35-mm DIN rail.
  • Rack mounting—19-inch rack-mount enclosures or NI rack kits are used for integration into server-style cabinets.

Hazardous Location Safety

For deployment in oil and gas, chemical, or pharmaceutical plants, the cRIO-904x and cRIO-905x are certified for Class I, Division 2 and ATEX Zone 2 hazardous locations. These certifications indicate the hardware will not provide a source of ignition under normal operating conditions. However, installers must adhere to specific “Ex ec” (increased safety) guidelines, such as using IP54-rated enclosures and ensuring that modules are not removed while the system is powered unless the area is known to be non-hazardous.

Software for CompactRIO Systems

Maintaining a CompactRIO system requires careful attention to software versioning. To fully use the CompactRIO Controller, you will need LabVIEW, the LabVIEW Real-Time Module, and the LabVIEW FPGA Module. You can also program the controller using Python and C/C++ with certain limitations. Creating custom bitfiles for the FPGA requires the LabVIEW FPGA Module. Engineers also often use popular HIL tools like NI VeriStand for real-time control system testing.

NI Hardware Configuration Utility

The NI Hardware Configuration Utility is the primary tool for system discovery and configuration. When a new controller is connected through USB or Ethernet, you use the NI Hardware Configuration Utility to install the NI Linux Real-Time OS, format the internal drive, and install all the drivers and software you need to use it. The utility also provides test panels to verify that the controller and modules are communicating correctly before a single line of code is written.

Security

Security has become very important as organizations must address industrial control systems’ cybersecurity and edge computing security when deploying CompactRIO systems. We provide guidance aligned with industrial control systems security standards and SCADA cybersecurity practices. 

See the latest information on relevant security issues that affect CompactRIO.

Architecting for the Future

Using CompactRIO for control and monitoring applications represents a strategic investment in the longevity and capability of your control system. By leveraging the NI-DAQmx driver, you can significantly reduce the development time traditionally associated with FPGA-based systems, while the inclusion of technologies like TSN ensures the system is ready for the future of distributed, network-synchronized measurements.

The capability and performance of the CompactRIO platform provides an unrivaled foundation for industrial innovation. Whether the application is a surgical robot or a geographically distributed structural monitoring network, CompactRIO offers the ruggedness of a PLC with the near infinite flexibility of a user-programmable FPGA.

FeatureNI-DAQmx ModeScan Interface ModeLabVIEW FPGA Mode
Setup TimeFastestFastModerate
Maximum Control Rate5 kHz (904x)/2.5 kHz (905x)1 kHz>5 kHz
Custom Logic on the FPGANoNoYes (hardware level)
Waveform Capture SupportExcellentLimitedHigh (custom)
Accessory TypeModel ExamplesApplication
Industrial Power SupplyPS-25, PS-2624V DC DIN-rail mount for cabinets
Desktop Power SupplyNI PS-10Safe prototyping and development
Power Connector PlugsNI cRIO-99374-pin male COMBICON to screw terminal