Building Real-Time Systems with Distributed I/O


This paper discusses the design of real-time deployment systems with distributed I/O. National Instruments introduces the NI 9144 expansion chassis for NI CompactRIO and programmable automation controller (PAC) systems over deterministic Ethernet. Combined with the power of the NI LabVIEW Real-Time Module, this eight-slot chassis for NI C Series modules provides an easy solution for deterministic distributed I/O. Plus, you can use the LabVIEW FPGA Module to program the NI 9144 and create intelligent distributed devices capable of custom timing and inline processing.



What happens when you try to design distributed I/O into your time-critical control system? First is the question of how to add the I/O without losing the determinism of the real-time system. Without a time-critical communication protocol, you may try to synchronize multiple real-time controllers using shared clocks or hardware triggers via digital I/O modules. But as you add more and more controllers, the complexity of this synchronization workaround becomes time-consuming and unwieldy, especially if all you need is the distributed I/O. 

Figure 1. Complex Solution for Adding Deterministic Distributed I/O

An ideal solution involves using a high-speed, deterministic communication protocol to pass data from the distributed I/O nodes while using the same, consistent NI hardware and software platform.

NI 9144 Expansion Chassis

The NI 9144 expansion chassis adds deterministic Ethernet I/O to your NI CompactRIO or PAC system. This eight-slot rugged chassis for C Series modules communicates deterministically over an open, real-time Ethernet protocol called EtherCAT. NI has several real-time embedded controllers, such as CompactRIO, PXI, and the industrial controller, that you can use as the master controller for the distributed system. You also can daisy chain several NI 9144 chassis from the master controller to expand your time-critical applications.

Figure 2. NI Real-Time System with Distributed I/O

The NI 9144 is an industrial-grade chassis designed for extreme ruggedness, reliability, and a large -40 to 70 °C operating range. To customize your measurement and control system, select from more than 30 analog and digital C Series modules. Plus, the software configuration and LabVIEW programming experience was designed to be easy to use when adding real-time expansion I/O.

Figure 3. NI 9144 Expansion Chassis for C Series Modules

Related Links
NI 9144 Expansion Chassis Under the Hood

Flexibility with C Series I/O Modules

Because the NI 9144 chassis is a modular expansion system, you have the flexibility to incorporate more measurement types and channels by plugging in additional I/O modules. Plus, attaching another expansion chassis adds even more module slots for your system. Not only are all C Series I/O modules automatically synchronized in each chassis, but all the expansion chassis in the network are synchronized with each other as well.

Each C Series module contains built-in signal conditioning and isolation for extended voltage ranges and industrial signal types, such as thermocouples, resistance, voltage, current, strain, and accelerometers. Like the NI 9144 chassis, all C Series modules are UL tested and operate in industrial temperature and shock environments. In addition, C Series I/O modules are reusable in other NI hardware platforms, such as embedded CompactRIO, USB NI CompactDAQ, and Wi-Fi data acquisition.

National Instruments provides direct hardware access to the input/output circuitry of each I/O module using LabVIEW FPGA elemental I/O functions, which gives you the ability to conduct onboard signal manipulation such as filtering, fast Fourier transform (FFT), PWM, waveform generation, and more. Plus, you can program more than 40 C Series modules for single-point analog and digital I/O with the easy-to-use NI Scan Mode in LabVIEW Real-Time. For a complete list of compatible modules, view the C Series Module Compatibility Chart. The NI 9144 modules are listed under the deterministic distributed I/O categories.

Figure 4. C Series Modules That Include Sensor-Specific Connectors with Built-In Signal Conditioning and A/D Converters

Related Links
C Series Family Video
C Series Module Compatibility Chart

Easy Expansion with LabVIEW Real-Time

With LabVIEW software, you can easily add deterministic expansion I/O to a graphical programming environment. The out-of-box experience for the NI 9144 involves installing the NI-Industrial Communications for EtherCAT driver on your NI master controller, and then LabVIEW automatically recognizes all connected slaves and their modules. LabVIEW Real-Time also provides I/O variables, which give you instant access to the physical I/O values by simply dragging and dropping. With I/O forcing and live test panels, you can use I/O variables to monitor system performance and perform advanced troubleshooting. To learn more about the LabVIEW technology behind the I/O variable, visit the links below.

Figure 5. Dropping NI 9144 I/O Variables onto a LabVIEW VI

Related Links
Introduction to CompactRIO Scan Mode

High Performance with LabVIEW FPGA

In addition to the default out-of-box experience that maximizes ease of use, each NI 9144 also contains an embedded Xilinx field-programmable gate array (FPGA) that you can customize using graphical LabVIEW FPGA tools. With reconfigurable logic gates that can implement code in hardware, the FPGA is extremely fast and reliable and ideal for executing any time-critical control, acquisition, and timing components in your application. Plus, virtual point timing signals are provided for the synchronization of FPGA code across multiple, distributed NI 9144 modules with less than 100 ns of jitter. Using the FPGA hardware embedded in the NI 9144, you can implement custom triggering, inline processing, and control for analog and digital I/O. For more information on using LabVIEW FPGA, visit the links below.

Figure 6. LabVIEW FPGA provides easy graphical programming tools for the NI 9144 FPGA chip.

Related Links