PrefacePreface
LabVIEW is a graphical programming language that has been widely adopted throughout industry, academia, and research labs as the standard for data acquisition and instrument control software. LabVIEW is a powerful and flexible instrumentation and analysis software system that is multiplatformyou can run LabVIEW on Windows, Mac OS X, and Linux. You can also run LabVIEW on PDAs (PalmOS, PocketPC, or Windows CE devices), on real-time platforms, and even embed LabVIEW programs into FPGA chips and 32-bit microprocessors. Creating your own LabVIEW program, or virtual instrument (VI), is simple. LabVIEW's intuitive user interface makes writing and using programs exciting and fun!
LabVIEW departs from the sequential nature of traditional programming languages and features an easy-to-use graphical programming environment, including all of the tools necessary for data acquisition (DAQ), data analysis, and presentation of results. With its graphical programming language, sometimes called "G," you program using a graphical block diagram that compiles into machine code. Ideal for a countless number of science and engineering applications, LabVIEW helps you solve many types of problems in only a fraction of the time and hassle it would take to write "conventional" code.
Beyond the Lab
LabVIEW has found its way into such a broad spectrum of virtual instrumentation applications that it is hard to know where to begin. As its name implies, it began in the laboratory and still remains very popular in many kinds of laboratoriesfrom major research and development laboratories around the world (such as Lawrence Livermore, Argonne, Batelle, Sandia, Jet Propulsion Laboratory, White Sands, and Oak Ridge in the United States, and CERN in Europe), to R&D laboratories in many industries, and to teaching laboratories in universities all over the world, especially in the disciplines of electrical and mechanical engineering and physics.
The spread of LabVIEW beyond the laboratory has gone in many directionsup (aboard the space shuttle), down (aboard U.S. Navy submarines), and around the world (from oil wells in the North Sea to factories in New Zealand). And with the latest Internet capabilities, LabVIEW applications are being deployed not only physically in many places, but virtually across networked applications. More and more people are creating web-based control or monitoring of their LabVIEW applications to allow remote access and instant information about what's happening in their lab. Virtual instrumentation systems are known for their low cost, both in hardware and development time, and their great flexibility.
The Expanding World of Virtual Instrumentation
Perhaps the best way to describe the expansion (or perhaps explosion) of LabVIEW applications is to generalize it. There are niches in many industries where measurements of some kind are requiredmost often of temperature, whether it be in an oven, a refrigerator, a greenhouse, a clean room, or a vat of soup. Beyond temperature, users measure pressure, force, displacement, strain, pH, and so on, ad infinitum. Personal computers are used virtually everywhere. LabVIEW is the catalyst that links the PC with measuring things, not only because it makes it easy, but also because it brings along the ability to analyze what you have measured and display it and communicate it halfway around the world if you so choose.
After measuring and analyzing something, the next logical step often is to change (control) something based upon the results. For example, measure temperature and then turn on either a furnace or a chiller. Again, LabVIEW makes this easy to do; monitoring and control have become LabVIEW strengths. Sometimes it is direct monitoring and control, or it may be through communicating with a programmable logic controller (PLC) in what is commonly called supervisory control and data acquisition (SCADA).
The Results
A few of LabVIEW's many uses include the following:
- Simulating heart activity
- Controlling an ice cream-making process
- Detecting hydrogen gas leaks on the space shuttle
- Monitoring feeding patterns of baby ostriches
- Modeling power systems to analyze power quality
- Measuring physical effects of exercise in lab rats
- Controlling motion of servo and stepper motors
- Testing circuit boards in computers and other electronic devices
- Simulating motion in a virtual reality system
- Allowing remote navigation and feedback over the web of a helium-filled blimp
- Automatically generating cover sheets for your TPS reports
Objectives of This Book
LabVIEW for Everyone will help you get LabVIEW up and running quickly and easily, and will start you down the road to becoming an expert LabVIEW developer. The book offers additional examples and activities to demonstrate techniques, identifies other sources of information about LabVIEW, and features descriptions of cool LabVIEW applications. You are invited to open, inspect, use, and modify any of the programs on the accompanying CD-ROM. You can also get updates to the examples, activities, book errata, and other related resources and information at http://labviewforeveryone.com. The CD-ROM also includes the 30-day evaluation version of LabVIEW 8.0 for Windows, which allows you to do just about everything the commercial version does during the evaluation period. You can also always get the latest evaluation version of LabVIEW at http://ni.com/labview.
This book expects you to have basic knowledge of your computer's operating system. If you don't have much computer experience, you may want to spend a little time with your operating system manual and familiarize yourself with your computer. For example, you should know how to access menus, open and save files, make backup disks, and use a mouse. It also helps if you have some basic programming experience with other languages (C, Java, FORTRAN, etc.), but it is not necessary to know another programming language to use LabVIEW.
After reading this book and working through the exercises, you should be able to do the following, and much more, with the greatest of ease:
- Write LabVIEW programs, called virtual instruments, or VIs.
- Employ various debugging techniques.
- Manipulate both built-in LabVIEW functions and VIs.
- Create and save your own VIs so that you can use them as subVls, or subroutines.
- Design custom graphical user interfaces (GUIs).
- Save your data in a file and display it on a graph or chart.
- Build applications that use General Purpose Interface Bus (GPIB) or serial instruments.
- Create applications that use plug-in DAQ boards.
- Use built-in analysis functions to process your data.
- Optimize the speed and performance of your LabVIEW programs.
- Employ advanced techniques such as state machines and event structures.
- Control your VIs and publish your data over the Internet or on the Web, using LabVIEW's features like its built-in Web server and remote panels.
- Use LabVIEW to create your instrumentation applications.
LabVIEW for Everyone helps you get started quickly with LabVIEW to develop your instrumentation and analysis applications. The book is divided into two main sections: Fundamentals and Advanced Topics.
The Fundamentals section contains nine chapters and teaches you the fundamentals of programming in LabVIEW. The Advanced Topics section contains eight chapters that further develop your skills and introduce helpful techniques and optimizing strategies. We suggest that you work through the beginning section to master the basics; then, if you're short on time, skip around to what you really want to learn in the advanced section.
In both sections, chapters have a special structure to facilitate learning, as follows:
- Overview, goals, and key terms describe the main ideas covered in that chapter.
- The main sections are a discussion of the featured topics.
- Activities reinforce the information presented in the discussion.
- Wrap It Up! summarizes important concepts and skills taught in the chapter.
- Additional activities in many chapters give you more practice with the new material.
Fundamentals
Chapter 1, "What in the World is LabVIEW?," describes LabVIEW and introduces you to some of LabVIEW's features and uses.
In Chapter 2, "Virtual Instrumentation: Hooking Your Computer Up to the Real World," you will get an overview of virtual instrumentation: how data acquisition, GPIB, serial port communication, and data analysis are performed with LabVIEW.
In Chapter 3, "The LabVIEW Environment," you will get acquainted with the LabVIEW environment, including the LabVIEW Project Explorer, the essential parts of a virtual instrument (or VI), the Help window, menus, tools, palettes, and subVIs.
In Chapters 4 and 5, "LabVIEW Foundations" and "Yet More Foundations," you will become familiar with the basics of programming in LabVIEWusing controls and indicators (such as numerics, Booleans, and strings); wiring, creating, editing, debugging, and saving VIs; creating subVIs; and documenting your work. You will also begin to understand why LabVIEW is considered a dataflow programming language.
Chapter 6, "Controlling Program Execution with Structures," describes the basic programming structures in LabVIEW: While Loops, For Loops, shift registers, Case Structures, Sequence Structures, and Formula Nodes. It also teaches you how to introduce timing into your programs. You will be introduced to easy-to-use frameworks that combine the While Loop and Case Structure to ...