|Course Welcome||This lesson welcomes you to the Datalogging, Control and Monitoring (DCM) course and introduces the course topics, learning objectives, and course materials.|
- Overview of course lessons and topics
- Learning objectives for each lesson
- Overview of course learning tools
|Introduction to Datalogging, Control and Monitoring with LabVIEW||In this lesson, you will learn about the typical components of DCM systems and see examples of these systems in the real world.|
- Examples of typical DCM systems
- Overview of DCM system components (HMI, Real-Time Target, FPGA target)
|Identifying Application Requirements|
This lesson walks through a variety of considerations when designing and developing a datalogging, control and monitoring application.
- Identify I/O and I/O rate requirements.
- Identify processes.
- Identify process timing.
- Identify data transfer types.
- Identify performance and reliability requirements.
Document Your Design
This lesson describes how to use and create different types of diagrams to document your system design.
- Overview of diagrams
- Creating a communication diagram
- Typical control & monitoring diagrams
- Additional documentation
This lesson describes how to setup real-time hardware and software. You receive hands-on experience in configuring a CompactRIO RT system.
- Setup hardware and PC
- Configure RT system settings and software
- Configure network settings
- Configure RT target from web browser
Accessing Your I/O in LabVIEW
This lesson describes how to access the inputs and outputs of your RT target in your application. Various methodologies will be discussed, compared and contrasted including NI DAQmx and NI Scan Engine.
- Configuring RT targets through the LabVIEW Project
- Accessing I/O using DAQmx
- Accessing I/O using Scan Engine
Programming Using LabVIEW Real-Time
This lesson describes how to design the real-time VI. You will learn about features specific to LabVIEW RT including how to configure and use timed loops. General considerations for designing deterministic applications will be covered extensively.
- RT VI Architecture
- Setting Priority Levels of Processes
- Yielding Execution in Deterministic Loops
- Timing Loops in LabVIEW Real-Time
- Improving Speed and Determinism
Inter-Process Communication in LabVIEW Real-Time
This lesson describes how to transfer tag, stream, and message data between multiple loops on your RT VI.
- Sharing data between deterministic and non-deterministic processes
- Sharing data between non-deterministic processes.
Communicating between the Real-Time Target and Host PC
This lesson describes how to transfer data and communicate between a host PC (Windows-based) and an RT Target.
- Front Panel Communication Versus Programmatic Network Communication
- Transferring Latest Values (Tag)
- Transferring Buffered Values (Message, Stream)
- Standard Protocols
- Embedded UI
Managing Memory and Monitoring System Health
In this lesson, you will learn about best practices for monitoring RT system health, memory and CPU usage to mitigate potential issues during an applications execution.
- Impacts of Memory Usage
- Memory Pre-Allocation
- Minimizing Dynamic Memory Allocations
- System Monitoring
In this lesson, you will learn more about best practices for creating reliable RT applications.
- Reliability Overview
- Safe Shutdown
- Comprehensive Error Handling
- C-Series Functional Safety Module
This lesson discusses methods of benchmarking your real-time application.
- Benchmarking performance
Deployment and Replication
This lesson discusses how to deploy a stand-alone RT application and replicate it on multiple RT targets.
- Introduction to RT deployment
- Communicating with deployed applications
- Replicating RT systems