Skip to content

LabVIEW Development Top-Down is the third and final of three units that we strongly recommend for any beginning or relatively inexperienced LabVIEW programmer. These three units can typically bring forward the learning curve for creating effective LabVIEW applications by anything from 6-12 months vs a typical self-taught LabVIEW programmer.

Many beginner or self-taught programmers start by learning the syntax of a language and progress directly to trying to build complex applications from the “bottom up”, without any overall plan for the application structure. This is like trying to write a novel by starting with a dictionary and stringing words together.

LabVIEW’s syntax is its library of graphical functions and the wiring rules for linking them together on the Block Diagram. Linking functions together without any overall structuring framework makes the code exponentially more difficult to read and more susceptible to errors as the application size increases.  You may get to your goal in the end, but the journey will be long and painful.

This unit is an introduction to the most common design patterns that can be used to structure LabVIEW application code from the “top down”.  It will give you the tools to quickly create powerful applications that are scalable and maintainable as they grow in size and complexity.  It also includes material on the LabVIEW VI Server Class Hierarchy that forms the basis of many of the more advanced techniques for working with LabVIEW code.

The material in LabVIEW Development Top Down is valuable to all new LabVIEW programmers, but is particularly critical for LabVIEW developers building applications that will be used by other parties, and will need on-going support and maintenance throughout their projected working life.


After attending this unit, you will be able to:

  • Recognise & implement the State Machine design pattern
  • Recognise & implement parallel loop design patterns including Master/Slave and Producer/Consumer
  • Recognise & implement the Functional Global design pattern, and its variations
  • Recognise & implement advanced data transfer and task synchronisation mechanisms
  • Understand the LabVIEW VI Server class hierarchy
  • Build rich interactive User Interfaces using Property Nodes and User Interface Events
  • Manage advanced VI options for multi-threading and  execution priority
  • Create executable applications and installers from LabVIEW source code


When, Where and How Much?

LabVIEW Development Top-Down is a one-and-a-half day course that is available on-demand, and scheduled to suit your timetable.  There is no minimum enrolment – we will run the unit for a single user.

It can be delivered at your premises, or on-line via Zoom or Teams.

The cost is $2,220 ex-GST for the first attendee, and $1,110 ex-GST (50% discount) for each subsequent attendee from the same organisation.  The price includes a copy of the presentation slides, and a DVD with LabVIEW source code for all in-course demonstrations and examples.  Lunch is not included.  Attendees are required to bring their own laptop or desktop PC with LabVIEW installed – the LabVIEW trial version, downloadable from National Instruments’ website, is acceptable.




What Next?

At the end of this unit you will be equipped with the general LabVIEW skills to create practically useful and reliable applications for yourself and others. It is a good base from which to build further skills as time and experience allows.

For beginner users that need to quickly develop equivalent expertise with practical tasks like data acquisition from NI hardware, device communications, or file IO we offer other complementary units:

  • Introduction to Data Acquisition using NI-DAQmx
  • Introduction to Data Acquisition using NI CompactRIO
  • Introduction to Device Communications
  • LabVIEW File IO

For experienced LabVIEW for Windows users that are looking to create applications for NI Real-Time targets we offer a unit that addresses the important distinctions between LabVIEW for Windows and LabVIEW for Real-Time.