The Embedded Control and Monitoring Using LabVIEW Course provides hands-on training for designing, prototyping, and deploying a reliable embedded control and monitoring application. 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 your real-time application for reliability, and efficiently deploy and replicate your embedded system.
Instructor-led Classroom: Five (5) Days
Users preparing to develop embedded control and monitoring applications using the LabVIEW Real-Time Module and LabVIEW FPGA Module with CompactRIO, PXI, or multifunction I/O hardware
Users who need the performance and reliability of real-time (RT) and FPGA hardware targets
LabVIEW Core 1 Course and LabVIEW Core 2 Course or equivalent experience
LabVIEW
LabVIEW FPGA Module
LabVIEW Real-Time Module
CompactRIO Controller
C Series analog input, analog output, temperature input, and digital modules
Design, prototype, and deploy an embedded control and monitoring application
Acquire and generate analog and digital signals, control timing, and implement signal processing on RT and FPGA
Implement functionality on the FPGA for maximum performance and reliability using the LabVIEW FPGA Module
Implement additional functionality on the RT target for logging, network communication, system health monitoring, and reliability using the LabVIEW Real-Time Module
Implement a human machine interface (HMI) on the PC
Communicate data between the FPGA, RT target, and PC
Debug, benchmark, and test your application
Deploy your application to multiple systems
Lesson | Overview | Topics |
---|---|---|
Introduction to Embedded Control and Monitoring | This lesson introduces embedded control and monitoring systems using LabVIEW. You learn about the FPGA, real-time, and HMI components of the system. |
|
Configuring Your Hardware | This lesson describes how to setup real-time hardware and software. You receive hands-on experience in configuring a CompactRIO RT system. |
|
Identifying Application Requirements | This lesson walks through a variety of considerations when designing and developing an embedded control and monitoring application. |
|
Documenting Your Design | This lesson describes how to use and create different types of diagrams to document your system design |
|
Accessing Your I/O in LabVIEW | This lesson describes how to access the inputs and outputs of your RT target in your application |
|
Programming Using LabVIEW FPGA | In this lesson, you learn how to program the FPGA using the LabVIEW FPGA Module. You gain a high-level understanding of how logic is implemented on the FPGA and how LabVIEW code is translated and compiled into FPGA hardware. After you develop an FPGA VI, you test, debug, compile and then execute on an FPGA target. You examine different reports generated during compilation and learn techniques to optimize your code for size. |
|
Using FPGA I/O and Timing | In this lesson, you learn how to add FPGA I/O to your LabVIEW project and access it on the block diagram using FPGA I/O Nodes. You also learn how to set FPGA loop rates, add delays between events, and benchmark your FPGA code. |
|
Signal Processing | In this lesson, you learn a variety of ways to process your signals in an FPGA VI. |
|
Inter-Process Communication in FPGA | In this lesson, you learn how to transfer data between multiple loops on your FPGA VI. You examine data sharing methods including variables, memory items, register items, and FPGA FIFOs. You learn the benefits of each technique and when each should be used. |
|
Communicating Between the FPGA and RT | In this lesson, you learn how to transfer data between your FPGA VI and RT VI. |
|
Optimizing FPGA Code | In this lesson, you learn how to use techniques to optimize for speed or FPGA size if necessary |
|
Programming Using LabVIEW Real-Time | This lesson describes how to design the real-time VI. You learn about the setting priorities and improve the determinism of an application. |
|
Inter-Process Communication in RT | This lesson describes how to transfer data between multiple loops on your RT VI. |
|
Communicating Between RT Target and PC | This lesson describes how to communicate between the RT target and PC. You also learn about various communication techniques such as network-published shared variables, network streams, TCP, UDP, and reference libraries. |
|
Managing Memory and Monitoring System Health | This lesson discusses techniques to manage memory properly and monitor the health of the embedded system. |
|
Reliability | This lesson discusses techniques to improve the reliability of the real-time application. |
|
Debugging, Benchmarking, and Testing | This lesson discusses methods of debugging, benchmarking, and testing your real-time application. |
|
Deployment and Replication | This lesson discusses how to deploy a stand-alone RT application and replicate it on multiple RT targets. |
|