Developing Deterministic Applications Using LabVIEW Real-Time​

Developing Deterministic Applications using LabVIEW Real-Time course delivers 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.

Available Formats

 

Virtual training not available for this course

 

Classroom training not available for this course

 

Private Classes not available for this course

Course Objectives

Course Details

Duration

Audience

Prerequisites

NI Products Used

Training Materials

Cost in Credits

Developing Deterministic Applications Using LabVIEW Real-Time Course Outline

LessonOverviewTopics
Exploring Embedded Real-Time Applications Using LabVIEW Real-TimeExplore 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 Requirements

Learn 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 Configurations

 

Distinguish between real-time hardware and PC software setup processes, connecting and configuring a CompacRIO module using NI MAX.
  • Setting Up a Hardware and PC

  • Configuring RT System Settings and Software

Configuring Network Settings

 

Learn the options available to connect to and configure the network settings of your real-time hardware.
  • Configuring Network Settings

Configuring LabVIEW to Communicate with Real-Time TargetsLearn 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 ProjectsLearn about NI-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 real-time 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 ValuesExplore 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 Monitoring

 

Learn 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 

Investigate 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

Upgrade to Membership

If you are planning to take three or more NI instructor-led courses within one year, a Training Membership provides cost-effective, unlimited access to all NI public classroom and public virtual courses, along with unlimited certification vouchers.