LabVIEW for Everyone: Graphical Programming Made Easy and Fun / Edition 3

Hardcover (Print)
Buy New
Buy New from BN.com
$72.10
Used and New from Other Sellers
Used and New from Other Sellers
from $35.16
Usually ships in 1-2 business days
(Save 60%)
Other sellers (Hardcover)
  • All (14) from $35.16   
  • New (7) from $75.47   
  • Used (7) from $35.16   

Overview

The #1 Step-by-Step Guide to LabVIEW—Now Completely Updated for LabVIEW 8!

Master LabVIEW 8 with the industry’s friendliest, most intuitive tutorial: LabVIEW for Everyone, Third Edition . Top LabVIEW experts Jeffrey Travis and Jim Kring teach LabVIEW the easy way: through carefully explained, step-by-step examples that give you reusable code for your own projects!

This brand-new Third Edition has been fully revamped and expanded to reflect new features and techniques introduced in LabVIEW 8. You’ll find two new chapters, plus dozens of new topics, including Project Explorer, AutoTool, XML, event-driven programming, error handling, regular expressions, polymorphic VIs, timed structures, advanced reporting, and much more. Certified LabVIEW Developer (CLD) candidates will find callouts linking to key objectives on NI’s newest exam, making this book a more valuable study tool than ever.

  • Not just what to do: why to do it!
  • Use LabVIEW to build your own virtual workbench
  • Master LabVIEW’s foundations: wiring, creating, editing, and debugging VIs; using controls and indicators; working with data structures; and much more
  • Learn the “art” and best practices of effective LabVIEW development
  • NEW: Streamline development with LabVIEW Express VIs
  • NEW: Acquire data with NI-DAQmx and the LabVIEW DAQmx VIs
  • NEW: Discover design patterns for error handling, control structures, state machines, queued messaging, and more
  • NEW: Create sophisticated user interfaces with tree and tab controls, drag and drop, subpanels, and more

Whatever your application, whatever your role, whether you’ve used LabVIEW or not, LabVIEW for Everyone, Third Edition is the fastest, easiest way to get the results you’re after!

Read More Show Less

Product Details

  • ISBN-13: 9780131856721
  • Publisher: Prentice Hall
  • Publication date: 8/10/2006
  • Series: National Instruments Virtual Instrumentation Series
  • Edition description: Revised Edition
  • Edition number: 3
  • Pages: 981
  • Sales rank: 223,932
  • Product dimensions: 7.38 (w) x 9.62 (h) x 1.55 (d)

Meet the Author

Jeffrey Travis provides expert consulting and creates books, courses, and products for remote Internet controls and monitoring, virtual instrumentation, and Web applications through his company, Jeffrey Travis Studios. He has more than fifteen years of experience developing software, teaching, and consulting on LabVIEW and related technologies. He holds an M.S. in engineering from the University of Texas at Austin.

Jim Kring is president of James Kring, Inc., a leader in LabVIEW development, system integration consulting, and custom software design. He is founder of OpenG, a foundation promoting open-source LabVIEW tools, applications, frameworks, and documentation.

Read More Show Less

