NI Training Community

cancel
Showing results for 
Search instead for 
Did you mean: 

Advanced Architectures in LabVIEW - Virtual, June 30th - July 3rd

Advanced Architectures in LabVIEW - Virtual, June 30th - July 3rd

Date: June 30th - July 3rd

Location: Virtual (Instructor-Led Online)

Time: 1pm - 5pm CET

Course Overview

Duration
  • Instructor-led Online: Four 4-hour sessions, plus homework
Audience
  • LabVIEW programmers interested in learning advanced design patterns
  • LabVIEW programmers managing large application development
  • LabVIEW Architects managing a team of developers
  • LabVIEW users pursuing the Certified LabVIEW Architect certification
Prerequisites
  • LabVIEW Core 3 or equivalent LabVIEW experience

Course Outline

LessonOverviewTopics
Architecting an ApplicationIn this lesson, you learn how to design and document scalable, readable, and maintainable software architectures.
  • Characteristics of scalable, readable, maintainable architecture
  • Documenting a software architecture
  • Characteristics of a scalable design pattern
Designing an APIIn this lesson, you learn how to design a consistent, organized, and usable API that may reused in your software architectures and distributed to several developers.
  • API design techniques
  • Polymorphic VIs for an API
  • Project libraries for API design
  • Passing data in an API
Multiple Processes and Inter-Process CommunicationIn this crucial lesson, you learn about foundational APIs and design patterns and how they apply to several essential advanced design patterns. You also learn several advanced methods for communicating between multiple processes and their tradeoffs. Exercises and tools are general enough that you can use them in your own applications.
  • Storing data, streaming data, and sending messages
  • Foundational native LabVIEW APIs for messaging (queues, notifiers, user events, data value references)
  • Foundational design patterns (FGV, various state machines, producer/consumer, various queue-driven message handlers)
  • Scaling foundational design patterns for multiple processes (e.g. client/server)
  • Asynchronous dynamic processes
  • By reference inter-process data storage (single element queues, data value references)
  • Several inter-process communication methods
  • Exposure to relevant native LabVIEW APIs, advanced design patterns, and reference architectures
Advanced User Interface TechniquesIn this lesson, you learn how to create an architecture that provides a modular, scalable, and extensible user interface.
  • Subpanels
  • XControls
Introduction to Object-Oriented Programming in LabVIEWIn this lesson, you learn how using the encapsulation and inheritance capabilities of LabVIEW Object-Oriented Programming can create very scalable and extensible software architectures.
  • Introduction to LabVIEW classes and related terminology
  • Using encapsulation to restrict access to class data
  • Using inheritance and dynamic dispatch to implement scalable polymorphism at run time.
Plug-In ArchitecturesIn this lesson, you learn how to create a plug-in architecture that allows you to add features without changing your main code.
  • Plug-in architecture using VI Server
  • Plug-in architecture using LVOOP
Tips, Tricks, and Other TechniquesIn this lesson , you learn various tips, tricks, and techniques to help create your architecture
  • Variant attributes
  • Callback VIs with user events
  • VI Scripting
  • Drop In VIs
César Verdejo
Training and Certification | National Instruments
Contributors