The LabVIEW RIO Architecture: A Foundation for Innovation


The LabVIEW RIO architecture is the ultimate building block for innovative designs. The architecture combines real-time processors, user-programmable FPGAs, and modular I/O with a cohesive software environment that can be used to program and customize each element of the system. With its ability to interface with any kind of sensor or specialty I/O, perform advanced signal processing and custom analytics, and execute advanced control algorithms, the LabVIEW RIO architecture is the ideal architecture to build upon when designing advanced control or measurement systems, especially in Internet of Things (IoT) applications.


The LabVIEW RIO Architecture

The LabVIEW RIO architecture seamlessly integrates four components to deliver the ultimate building block for innovative designs: a real-time processor, a user-programmable FPGA, modular I/O, and a complete software toolchain for programming every aspect of the architecture.  

Figure 1 The LabVIEW RIO Architecture combines real-time processors, user-programmble FPGAs, modular I/O interfaces, and a complete software toolchain, delivering the ultimate architecture for any control or monitoring application.


NI offers a variety of high performance embedded processors, ranging from 667 MHz Dual-Core ARM A9 running NI Linux Real-Time to 1.9 GHz Quad-Core Intel Atom running NI Linux Real-Time or WES7 operating systems.  The processor can be programmed with C/C++ through LabVIEW's integrated Eclipse support, or with the intuitive LabVIEW G dataflow programming language to accomplish common tasks such as running applications, manipulating datasets, processing signals, logging data, and interfacing with local HMIs.  


The reconfigurable field-programmable gate array (FPGA) is the core of the LabVIEW RIO architecture and can be used to offload critical or intensive tasks from the processor and provide reliable, deterministic execution with extremely high throughput. The FPGA is directly connected to the I/O for high-performance signal and image processing and customizable timing, triggering, and synchronization capabilities. And because of the direct FPGA-to-I/O connection -- rather than through a bus -- there is virtually zero  control loop latency, delivering the performance required for the most advanced control algorithms. For instance, using the FPGA, a single CompactRIO chassis can execute more than 20 analog proportional integral derivative (PID) control loops simultaneously at a rate of 100 kHz. 

NI hardware based on the LabVIEW RIO architecture leverages the latest FPGA technology and chipsets from Xilinx, ranging from the Artix to Kintex families, and up to the 410T which incorporates 406,720 logic cells, 1,540 DSP slices, and 28MB of block RAM.  

Modular I/O

NI C Series I/O modules contain built-in isolation, conversion circuitry, signal conditioning, and direct connectivity to industrial sensors, actuators, functional safety (SIL) sensors & actuators, cameras, motors, drives, and Industrial Communication protocols such as Profibus, Profinet, and EtherCAT.  NI offers over 100 C Series I/O modules, and with the Module Development Kit, you can develop custom modules to meet application-specific needs.

Figure 2 Choose from over 100 C Series I/O modules to directly interface with sensors, motors, drives, actuators, and industrial communication protocols.

LabVIEW System Design Software

LabVIEW system design software can be used to program and customize every element of the LabVIEW RIO architecture.  LabVIEW offers support for programming languages such as C/C++, IEC 61131-3, and G dataflow so that you can leverage existing code and programming expertise.  The standard software environment boasts a complete set of built-in math and analysis functions, signal and image processing algorithms, and network and I/O interface APIs.  The NI Linux Real-Time Module is an open-source, real-time operating system based on the Angstrom distribution of Linux that runs on the embedded processor and delivers reliable, deterministic operation and a complete set of APIs for data logging, data transfer mechanisms and custom processing and analysis..  The LabVIEW FPGA module delivers the ability to program the embedded FPGA within an intuitive, graphical programming environment, without any knowledge of hardware description languages like VHDL or Verilog.  And with an entire community of IP, add ons, example code, and support, LabVIEW delivers a complete toolchain for the design of embedded control and monitoring systems based on the LabVIEW RIO architecture.

Common Requirements of Measurement and Control Systems

When implementing control and monitoring applications, system designers must consider everything from sensing and processing to networking, synchronization, and timing.  Often times, systems will also require some kind of control, whether simple on-off digital control or highly sophisticated multi-axis motion systems.  These requirements can be summarized into three categories:  computation, connectivity, and control.

Figure 3 Control and monitoring systems for the Internet of Things (IoT) require computation, connectivity, and control.  


Systems can execute a range of processing algorithms and analysis routines that range from complex mathematics to boolean logic.  


Digital systems must interface with the physical world through sensors, as well as other digital systems like enterprise networks, databases, cloud-based services, and even other machines, devices, and infrastructure.  To learn the latest about connectivity advances see the Designing Distributed TSN Ethernet-Based Measurement Systems page for more information.


Often, embedded systems have outputs that are generated as a result of internal algorithms and analytics.  These outputs can control motors, relays, or actuators.

Mapping the LabVIEW RIO Architecture to Common System Requirements

The LabVIEW RIO architecture is ideal for systems that require computation, connectivity, and control.  Modular I/O offers a customizable interface to satisfy virtually any connectivity requirement -- analog and digital sensors, industrial communication protocols, custom I/O, and even specialty I/O such as cameras and motors.  User-programmable processors and FPGAs can be used to implement advanced signal or image processing, perform complex computation, and execute decision making algorithms.   The FPGA in particular is ideal for control because of its inherently fast, deterministic, and parallel operation -- execute dozens of control loops in parallel, each with unique timing and data transfer mechanisms on the order of kHz to MHz loop rates.  

Figure 4 The LabVIEW RIO architecture is ideal for systems that require computation, connectivity, and control.

Products Based on the LabVIEW RIO Architecture

NI offers a wide variety of hardware targets based on the LabVIEW RIO architecture.  Choose from a spectrum of size, performance, and price to meet the unique needs of your application, while taking advantage of a consistent architecture that allows you to re-use code across targets and leverage a consistent software environment from simulation and prototyping to design, validation, and deployment.  


Figure 5 Whether you need the small size of Single-Board RIO, the ruggedness of CompactRIO, or the extremely high performance of FlexRIO, the system design software remains consistent and code can port seamlessly across each family of deployment targets.


Innovate with a Platform to Accelerate Productivity and Drive Rapid Innovation

The integration of hardware and software delivers a complete platform for any embedded control or embedded monitoring application.  

  • Eliminate the need to start from scratch by leveraging a customizable, off-the-shelf platform
  • Satisfy the computation, connectivity, and control requirements that are common to embedded and IoT applications
  • Meet changing requirements over time with flexible, scalable, and field-programmable products
  • Choose from a variety of high-quality form factors, price points, and performance options
  • Leverage a consistent software environment for programming every element of the system and across design phases