From Saturday, Nov 23rd 7:00 PM CST - Sunday, Nov 24th 7:45 AM CST, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Developing Deterministic Applications Using LabVIEW Real-Time Course Overview

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

 

Course Last Release Date or Version Number: 2023

 

 

Course Details:

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

LessonOverviewTopics
Exploring Embedded Real-Time Applications Using LabVIEW Real-Time

Explore an embedded application requiring data logging, control, and monitoring capabilities.

  • Real-Time Processor Overview
  • Field-Programmable Gate Array (FPGA) Overview
  • Human-Machine Interface (HMI) Overview
  • Embedded Systems Commonalities
  • Identifying I/O and I/O Rate Requirements
Identifying Application RequirementsLearn how to design embedded applications, create communication diagrams using vector tools, and develop system diagrams.
  • Exploring Common Application Processes
  • Investigating Process Timing
  • Exploring Data Transfer Types
  • Identifying Performance and Reliability Requirements
  • Creating a Communication Diagram
  • Exploring Common Embedded Applications System Diagrams
Hardware Setup and PC ConfigurationsDistinguish between real-time hardware and PC software setup processes, connecting and configuring a cRIO device using NI MAX.
  • Setting Up a Hardware and PC
  • Configuring RT System Settings and Software
Configuring Network SettingsLearn the options available to connect to and configure the network settings of your RT Hardware.
  • Configuring Network Settings
Configuring LabVIEW to Communicate with Real-Time Targets

Learn how to configure and run LabVIEW VIs on Real-Time targets, while exploring the distinctions between the CompactRIO programming models.

  • Configuring Real-Time Targets through the LabVIEW Project
  • Comparing I/O Methods
Accessing I/O in LabVIEW Real-Time Projects

Learn about DAQmx and Scan Engine programming modes for RT Target I/O access and explore FPGA programming mode and compatible products.

  • Accessing I/O Using DAQmx
  • Accessing I/O Using Scan Engine
  • Accessing I/O from FPGA
Multitasking and Multithreading RT VIsExplore LabVIEW Real-Time VI architecture and investigate multitasking and multithreading concepts for efficient real-time system design.
  • Exploring a Real-Time VI Architecture
  • Evaluating Multitasking and Multithreading for LabVIEW RT Embedded Applications
Scheduling OverviewExplore the types of scheduling used by NI RT systems.
  • Scheduling Overview
Investigating Priority Levels of ProcessesExplore VI priority levels.
  • Investigating Priority Levels of Processes
Configuring Determinism in LabVIEWExplore how to configure the VI priority levels and how to yield execution while configuring deterministic tasks.
  • Exploring an RT VI Architecture
  • Yielding Execution in Deterministic Loops
Timing and Performance in LabVIEW Real-TimeExplore LabVIEW RT VIs, optimizing performance and execution speed through timing functions, Express VIs, and loop configurations.
  • Timing Loops in LabVIEW Real-Time
  • Improving Speed and Determinism
Transferring Data between Deterministic and Non-deterministic LoopsExplore different implementations in LabVIEW Real-Time to communicate deterministic loops with non-deterministic loops.
  • Introducing Data Transfer Methods in LabVIEW Real-Time
  • Exploring Data Communication in LabVIEW Real-Time
  • Exploring RT FIFO Configurations
Transferring Data between Non-deterministic LoopsStudy common methods to transfer data between non-deterministic loops.
  • Common Methods for Using Tags
  • Common Methods for Using Streams/Messages
Introduction to Channel WiresExplore the concept of Channel Wires and its implementation as an additional method to communicate loops in LabVIEW Real-Time.
  • Introduction to Channel Wires
  • Exploring Channel Wires
Communicating from Host to Target Using TagsDistinguish between Front Panel and Network communication in UI implementation and explore the use of Network-Published Shared Variables for efficient data sharing between the target and host.
  • Front Panel Communication vs. Programmatic Network Communication
  • Transferring Latest Values (Tag)
Communicating from Host to Target Using Buffered Values

Explore Network Streams Configuration and explore communicating Hosts and Targets using buffered values.

  • Transferring Buffered Values (Stream, Message
Investigating Standard Communication ProtocolsInvestigate options to communicate with hardware that does not support LabVIEW.
  • Standard Communication Protocols Overview and Use Cases
  • UDP and TCP Overview
Enabling Human Machine Interfaces Using Embedded UIExplore how the Embedded UI can be used with RT applications to have easier access to an HMI.
  • Enabling Human Machine Interfaces Using Embedded UI
Exploring the Impact of Memory Usage and Memory Pre-AllocationCompare dynamic vs. pre-allocated memory and learn strategies to minimize dynamic memory usage.
  • Exploring Impacts of Memory Usage
  • Investigating Memory Pre-Allocation
  • Minimizing Dynamic Memory Allocations
Exploring System MonitoringLearn how to monitor and analyze system performance, including CPU usage, memory utilization, and network activity.
  • Exploring System Monitoring
Exploring the Impact of Reliability and Safe Shutdown for RT ApplicationsStudy the concept of reliability in the context of real-time application development and review the benefits of having safe shutdown procedures programmed on your applications to reinforce the system’s safety and integrity.
  • Reliability Overview
  • Safe Shutdown Overview
Comprehensive Error HandlingInvestigate the Error Handling approaches commonly used in RT systems.
  • Comprehensive Error Handling
Exploring Reliability TechniquesExplore watchdog timers, system redundancy, and the C Series Functional Safety Module to enhance LabVIEW program reliability and real-time system safety.
  • Implementing Watchdogs for Your Embedded Applications Using LabVIEW Real-Time
  • Exploring Redundancy for LabVIEW Real-Time Embedded Applications
  • Using C Series Functional Safety Module
Invesigate Software Testing Techniques for Embedded Applications Using LabVIEW Real-TimeLearn Real-Time system benchmarking tools and understand the importance of testing code in software development.
  • Benchmarking the Performance of a Real-Time System
  • Testing the Code Functionality
Getting Your Embedded Application Ready for Deployment​Learn how to deploy Real-Time applications, use debugging tools, and communicate effectively with deployed applications. ​
  • Introduction to RT Deployments
  • Debugging LabVIEW Real-Time Applications
  • Replicating RT Systems for Final Deployment

Get started with Developing Deterministic Applications Using LabVIEW Real-Time Course today