Jump to content

LabVIEW Learning Materials: Difference between revisions

From LabVIEW Wiki
No edit summary
No edit summary
Line 76: Line 76:
* [https://www.youtube.com/watch?v=5PzbsJfzRHY Error Handling Techniques]
* [https://www.youtube.com/watch?v=5PzbsJfzRHY Error Handling Techniques]


==Software Frameworks==
=Software Frameworks=
* DQMH
 
==DQMH==
 
* [https://delacor.com/dqmh/ Delacor’s DQMH Toolkit Overview]
  * Description: This is the official page for the DQMH toolkit, which includes a summary of features and download links.
 
* [https://delacor.com/dqmh/documentation/DQMH_User_Guide.html DQMH User Guide]
  * Description: The official DQMH user guide with detailed explanations of how to use the framework.
 
* [https://forums.ni.com/t5/Delacor-Queued-Message-Handler-DQMH/ct-p/7351 NI's DQMH Community Page]
  * Description: NI community hub dedicated to discussions around the DQMH framework, where developers share best practices, examples, and troubleshooting tips.
 
===Video Tutorials===
 
* [https://www.youtube.com/watch?v=aGUkhzv4bnc Introduction to DQMH (YouTube by Delacor)]
  * Duration: ~10 minutes
  * Description: A quick introduction to DQMH for beginners, focusing on the key features and benefits of using this framework.
 
* [https://www.youtube.com/watch?v=NTMsFz2MC1Q How to Use the DQMH Module Template (YouTube)]
  * Duration: ~30 minutes
  * Description: A step-by-step guide for setting up and using the DQMH module template in your LabVIEW projects.
 
* [https://www.youtube.com/watch?v=lpXcAhoNbRU DQMH Core Concepts and Demonstration (YouTube)]
  * Duration: ~40 minutes
  * Description: In-depth coverage of core DQMH concepts like requests, broadcasting events, and using helper loops.
 
===DQMH Use Cases and Advanced Topics===
 
* [https://www.youtube.com/watch?v=_nnnP5WJQyY Advanced DQMH Techniques (YouTube)]
  * Duration: ~50 minutes
  * Description: This video explores advanced features like nested modules, scripting tools, and best practices for event handling within DQMH.
 
* [https://www.youtube.com/watch?v=VUXIXfoBHEM Developing Modular Applications Using DQMH (NI YouTube Channel)]
  * Duration: ~60 minutes
  * Description: A deep dive into how to build modular and scalable applications using DQMH. It covers real-world use cases and best practices.
 
* [https://www.youtube.com/watch?v=GKlTeDWwkgk Integrating DQMH with Other Frameworks (YouTube)]
  * Duration: ~45 minutes
  * Description: A tutorial that shows how to integrate DQMH with other architectures like Actor Framework or Command-Response patterns.
 
===Community Contributions===
 
* [https://github.com/LabVIEW-Tools/DQMH-Best-Practices DQMH Best Practices on GitHub]
  * Description: This repository contains best practices for using DQMH, contributed by the community. You’ll find code examples, comments, and strategies for building robust systems.
 
* [https://forums.ni.com/t5/Delacor-Queued-Message-Handler-DQMH/bd-p/7351 DQMH Forum (LabVIEW Community)]
  * Description: A place to ask questions, find tutorials, and get tips from experienced DQMH users.
 
 
* Actor Framework
* Actor Framework
* Workers
* Workers
Line 106: Line 154:
* [https://www.gcentral.org/ GCentral: Open-Source Community for LabVIEW]
* [https://www.gcentral.org/ GCentral: Open-Source Community for LabVIEW]


=Connectivity=
=Connectivity and Report Generation=


==Database Connectivity==
==Database Connectivity==

Revision as of 10:48, 24 September 2024

See also: category:LabVIEW fundamentals

This page provides a recommended set of resources for LabVIEW programmers. It breaks the content across six phases of maturity and experience so that users may self-identify what content is most relevant for them based on their experience. Most of the content is crowd-sourced and freely available from ni.com and other sources like YouTube.

LabVIEW Programming Basics

Introduction to LabVIEW Environment

Data Types & Structures

Basic Programming Concepts

Asynchronous Messaging

Object-Oriented Programming (OOP) in LabVIEW

Debugging Tools

Build and Deployment

Working with LabVIEW Architectures

State Machines

Queued Message Handlers (QMH)

Producer/Consumer Architecture

Event-Driven Programming

Tooling and Development Processes

Configuration Management=

Static Code Analysis

Dynamic Code Analysis and Performance Benchmarking

Unit Testing

Software Design Patterns and Best Practices

Modular Programming and Code Reuse

Error Handling

Software Frameworks

DQMH

 * Description: This is the official page for the DQMH toolkit, which includes a summary of features and download links.
 
 * Description: The official DQMH user guide with detailed explanations of how to use the framework.
 * Description: NI community hub dedicated to discussions around the DQMH framework, where developers share best practices, examples, and troubleshooting tips.

Video Tutorials

 * Duration: ~10 minutes
 * Description: A quick introduction to DQMH for beginners, focusing on the key features and benefits of using this framework.
 
 * Duration: ~30 minutes
 * Description: A step-by-step guide for setting up and using the DQMH module template in your LabVIEW projects.
 
 * Duration: ~40 minutes
 * Description: In-depth coverage of core DQMH concepts like requests, broadcasting events, and using helper loops.

DQMH Use Cases and Advanced Topics

 * Duration: ~50 minutes
 * Description: This video explores advanced features like nested modules, scripting tools, and best practices for event handling within DQMH.
 
 * Duration: ~60 minutes
 * Description: A deep dive into how to build modular and scalable applications using DQMH. It covers real-world use cases and best practices.
 * Duration: ~45 minutes
 * Description: A tutorial that shows how to integrate DQMH with other architectures like Actor Framework or Command-Response patterns.

Community Contributions

 * Description: This repository contains best practices for using DQMH, contributed by the community. You’ll find code examples, comments, and strategies for building robust systems.
 
 * Description: A place to ask questions, find tutorials, and get tips from experienced DQMH users.


  • Actor Framework
  • Workers
  • VIPER

Integration with Hardware

DAQmx Basics

Instrument Control

Determinism and Real-Time Execution

Community and Best Practices

LabVIEW Style Guidelines

LabVIEW Community and User Groups

Connectivity and Report Generation

Database Connectivity


Formal Training

Formal training on LabVIEW is available from several providers. Offerings differ based on prior LabVIEW experience level and the preferred delivery method. Common delivery methods include:

  • In-person instructor-led
  • Remote instructor-led (usually through a web conference)
  • Online self-paced (usually through a combination of pre-recorded lecture videos and exercise solution videos)
  • Self-paced with a manual

National Instruments has a suite of courses ranging from beginner to advanced as well as several specialty topics such as LabVIEW Real-Time and LabVIEW Connectivity. National Instruments offers all common delivery methods mentioned above except online self-paced. Other LabVIEW training providers such as Sixclear provide this online self-paced environment. Sixclear's same curriculum is also delivered through in-person instructor-led training. Durability is another provider of in-person instructor-led training.

Recommended training courses for those with no knowledge of LabVIEW are the National Instruments Core 1 and Core 2 courses, the Sixclear LabVIEW Fundamentals I and II courses, or the Durability LabVIEW 101 and 102 courses. All sets of courses are geared to a user with little to no LabVIEW experience and teach the proficiencies outlined by the Certified LabVIEW Associate Developer (CLAD) exam as well as simple DAQ and instrument control.


Common arguments justifying formal training revolve around the idea that the sum cost of developers' time is greater than the cost of training because:

  • the LabVIEW graphical programming paradigm is appreciably different than traditional text-based programming
  • costly mistakes commonly occur when moving from simple LabVIEW applications to more complex applications, especially when developing parallel loop applications

Alternatives to Formal Training

National Instruments maintains a list of LabVIEW reference books as an alternative to formal training.

Another alternative to formal training are half-day "LabVIEW Hands-On" workshops offered by National Instruments. Recommended follow-ups are the "G Programmer's reference manual" and the LabVIEW "User Manual" found in the LabVIEW documentation.


External Links

Some online tutorials: