Developing Embedded Applications Using CompactRIO and LabVIEW Real-Time Course Overview

Developing Embedded Applications using CompactRIO and LabVIEW Real-Time course delivers a learning experience for designing, prototyping, and deploying a reliable Real-Time application using NI compactRIO. At the end of the course, you will be able to translate your embedded system requirements into a scalable software architecture, choose appropriate methods for inter-process and network-based communication, design, deploy and define your Real-Time datalogging, control, and/or monitoring algorithm.


Course Last Release Date or Version Number: 2023

Course Details:

Developing Embedded Applications using CompactRIO and LabVIEW Real-Time Course Outline

Introduction to Embedded Measurement, Control, and Monitoring Using LabVIEW Real-TimeExplore an embedded application requiring data logging, control, and monitoring capabilities.
  • Overview of System Commonalities
  • Real-Time Processor Overview
  • Field-Programmable Gate Array (FPGA) Overview
  • Human-Machine Interface (HMI) Overview
Identifying Application RequirementsExplore the considerations when designing and developing an embedded application.
  • Identify I/O and I/O Rate Requirements.
  • Exploring Common Application Processes
  • Investigating Process Timing
  • Exploring Data Transfer Types
  • Identifying Performance and Reliability Requirements
Document Your DesignExplore the use of diagrams to aid in system design. Implement the design for the CompactRIO-based course project.
  • Identifying Diagram Types and Benefits
  • Creating a Communication Diagram
  • Exploring Common Embedded Applications System Diagrams
Configure Your HardwareSet up real-time HW and install the necessary SW to work with the CompactRIO.
  • Setting Up Hardware and PC
  • Configuring RT System Settings and Software
  • Configuring Network Settings
Accessing Your I/O in LabVIEWExplore the methods available to use the I/O channels of your hardware.
  • Configuring RT Targets through the LabVIEW Project
  • Comparing I/O Methods
  • Accessing I/O Using DAQmx
  • Accessing I/O Using Scan Engine
  • Accessing I/O from FPGA
Programming Using LabVIEW Real-TimeLearn how to access the inputs and outputs of your RT target in your application.
  • Real-Time VI Architecture Overview
  • Multitasking and Multithreading Overview
  • Scheduling Overview
  • Investigating Priority Levels of Processes
  • Setting Priority Levels of VIs
  • Yielding Execution in Deterministic Loops
  • Timing Loops in LabVIEW Real-Time
  • Improving Speed and Determinism
Inter-Process Communication in LabVIEW Real-TimeLearn how to transfer data between multiple loops on your Real-Time VI.
  • Introduction to Inter-Process Communication in Real-Time
  • Transfer Data between Deterministic and Non-deterministic Loops
  • Transfer Data between Non-deterministic Loops
  • Introduction to Channel Wires
Communicating between the Real-Time Target and Host PCExplore how to transfer data and communicate between a host PC and an RT Target.
  • Front Panel Communication versus Programmatic Network Communication
  • Transferring Latest Values (Tag)
  • Transferring Buffered Values (Stream, Message)
  • Investigating Standard Protocols
  • Embedded UI Overview
Managing Memory and Monitoring System HealthExplore best practices for monitoring RT system health, memory, and CPU usage to mitigate potential issues during application execution.
  • Exploring Impacts of Memory Usage
  • Investigating Memory Pre-Allocation
  • Minimizing Dynamic Memory Allocations
  • Exploring System Monitoring
Creating Reliable RT ApplicationsLearn about the techniques available to improve the reliability of your RT system and application
  • Reliability Overview
  • Safe Shutdown Overview
  • Comprehensive Error Handling
  • Watchdogs Overview
  • Redundancy Overview
  • C-Series Functional Safety Module
Debugging, Benchmarking, and TestingExplore methods for debugging, benchmarking, and testing your real-time application.
  • Debugging Real-Time VIs
  • Benchmarking the Performance of a Real-Time System
  • Testing the Code Functionality
Deployment and ReplicationDeploy a stand-alone RT application and replicate it on multiple RT targets.
  • Introduction to RT Deployment
  • Communicating with Deployed Applications
  • Replicating RT Systems

Get started with Developing Embedded Applications Using CompactRIO and LabVIEW Real-Time today