Effective LabVIEW Programming

This textbook is designed to teach beginning and intermediate LabVIEW programmers computational thinking as it applies to LabVIEW programming. Rather than presenting detailed instructions on how to navigate LabVIEW, this book focuses on how to use the dataflow paradigm of LabVIEW to create effective programs that are readable, scalable, and maintainable. This book caters to both new and experienced programmers, with topics ranging from basic to advanced, such as parallel loop architectures and race conditions.
by Dr. Thomas J. Bress
To purchase the printed book: Call 800-531-5066 and ask for part number 783096-01.

Bookstores ordering 10 or more copies, make sure National Instruments dba NTS Press appears on your PO and email it to orders@ntspress.com.

Purchase the E-Book here.


  • Students will learn the fundamentals of LabVIEW data flow and computational thinking
  • Students will learn how to layout code in a way that is readable and maintainable for any LabVIEW programmer who wishes to add functionality.
  • Students will be better prepared for the CLD exam.



Level University
Topic LabVIEW Programming
Style Textbook
Prerequisite Skills None


Topics include the anatomy of a VI, dataflow, arrays and clusters, loops, and other basic functions of LabVIEW.
Topics include the Multitest VI and the car wash controller.
Topics include state machine elements, state machine structures, and placing elements in the state machine.
Topics include the anatomy of an action engine, feedback node action engines, and the state variable method.
Topics include the inputs, outputs, and functions of the Car Wash Timer.
Topics include determining and creating states, developing an error check, and creating selector states.
Topics include event structures, anatomy of an event structure, configuring an event structure, and event structure quirks and caveats.
Topics include adding the event structure to the wait state and the stop button.
Topics include the power of queues, queue functions, and by-value versus by-reference.
Topics include building a non-square Icon, examining the queued car wash controller and the car wash states.
Topics include strain gauges and bridge circuits, data acquisition in LabVIEW, and building the DAQ task.
Topics include documentation, style, functionality, and more.
Topics include using arguments to pass information, passing arguments using strings, and improving the string-based state machine.
Topics include adding arguments and a cycle state to the to the car wash controller example.
Topics include LabVIEW Objects and Classes.
Topics include inheritance and composition as well as cycle and child classes.
Topics include stopping parallel loops, the producer-consumer architecture, and user events.
Topics include guarding against race conditions, and living with race conditions.
Topics include the switched queue class and data value references.
Topics include summarizing state machines, coupling, and what's next.


LabVIEW is systems engineering software for applications that require test, measurement, and control with rapid access to hardware and data insights.

Log in to submit a comment.