Example Code

Reference Application for NI CompactRIO Waveform Acquisition

Products and Environment

This section reflects the products and operating system used to create the example.

To download NI software, including the products shown below, visit ni.com/downloads.


  • CompactRIO|SingleBoardRIO


  • LabVIEW
  • LabVIEW FPGA Module


  • NI-RIO

Code and Documents


Download All


VIs, Examples for Waveform Data Acquisition with CompactRIO

Reference Application for NI CompactRIO Waveform Acquisition
  • Jump-start application development with easy-to-adapt examples for varying platform combinations
  • Continuous and finite acquisition architectures using the easily integrated waveform data type
  • Incorporate calibration and scaling operations into the FPGA to free host resources
  • Use polling-based read functions for increased control over CPU usage during data acquisition
  • VIs perform a full complement of error checking (FIFA overflow, module underflow, timeouts)
Many reconfigurable I/O (RIO) applications acquire continuous blocks of data from multiple synchronized NI C Series modules. This reference application presents CompactRIO waveform data acquisition VIs and example source code that incorporate RIO best practices. You can easily modify these examples to jump-start your application development.

Specifically, the project allows for both delta-sigma-based and non-delta-sigma-based module support, with common acquisition functions grouped into logical blocks. Examples cover multiple continuous and finite acquisition modes with waveform data types. Employed VIs push calibration and scaling operations onto the field-programmable gate array (FPGA), perform a full complement of error checking, and allow for increased user control over CPU usage - all important as the basis for application development.

The flexible examples can adapt to many different hardware combinations. For most applications, you need to modify only the FPGA VI.

System Requirements
Application Software: NI LabVIEW Full Development System 8.6 or later
Toolkits and Add-Ons: LabVIEW FPGA Module 8.6, LabVIEW Real-Time Module 8.6
Hardware: CompactRIO
Driver: NI-RIO 3.1

Disclaimer: This reference architecture was created by the NI Systems Engineering group and is provided as is. NI does not guarantee the performance of this reference architecture. Links to detailed information on this reference architecture and to a forum to provide feedback and ask questions are included in the Resources tab.

How to Use

Files can be downloaded via this link:






Additional Information

Product Certifications  (34)



Related Links



Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.