LabVIEW for CompactRIO Developer's Guide

The CompactRIO developer’s guide provides an overview of recommended architectures and development practices for programming CompactRIO Controllers and systems.

This guide is intended as complementary material to standard embedded control and monitoring using LabVIEW training. It features documentation and examples as a framework for designing industrial control and monitoring applications.


Visit the LabVIEW for CompactRIO Developer's Community to engage with others on these topics.

Introduction and Basic Architectures

The critical first step when programming an embedded system is to implement an architecture that scales with the application, allows code modularization, and makes debugging and validation easier.


The introduction and Chapter 1 examine:


  • Tips on designing CompactRIO applications
  • Basic architecture starting points
  • Different types of data communication

Designing a Real-Time Application

Improve the performance and reliability of your application with proper techniques for designing applications to run on a real-time OS (RTOS) with the LabVIEW Real-Time Module. 


Chapters 2 and 3 examine:


  • Accessing I/O module data
  • Designing deterministic and nondeterministic processes
  • Communicating data between processes
  • Managing CPU bandwidth and memory

Best Practices for Network Communication

Add networked devices and user interfaces such as NI touch panel computers, desktop PCs, or web clients that pass data and commands to and from the embedded CompactRIO system.


Chapter 4 examines:


  • Different types of data communication and system configurations
  • Recommended network communication mechanisms based on system requirements

Customizing Hardware Through LabVIEW FPGA

Take advantage of the onboard FPGA on CompactRIO for applications such as sensor-level signal conditioning, inline filtering, digital protocols, onboard processing, waveform data collection, and mission-critical safety logic.


Chapters 5 and 6 examine:


  • FPGA technology
  • Data streaming between FPGA and real-time hardware
  • FPGA development best practices
  • Multichassis timing and synchronization

Interfacing to NI or Third-Party Hardware

Expand the CompactRIO architecture to communicate with other systems. Discover how to add expansion I/O, integrate I/O from other devices, and add more advanced functionality such as motion control and machine vision.


Chapters 7 through 10 examine:


  • Interfacing to NI expansion I/O
  • Interfacing to third-party devices over industrial protocols
  • Interfacing to NI touch panels and designing a touch panel HMI

Deploying, Replicating, and Securing Embedded Systems

Deploy final CompactRIO and touch panel applications, set these applications to start automatically on power up, and automate code transfer to additional controllers for system replication.


Chapters 11 and 12 examine:


  • Deploying startup applications to CompactRIO and NI touch panel computers
  • Replicating deployed CompactRIO systems
  • Protecting IP

Using the LabVIEW for CompactRIO Sample Projects

LabVIEW 2012 and later provides several fully functioning project templates and sample projects to use as starting points for embedded control and monitoring applications.


Chapter 13 examines:


  • Available sample projects and reference designs
  • The architecture of the LabVIEW FPGA Control on CompactRIO sample project
  • Data communication best practices
  • Techniques to ensure reliability and scalability

Get the Complete Guide