The National Instruments standard platform for embedded control and monitoring
Widely adopted by industry
CompactRIO (pictured above) features a rugged chassis and wide array of plug-in modules
Integrates a real-time (RT) processor and field-programmable gate array (FPGA) for I/O
Single-Board RIO features similar functionality without the ruggedized case for direct integration into your own product
Software development system requirements: LabVIEW, LabVIEW RT, LabVIEW FPGA, and NI RIO
667MHz dual-core ARM Cortex-A9, 1.33 GHz dual-core Intel Atom, or 1.91 GHz quad-core Intel Atom
NI Linux Real-Time OS (RTOS)
Up to 16 GB of onboard storage
Up to 8 I/O module slots
Gigabit Ethernet, USB, RS232/RS485, Mini DisplayPort, SD, WiFi
Implements high-level command and control, user interface, network connections, and low to moderate speed process control loops
Xilinx Zynq-7000 or Xilinx Kintex-7
Implements precision I/O timing, massively-parallel computation, high-speed signal processing, and high-speed process control loops
LabVIEW RIO programming compared to desktop environment
You likely have experience creating LabVIEW applications to run on a desktop computer. Coding for the RT target is quite similar because the RT target is also a processor – think of the RT target as a special-purpose computer tailored for embedded systems. The real-time operating system (RTOS) distinguishes the RT target from a conventional OS by offering precision loop timing and high reliability (low down-time).
Programming the FPGA is similar to the desktop computer in the sense that you create LabVIEW code, however, the similarity stops there. The FPGA requires a bitstream file (or bitfile) to establish its myriad circuit connections. This bitfile is obtained by compiling the LabVIEW VI: the G code (graphical block diagram code) is translated into VHDL and then the Xilinx tools take over from there. The FPGA-targeted VI appears to “run” on the FPGA, but does not run in the same way as code executed by the RT target.
Learn RIO (http://www.ni.com/academic/students/learn-rio/)
Five introductory video tutorials: (1) "What is RIO?", (2) "Setting up Your CompactRIO System"', (3) "Embedded Programming with LabVIEW and CompactRIO", (4) "Create an Embedded State Machine with CompactRIO", and (5) "Learn to Use myRIO".
NI LabVIEW for CompactRIO Developer's Guide (http://www.ni.com/compactriodevguide/)
From the webpage: 'The National Instruments CompactRIO Developers Guide provides an overview of recommended architectures and development practices when programming NI CompactRIO controllers. Intended as complementary material to standard LabVIEW Real-Time Module and LabVIEW FPGA Module training, this guide features documentation and examples as a framework for designing industrial control and monitoring applications.'