Read an Excerpt

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 multiplatform—you 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 laboratories—from 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 directions—up (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 required—most 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 LabVIEW—using 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 build scalable applications.

In Chapter 7, "LabVIEW's Composite Data: Arrays and Clusters," you will learn how to use two important data structures—arrays and clusters—in your programs. You will also explore LabVIEW's built-in functions for manipulating arrays and clusters. It also teaches you about the error cluster and how to perform proper error handling in LabVIEW.

Chapter 8, "LabVIEW's Exciting Visual Displays: Charts and Graphs," details the variety of charts and graphs available in LabVIEW and teaches you how to use them for animated and informative data presentation. It also introduces the waveform, time stamp, and dynamic datatypes.

Chapter 9, "Exploring Strings and File I/O," discusses string data types, string functions, and tables. You will learn how to parse strings like a pro, using the regular expression syntax. It also talks a little about how to save data in and read data from a file, using LabVIEW's simple File I/O VIs.Advanced Topics

Chapter 10, "Signal Measurement and Generation: Data Acquisition," teaches you some of the theory behind signals, data acquisition, and analog and digital I/O. You will learn some hardware considerations, and you will find a valuable guide to many common acronyms used in instrumentation. Chapter 10 also discusses software setup for data acquisition using the Measurement & Automation Explorer (MAX) utility and configuring NI-DAQmx devices.

Chapter 11, "Data Acquisition in LabVIEW," then takes the basics of data acquisition you learned in Chapter 10 and teaches you how to apply them in LabVIEW using the DAQmx VIs. You'll learn about the easy-to-use and powerful DAQmx tasks in LabVIEW, as well as work through some activities to read and write analog data, digital data. The chapter ends with some more advanced forms of data acquisition applications, such as streaming data to a file or doing a triggered acquisition.

Chapter 12, "Instrument Control in LabVIEW," discusses how to use external instruments with LabVIEW. You'll learn about GPIB, serial, Ethernet, and other kinds of instrument interfaces, and how to use the powerful VISA framework with LabVIEW to easily communicate with them.

Chapter 13, "Advanced LabVIEW Structures and Functions," covers some invaluable features like local and global variables, property nodes, invoke nodes, and the powerful Event Structure for event-driven programming. You will learn about the State Machine and Queued Message Handler application frameworks, as well as the Messaging and Synchronization functions: Queues, Notifiers, Semaphores, Rendezvous, and Occurrences. It also introduces you to some more of LabVIEW's cool GUI widgets like trees, subpanels, graphics and sound, and so on.

Chapter 14, "Advanced LabVIEW Data Concepts," discusses some more file I/O, showing you how to work with binary files and configuration files, as well as advanced text file functions. You'll see how LabVIEW can both read and generate external code modules such as DLLs and Shared Libraries.

Chapter 15, "Advanced LabVIEW Features," shows you how to configure VI behavior and appearance using VI Setup options. You'll learn about the powerful VI Server and how you can dynamically control LabVIEW, VIs, and controls by reference. It also introduces LabVIEW's very useful tools such as the Find function and VI Hierarchy window.

Chapter 16, "Connectivity in LabVIEW," covers connectivity features in LabVIEW such as printing to the web, controlling VIs remotely over the web, sharing data with Shared Variables, networking, and report generation.

In Chapter 17, "The Art of LabVIEW Programming," you will learn about good LabVIEW style and some new tips, such as how to add a customized look to your applications by importing pictures and using the Control Editor. Chapter 17 describes some good programming techniques that you can use to make your programs run faster, use less memory, port more easily to other platforms, and behave more efficiently overall.

In Appendix A, "CD Contents," you can find an outline and description of the files contained on the accompanying CD-ROM, as well as high-level instructions for installing the LabVIEW evaluation version and finding the examples and activities discussed in this book.

In Appendix B, "Add-on Toolkits for LabVIEW," you will learn about add-on toolkits available from National Instruments and third-party companies to increase LabVIEW's functionality.

Appendix C, "Open Source Tools for LabVIEW: OpenG," introduces you to free (as in speech) software and the OpenG.org community that collaboratively develops add-on toolkits for LabVIEW.

In Appendix D, "LabVIEW Object-Oriented Programming," you will be introduced to object-oriented programming techniques in LabVIEW, including a history of LabVIEW object-oriented programming and some perspectives on things to come.

Appendix E, "Resources for LabVIEW," contains links to various LabVIEW resources such as user groups, discussion forums, and various other online LabVIEW resources.

In Appendix F, "LabVIEW Certification Exams," you will learn about the LabVIEW developer certification exams, how to prepare for them, what to expect, and the benefits of certification.

You will find a glossary and index at the end of the book.

The following table describes the conventions used in this book.

bold

Bold text denotes VI names, function names, menus, menu items, and palettes. In addition, bold text denotes VI input and output parameters. For example, "Choose TCP Read from the TCP Functions palette."

italic

Italic text denotes emphasis, a cross reference, or an introduction to a key term or concept. For example, "A control reference is an object that points to a LabVIEW control or indicator and can manage its properties."

Courier

Courier type denotes text or characters that you enter using the keyboard. It also denotes files and paths. Sections of code, programming examples, syntax examples, and messages and responses that the computer automatically prints to the screen also appear in this font. For example, "In the text book, enter c:\data\datafile.txt as the filename."

<Image of a sticky note.>

Note. This icon marks information to which you should pay special attention.

<Image of a traffic signal.>

Watch Out! This icon flags a common pitfall or special information that you should be aware of in order to keep out of trouble.

<Image of a magnifying lens over the word LabVIEW.>

Hint. This icon calls your attention to useful tips and hints on how to do something efficiently.

<Image of a graduation cap.>

When you see this icon, it means the topic being discussed is a Certified LabVIEW Developer (CLD) exam topic. If you want to prepare to become a CLD, pay attention! See Appendix F for detailed information about the certification program, what you can gain by becoming certified, how to study, and what to expect while taking the exams.

<Image of a fast-forward button.>

In Chapter 6, you will be introduced to LabVIEW's Express technologies, which provide configurable automatic programming for common tasks. This icon indicates the section refers to an Express Technology topic.

A Note about Paths

Different platforms have different conventions for specifying path names. For example, Windows paths take the form X:\LABVIEW\MINE.LLB\BINGO.VI. The same path on a MacOS classic system would be denoted Hard Drive Name:LabVIEW:Mine.jib:Bingo.vi. On Linux or OS X machines, it would be /usr/labview/mine.llb/bingo.vi. Rather than specifying a full path, this book will list the default path from the LabVlEW directory or folder when telling you where to find an example VI. To simplify notation, we will use the Windows standard to describe paths; if you use Mac OS or UNIX machines, please substitute colons or forward slashes where necessary.What's New in the Third Edition

LabVIEW For Everyone was the first book published aimed at the beginner LabVIEW user in 1997 for LabVIEW 4.0; since then, Prentice Hall and other publishers have produced over a dozen LabVIEW books on specific topics. The second edition of LabVIEW For Everyone was updated for LabVIEW 6.1 and introduced some new topics.

This third edition has been completely revised and updated for LabVIEW 8.0. Two new chapters were added, and the number of pages has almost doubled! The changes from the second edition include the following:

  • Inclusion of the new Express VIs and Express technology in LabVIEW
  • Inclusion of the Certified LabVIEW Developer callouts to identify key sections that provide information that is tested on the CLD certification exam
  • Autotool
  • Static VI reference
  • Call by Reference advanced options
  • Event structure and event-driven programming
  • Dynamic data
  • Variants
  • Type definitions
  • Configuration (INI) file VIs
  • Calling DLLs from LabVIEW
  • Shared variables
  • Custom probes
  • Search and replace
  • Pipes
  • Error handling design patterns, tips, and tricks
  • While Loop 1 case structure design patterns
  • State machine and queued message handler design patterns
  • Messaging and Synchronization using Queues, Notifiers, Semaphores, Rendezvous, and Occurrences
  • Tree controls, tab controls, drag and drop, subpanels, scrollbars, and splitter bars
  • Regular expressions
  • Diagram disable and conditional disable structures
  • Using NI-DAQmx and the LabVIEW DAQmx VIs
  • LabVIEW project explorer
  • Alignment grid
  • Timed structures (timed loop and timed sequence structure)
  • Advanced report generation
  • Polymorphic VIs
LabVIEW Installation Instructions

If you own a licensed version of LabVIEW and need instructions on how to install it, please see the release notes that came with your software.

Otherwise, you can install a 30-day evaluation version of LabVIEW. Although we've included an evaluation version installer on this book's CD, we encourage you to check http://ni.com/labview for the latest evaluation version of LabVIEW, available as a download. The evaluation version of LabVIEW included on this CD, version 8.0 for Windows, will allow you to work through all the examples in this book. Remember, the evaluation version stops working after 30 days. After that, you can activate your installed LabVIEW to a licensed version by purchasing a license from National Instruments at http://ni.com.

In addition, you will need to access the EVERYONE directory from the CD-ROM in the back of this book. It contains the activities in this book and their solutions. You may want to copy the EVERYONE directory onto your PC so you can save your activity work there as well. (You can also get updates to the examples, activities, book errata, and other related resources and information at http://labviewforeveryone.com.)Purchasing LabVIEW

If you would like information on how to purchase LabVIEW, contact National Instruments:

National Instruments
11500 N Mopac Expwy
Austin, TX 78759-3504
Telephone: 888-280-7645
Fax: 512-683-8411
Email: info@ni.com.
Web: http://www.ni.com

The authors would like to acknowledge the contributions of the following individuals for their assistance with making this third edition of LabVIEW for Everyone possible:

To Bernard Goodwin, our editor at Pearson, who encouraged us to write this updated third edition and who held us to our deadlines.

To the fine folks at National Instruments who assisted with the book by providing resources, technical reviews, artwork, and their time. In particular, we'd like to especially thank Craig Anderson, Jim Cahow, Zaki Chasmawala, David Corney, Crystal Drumheller, David Gardner, Stephen Mercer, Darren Natinger, Jeff Peters, and Brian Tyler.

To the LabVIEW gurus who reviewed our manuscript, and caught all our mistakes (we hope!) before it went to print: Mike Ashe, John Compton-Smith, Ed Dickens, Jean-Pierre Drolet, Crystal Drumheller, Kostya Shifershteyn, Paul Sullivan, and Ashish Uttarwar.

To Michael Aivaliotis for maintaining the LAVA (LabVIEW Advanced Virtual Architects) discussion forums on the Web (http://forums.lavag.org) and the community of LAVA members who make this forum so great. We regularly used this incredibly useful resource throughout the writing of this third edition for discussing technical topics and polling the community of LabVIEW users on key topics.

Jim would like to especially acknowledge, first and foremost, his wife Beth, who not only put up with, but also provided tremendous support in, his writing of this third edition. And also to his family, friends, and co-workers for their support and understanding during the many long months he spent in seclusion while working on the manuscript and for welcoming him back upon its completion.

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Table of Contents

About the Authors xxix

Preface xxxi

Acknowledgments xli

1 What in the World Is LabVIEW? 3

2 Virtual Instrumentation: Hooking Your Computer Up to the Real World 21

3 The LabVIEW Environment 41

4 LabVIEW Foundations 101

5 Yet More Foundations 147

6 Controlling Program Execution with Structures 185

7 LabVIEW’s Composite Data: Arrays and Clusters 245

8 LabVIEW’s Exciting Visual Displays: Charts and Graphs 301

9 Exploring Strings and File I/O 379

10 Signal Measurement and Generation: Data Acquisition 419

11 Data Acquisition in LabVIEW 465

12 Instrument Control in LabVIEW 523

13 Advanced LabVIEW Structures and Functions 553

14 Advanced LabVIEW Data Concepts 673

15 Advanced LabVIEW Features 721

16 Connectivity in LabVIEW 799

17 The Art of LabVIEW Programming 853

Appendix A CD Contents 891

Appendix B Add-on Toolkits for LabVIEW 893

Appendix C Open Source Tools for LabVIEW: OpenG 897

Appendix D LabVIEW Object-Oriented Programming 901

Appendix E Resources for LabVIEW 921

Appendix F LabVIEW Certification Exams 925

Glossary 931

Index 959

Read More Show Less

Preface

Preface

Preface

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 multiplatform—you 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 laboratories—from 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 directions—up (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 required—most 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 LabVIEW—using 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 build scalable applications.

In Chapter 7, "LabVIEW's Composite Data: Arrays and Clusters," you will learn how to use two important data structures—arrays and clusters—in your programs. You will also explore LabVIEW's built-in functions for manipulating arrays and clusters. It also teaches you about the error cluster and how to perform proper error handling in LabVIEW.

Chapter 8, "LabVIEW's Exciting Visual Displays: Charts and Graphs," details the variety of charts and graphs available in LabVIEW and teaches you how to use them for animated and informative data presentation. It also introduces the waveform, time stamp, and dynamic datatypes.

Chapter 9, "Exploring Strings and File I/O," discusses string data types, string functions, and tables. You will learn how to parse strings like a pro, using the regular expression syntax. It also talks a little about how to save data in and read data from a file, using LabVIEW's simple File I/O VIs.

Advanced Topics

Chapter 10, "Signal Measurement and Generation: Data Acquisition," teaches you some of the theory behind signals, data acquisition, and analog and digital I/O. You will learn some hardware considerations, and you will find a valuable guide to many common acronyms used in instrumentation. Chapter 10 also discusses software setup for data acquisition using the Measurement & Automation Explorer (MAX) utility and configuring NI-DAQmx devices.

Chapter 11, "Data Acquisition in LabVIEW," then takes the basics of data acquisition you learned in Chapter 10 and teaches you how to apply them in LabVIEW using the DAQmx VIs. You'll learn about the easy-to-use and powerful DAQmx tasks in LabVIEW, as well as work through some activities to read and write analog data, digital data. The chapter ends with some more advanced forms of data acquisition applications, such as streaming data to a file or doing a triggered acquisition.

Chapter 12, "Instrument Control in LabVIEW," discusses how to use external instruments with LabVIEW. You'll learn about GPIB, serial, Ethernet, and other kinds of instrument interfaces, and how to use the powerful VISA framework with LabVIEW to easily communicate with them.

Chapter 13, "Advanced LabVIEW Structures and Functions," covers some invaluable features like local and global variables, property nodes, invoke nodes, and the powerful Event Structure for event-driven programming. You will learn about the State Machine and Queued Message Handler application frameworks, as well as the Messaging and Synchronization functions: Queues, Notifiers, Semaphores, Rendezvous, and Occurrences. It also introduces you to some more of LabVIEW's cool GUI widgets like trees, subpanels, graphics and sound, and so on.

Chapter 14, "Advanced LabVIEW Data Concepts," discusses some more file I/O, showing you how to work with binary files and configuration files, as well as advanced text file functions. You'll see how LabVIEW can both read and generate external code modules such as DLLs and Shared Libraries.

Chapter 15, "Advanced LabVIEW Features," shows you how to configure VI behavior and appearance using VI Setup options. You'll learn about the powerful VI Server and how you can dynamically control LabVIEW, VIs, and controls by reference. It also introduces LabVIEW's very useful tools such as the Find function and VI Hierarchy window.

Chapter 16, "Connectivity in LabVIEW," covers connectivity features in LabVIEW such as printing to the web, controlling VIs remotely over the web, sharing data with Shared Variables, networking, and report generation.

In Chapter 17, "The Art of LabVIEW Programming," you will learn about good LabVIEW style and some new tips, such as how to add a customized look to your applications by importing pictures and using the Control Editor. Chapter 17 describes some good programming techniques that you can use to make your programs run faster, use less memory, port more easily to other platforms, and behave more efficiently overall.

In Appendix A, "CD Contents," you can find an outline and description of the files contained on the accompanying CD-ROM, as well as high-level instructions for installing the LabVIEW evaluation version and finding the examples and activities discussed in this book.

In Appendix B, "Add-on Toolkits for LabVIEW," you will learn about add-on toolkits available from National Instruments and third-party companies to increase LabVIEW's functionality.

Appendix C, "Open Source Tools for LabVIEW: OpenG," introduces you to free (as in speech) software and the OpenG.org community that collaboratively develops add-on toolkits for LabVIEW.

In Appendix D, "LabVIEW Object-Oriented Programming," you will be introduced to object-oriented programming techniques in LabVIEW, including a history of LabVIEW object-oriented programming and some perspectives on things to come.

Appendix E, "Resources for LabVIEW," contains links to various LabVIEW resources such as user groups, discussion forums, and various other online LabVIEW resources.

In Appendix F, "LabVIEW Certification Exams," you will learn about the LabVIEW developer certification exams, how to prepare for them, what to expect, and the benefits of certification.

You will find a glossary and index at the end of the book.

The following table describes the conventions used in this book.

bold

Bold text denotes VI names, function names, menus, menu items, and palettes. In addition, bold text denotes VI input and output parameters. For example, "Choose TCP Read from the TCP Functions palette."

italic

Italic text denotes emphasis, a cross reference, or an introduction to a key term or concept. For example, "A control reference is an object that points to a LabVIEW control or indicator and can manage its properties."

Courier

Courier type denotes text or characters that you enter using the keyboard. It also denotes files and paths. Sections of code, programming examples, syntax examples, and messages and responses that the computer automatically prints to the screen also appear in this font. For example, "In the text book, enter c:\data\datafile.txt as the filename."

Note. This icon marks information to which you should pay special attention.

Watch Out! This icon flags a common pitfall or special information that you should be aware of in order to keep out of trouble.

Hint. This icon calls your attention to useful tips and hints on how to do something efficiently.

When you see this icon, it means the topic being discussed is a Certified LabVIEW Developer (CLD) exam topic. If you want to prepare to become a CLD, pay attention! See Appendix F for detailed information about the certification program, what you can gain by becoming certified, how to study, and what to expect while taking the exams.

In Chapter 6, you will be introduced to LabVIEW's Express technologies, which provide configurable automatic programming for common tasks. This icon indicates the section refers to an Express Technology topic.

A Note about Paths

Different platforms have different conventions for specifying path names. For example, Windows paths take the form X:\LABVIEW\MINE.LLB\BINGO.VI. The same path on a MacOS classic system would be denoted Hard Drive Name:LabVIEW:Mine.jib:Bingo.vi. On Linux or OS X machines, it would be /usr/labview/mine.llb/bingo.vi. Rather than specifying a full path, this book will list the default path from the LabVlEW directory or folder when telling you where to find an example VI. To simplify notation, we will use the Windows standard to describe paths; if you use Mac OS or UNIX machines, please substitute colons or forward slashes where necessary.

What's New in the Third Edition

LabVIEW For Everyone was the first book published aimed at the beginner LabVIEW user in 1997 for LabVIEW 4.0; since then, Prentice Hall and other publishers have produced over a dozen LabVIEW books on specific topics. The second edition of LabVIEW For Everyone was updated for LabVIEW 6.1 and introduced some new topics.

This third edition has been completely revised and updated for LabVIEW 8.0. Two new chapters were added, and the number of pages has almost doubled! The changes from the second edition include the following:

  • Inclusion of the new Express VIs and Express technology in LabVIEW
  • Inclusion of the Certified LabVIEW Developer callouts to identify key sections that provide information that is tested on the CLD certification exam
  • Autotool
  • Static VI reference
  • Call by Reference advanced options
  • Event structure and event-driven programming
  • Dynamic data
  • Variants
  • Type definitions
  • Configuration (INI) file VIs
  • Calling DLLs from LabVIEW
  • Shared variables
  • Custom probes
  • Search and replace
  • XML
  • Pipes
  • Error handling design patterns, tips, and tricks
  • While Loop 1 case structure design patterns
  • State machine and queued message handler design patterns
  • Messaging and Synchronization using Queues, Notifiers, Semaphores, Rendezvous, and Occurrences
  • Tree controls, tab controls, drag and drop, subpanels, scrollbars, and splitter bars
  • Regular expressions
  • Diagram disable and conditional disable structures
  • Using NI-DAQmx and the LabVIEW DAQmx VIs
  • LabVIEW project explorer
  • Alignment grid
  • Timed structures (timed loop and timed sequence structure)
  • Advanced report generation
  • Polymorphic VIs

LabVIEW Installation Instructions

If you own a licensed version of LabVIEW and need instructions on how to install it, please see the release notes that came with your software.

Otherwise, you can install a 30-day evaluation version of LabVIEW. Although we've included an evaluation version installer on this book's CD, we encourage you to check http://ni.com/labview for the latest evaluation version of LabVIEW, available as a download. The evaluation version of LabVIEW included on this CD, version 8.0 for Windows, will allow you to work through all the examples in this book. Remember, the evaluation version stops working after 30 days. After that, you can activate your installed LabVIEW to a licensed version by purchasing a license from National Instruments at http://ni.com.

In addition, you will need to access the EVERYONE directory from the CD-ROM in the back of this book. It contains the activities in this book and their solutions. You may want to copy the EVERYONE directory onto your PC so you can save your activity work there as well. (You can also get updates to the examples, activities, book errata, and other related resources and information at http://labviewforeveryone.com.)

Purchasing LabVIEW

If you would like information on how to purchase LabVIEW, contact National Instruments:

National Instruments
11500 N Mopac Expwy
Austin, TX 78759-3504
Telephone: 888-280-7645
Fax: 512-683-8411
Email: info@ni.com.
Web: http://www.ni.com

The authors would like to acknowledge the contributions of the following individuals for their assistance with making this third edition of LabVIEW for Everyone possible:

To Bernard Goodwin, our editor at Pearson, who encouraged us to write this updated third edition and who held us to our deadlines.

To the fine folks at National Instruments who assisted with the book by providing resources, technical reviews, artwork, and their time. In particular, we'd like to especially thank Craig Anderson, Jim Cahow, Zaki Chasmawala, David Corney, Crystal Drumheller, David Gardner, Stephen Mercer, Darren Natinger, Jeff Peters, and Brian Tyler.

To the LabVIEW gurus who reviewed our manuscript, and caught all our mistakes (we hope!) before it went to print: Mike Ashe, John Compton-Smith, Ed Dickens, Jean-Pierre Drolet, Crystal Drumheller, Kostya Shifershteyn, Paul Sullivan, and Ashish Uttarwar.

To Michael Aivaliotis for maintaining the LAVA (LabVIEW Advanced Virtual Architects) discussion forums on the Web (http://forums.lavag.org) and the community of LAVA members who make this forum so great. We regularly used this incredibly useful resource throughout the writing of this third edition for discussing technical topics and polling the community of LabVIEW users on key topics.

Jim would like to especially acknowledge, first and foremost, his wife Beth, who not only put up with, but also provided tremendous support in, his writing of this third edition. And also to his family, friends, and co-workers for their support and understanding during the many long months he spent in seclusion while working on the manuscript and for welcoming him back upon its completion.

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 5 Customer Reviews
  • Anonymous

    Posted September 26, 2006

    easy modular approach

    [A review of the 3rd EDITION 2006.] There was once a time when you had to do data acquisition in a lab completely by hand. Hooking up ammeters and voltmeters, and then labouriously taking down measurements into a lab book. If you wanted a graph, well, take out graph paper and some pencils. Things are radically different nowadays, and Labview makes data acquisition relatively easy. I say relatively, because the size of this book is a cautionary note. It is partly a reference manual, so that thankfully, you do not need to read most or all of it to do any useful data collection. But the book also functions as a teaching manual. Explaining in the early parts how to hook up a computer to instruments, often using the GPIB or serial port. Chapter 2 is this basic connection to the lab bench. It is very straightforward. It leads into later chapters, where the idea of block diagram programming in Labview is given. The block diagram approach is a modular one that is like applying a series of filters. Think of matrix algebra, if you have any background in that. Once you realise that a lot of the book's size is due to many choices of built in functions (blocks), then Labview becomes a lot less formidable. Basically, once you can use Labview in some simple way, then applying more sophisticated functions is easy.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted April 2, 2012

    No text was provided for this review.

  • Anonymous

    Posted November 29, 2010

    No text was provided for this review.

  • Anonymous

    Posted December 30, 2008

    No text was provided for this review.

  • Anonymous

    Posted February 1, 2009

    No text was provided for this review.

Sort by: Showing all of 5 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)