Manufacturer | National Instruments |
---|---|
Available | In production |
Website | www |
CompactRIO (or cRIO) is a real-time embedded industrial controller made by National Instruments for industrial control systems. The CompactRIO is a combination of a real-time controller, reconfigurable IO Modules (RIO), FPGA module and an Ethernet expansion chassis. [1]
The CompactRIO system is a combination of a real-time controller chassis, reconfigurable IO Modules (RIO), an FPGA module and an Ethernet expansion chassis. [1] Third-party modules are also available, and are generally compatible with NI-produced chassis controllers.
CompactRIO real-time controllers include a microprocessor for implementing control algorithms, and support a wide range of clock frequencies. Controllers are only compatible with National Instruments C Series I/O Modules. I/O modules are hot swappable (can be connected/disconnected while the unit is powered up).
The FPGA Module may be used to implement high-performance data processing on reconfigurable fabric. Such data processing may be performed on data streaming in from connected I/O Modules. The module is powered by a Xilinx Virtex high-performance FPGA on the earlier models, and Kintex-7, Artix-7 or Zync Xilinx FPGA on the newer models. The FPGA can be programmed separately and is connected to the real-time controller using an internal PCI bus, and is accessible over a LabVIEW interface which operates both locally on the controller as well as over a LAN from LabVIEW on a PC.
The Ethernet chassis includes an Ethernet port (8P8C), which can connect the CompactRIO controller to a PC. The chassis is available in 4 slot and 8 slot varieties.
Third-party modules are manufactured for additional features, such as LCD or VGA displays. Newer, high-performance CompactRIO controllers also have built-in VGA graphics which can be connected to a monitor for observing operation.
CompactRIO controllers can be programmed with LabVIEW, National Instruments' graphical programming language; [1] C; C++; or Java. [2] LabVIEW must be used to program the embedded FPGA, although VHDL and verilog components can be included.
Newer controllers come with a Linux based RTOS, NI Linux Real-Time, [3] created as part of the Linux Foundation's Real-Time Linux Collaborative Project. [4] Programs created in LabVIEW are compiled into machine code [5] for NI Linux Real-Time and hardware description language (HDL) for the Xilinx FPGA toolchain automatically during deployment of the code to the target.
The Linux Real-Time OS running in the real-time controller supports a filesystem and hence data logging is also available at the controller level. The Full Development System version of LabVIEW does not come with the modules needed to program the cRIO. The Real-Time Module and FPGA Modules have to be purchased separately and installed with LabVIEW for programming the hardware. The programming is done on a Host PC running the Windows operating system and is deployed on the cRIO via Ethernet.
It is not necessary to run a real-time VI on the controller in order to run the FPGA VI, as the LabVIEW FPGA interface is network capable, supporting up to 7 concurrent accessors. This is done with a connection URL like RIO://ip/RIO0
Do note that the read/write interface block appears to package multiple accessors into one, but actually loops with a round-trip delay per additional access added, which can very quickly add up. This can be worked around by grouping all controls into one cluster, and all displays into another, for each write/read access, and for each accessor. It is possible to have a local real-time VI running on the controller which concurrently accesses a different set of clusters without interference, and piping data from one cluster to another can allow data to flow between this real-time VI and a PC VI efficiently and with quite low latency.
Data can also be piped though 'FPGA to HOST' and 'HOST to FPGA' DMA fifos, which also work over the network interface. Each VI having an interface, each host FIFO connection and each IRQ connection all count as accessors to the FPGA hosted by the controller. These FIFO's can typically saturate the Ethernet connection of the controller, offering good performance both in terms of bandwidth, and with careful use, latency.
The LabVIEW FPGA interface is also available for C.
CompactRIO systems are often used as an industrial control unit, where a small form factor are important.
CompactRIO is commonly used as headless systems (without a user interface) which are designed to run in a confined space, under harsh conditions. CompactRIO systems can also be connected to a host PC which can be used for supervisory purposes and for displaying logged data.
Other examples of applications areas are: Intelligent Systems for the Industrial Internet of Things (IIoT), Power Electronics and Inverter Control, [6] Condition Monitoring of Rotating Equipment, Power Quality Monitoring, Transportation and Heavy Equipment, and Laser or Hydraulic Control.
The CompactRIO was used from 2009 until 2015 as the primary control unit in the FIRST Robotics Competition. It has been replaced now by the National Instruments roboRIO.
A field-programmable gate array (FPGA) is a type of configurable integrated circuit that can be programmed or reprogrammed after manufacturing. FPGAs are part of a broader set of logic devices referred to as programmable logic devices (PLDs). They consist of an array of programmable logic blocks and interconnects that can be configured to perform various digital functions. FPGAs are commonly used in applications where flexibility, speed, and parallel processing capabilities are required, such as in telecommunications, automotive, aerospace, and industrial sectors.
Reconfigurable computing is a computer architecture combining some of the flexibility of software with the high performance of hardware by processing with flexible hardware platforms like field-programmable gate arrays (FPGAs). The principal difference when compared to using ordinary microprocessors is the ability to add custom computational blocks using FPGAs. On the other hand, the main difference from custom hardware, i.e. application-specific integrated circuits (ASICs) is the possibility to adapt the hardware during runtime by "loading" a new circuit on the reconfigurable fabric, thus providing new computational blocks without the need to manufacture and add new chips to the existing system.
A network interface controller is a computer hardware component that connects a computer to a computer network.
RTLinux is a hard realtime real-time operating system (RTOS) microkernel that runs the entire Linux operating system as a fully preemptive process. The hard real-time property makes it possible to control robots, data acquisition systems, manufacturing plants, and other time-sensitive instruments and machines from RTLinux applications. The design was patented. Despite the similar name, it is not related to the Real-Time Linux project of the Linux Foundation.
Laboratory Virtual Instrument Engineering Workbench (LabVIEW) is a system-design platform and development environment for a visual programming language developed by National Instruments.
Automatic test equipment or automated test equipment (ATE) is any apparatus that performs tests on a device, known as the device under test (DUT), equipment under test (EUT) or unit under test (UUT), using automation to quickly perform measurements and evaluate the test results. An ATE can be a simple computer-controlled digital multimeter, or a complicated system containing dozens of complex test instruments capable of automatically testing and diagnosing faults in sophisticated electronic packaged parts or on wafer testing, including system on chips and integrated circuits.
Universal Software Radio Peripheral (USRP) is a range of software-defined radios designed and sold by Ettus Research and its parent company, National Instruments. Developed by a team led by Matt Ettus, the USRP product family is commonly used by research labs, universities, and hobbyists.
QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.
Nios II is a 32-bit embedded processor architecture designed specifically for the Altera family of field-programmable gate array (FPGA) integrated circuits. Nios II incorporates many enhancements over the original Nios architecture, making it more suitable for a wider range of embedded computing applications, from digital signal processing (DSP) to system-control.
The MicroBlaze is a soft microprocessor core designed for Xilinx field-programmable gate arrays (FPGA). As a soft-core processor, MicroBlaze is implemented entirely in the general-purpose memory and logic fabric of Xilinx FPGAs.
The PowerPC 400 family is a line of 32-bit embedded RISC processor cores based on the PowerPC or Power ISA instruction set architectures. The cores are designed to fit inside specialized applications ranging from system-on-a-chip (SoC) microcontrollers, network appliances, application-specific integrated circuits (ASICs) and field-programmable gate arrays (FPGAs) to set-top boxes, storage devices and supercomputers.
PCI eXtensions for Instrumentation (PXI) is one of several modular electronic instrumentation platforms in current use. These platforms are used as a basis for building electronic test equipment, automation systems, and modular laboratory instruments. PXI is based on industry-standard computer buses and permits flexibility in building equipment. Often, modules are fitted with custom software to manage the system.
The Advanced Learning and Research Institute (ALaRI), a faculty of informatics, was established in 1999 at the University of Lugano to promote research and education in embedded systems. The Faculty of Informatics within very few years has become one of the Switzerland major destinations for teaching and research, ranking third after the two Federal Institutes of Technology, Zurich and Lausanne.
The Vortex86 is a computing system-on-a-chip (SoC) based on a core compatible with the x86 microprocessor family. It is produced by DM&P Electronics, but originated with Rise Technology.
Xilinx ISE is a discontinued software tool from Xilinx for synthesis and analysis of HDL designs, which primarily targets development of embedded firmware for Xilinx FPGA and CPLD integrated circuit (IC) product families. It was succeeded by Xilinx Vivado. Use of the last released edition from October 2013 continues for in-system programming of legacy hardware designs containing older FPGAs and CPLDs otherwise orphaned by the replacement design tool, Vivado Design Suite.
M-Labs is a company which develops, manufactures and sells open hardware devices and software. It is known for the Milkymist System-On-Chip (SoC) which is a commercialized system-on-chip with free HDL source code.
Heterogeneous computing refers to systems that use more than one kind of processor or core. These systems gain performance or energy efficiency not just by adding the same type of processors, but by adding dissimilar coprocessors, usually incorporating specialized processing capabilities to handle particular tasks.
CompactDAQ is a data acquisition platform built by National Instruments that includes a broad set of compatible hardware and software. CompactDAQ integrates hardware for data I/O with LabVIEW software to enable engineers to collect, process and analyse sensor data. CompactDAQ systems are less expensive than equivalent systems within the NI PXI Platform.
In computing, a logic block or configurable logic block (CLB) is a fundamental building block of field-programmable gate array (FPGA) technology. Logic blocks can be configured by the engineer to provide reconfigurable logic gates.