LabView Short Course II

Advanced Topics of Software Development in LabView

Registration

The Short Course will cover

COMMUNICATION AND INTERFACES

Interaction with external devices and other applications through different communication protocols is a mandatory task for data acquisition applications. In the classes communication from LabVIEW applications with external devices via the VISA standard covering GPIB, serial, Ethernet, USB will be explained. Also the interaction with independent applications (or devices) via TCP/IP and UDP protocols will be presented. In addition the ability to send event-driven e-mails from LabVIEW will be demonstrated.

SOFTWARE ARCHITECTURES AND CONCEPTS

After reviewing the different approaches for data exchange between code modules within an application via different types of variables, queues and notifiers, the standard collection of LabVIEW design patterns as a basic starting point for application development will be presented. In addition to the well known standard patterns advanced patterns like queued state machines will be explained. For flexible and configurable applications it is mandatory to call code modules dynamically at run-time. Which module to call is often determined by certain conditions, like the experiment configuration. Thus, dynamic code calling will be discussed. As most applications in an academic research environment have similarities a flexible and configurable machine control architecture for controlling experiments and processing plants will be presented. This architecture can easily be adopted to most experiments with minimal changes to the core functionality. Combined with the dynamic calling capabilities a very flexible and universal platform can be developed.

GRAPHICAL USER INTERFACE

The user interface is the most important part of a program from the user’s point of view. However, from the software engineer’s point of view it is often “just a visualization of some parameters”. This part of the classes will cover good design practice for graphical user interfaces, an overview of the available front panel element collections in LabVIEW, and a couple of tips and tricks how to combine these different elements into good looking front panels that are easy and intuitively to operate. To achieve these goals also programmatic manipulations of the front panel elements, like re-positioning, color-changing, enabling/disabling, hiding, etc. and programmatic generation (i.e. programmatic creation of the front panel itself) will be demonstrated.

LABVIEW ADD-ONS YOU SHOULD KNOW

While LabVIEW is already a very feature-rich platform that can easily be expanded by several commercial National Instruments modules and toolkits, there are also quite a few open source add-ons that are worth to be noticed. Especially the OpenG and MGI toolkits can significantly ease the daily programming tasks in LabVIEW. Also National Instruments offers a growing collection of free LabVIEW add-ons for specific tasks. In this section of the classes these packages as well as the VI Package Manager – a tool to download and install such packages in LabVIEW – will be presented.

Presenter Bio

Jan Jacob studied physics at the University of Hamburg from 1999 to 2007. He obtained his diploma with a thesis on the “Preparation and Characterization of Spin Filters based on InAs quantum-point contacts” and finished his Ph.D. thesis on “All electrical InAs Spin Filters” in 2009 at the University of Hamburg. After that he established a research group at the Institute of Applied Physics at the University of Hamburg, where he investigated spin-based transport in semiconductor heterostructures. Since January 2013 he’s a project manager at Werum Software & Systems in Lüneburg, Germany, where he’s responsible for the development of individual software solutions with a strong focus on data acquisition and data management systems.

The Center for Emergent Materials (CEM) is supported by the National Science Foundation under NSF Award Number DMR-1420451. Any opinions, findings, conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect those of the National Science Foundation.