CITATION

Johnson, Gary and Jennings, Richard. LabVIEW Graphical Programming. US: McGraw-Hill Professional, 2006.

LabVIEW Graphical Programming

Published:  July 2006

eISBN: 9780071501538 0071501533 | ISBN: 9780071451468
  • Contents
  • Preface
  • Acknowledgments
  • Chapter 1 Roots
  • LabVIEW and Automation
  • Virtual instruments: LabVIEW's foundation
  • Why use LabVIEW?
  • The Origin of LabVIEW
  • Introduction
  • A vision emerges
  • All the world's an instrument
  • A hard-core UNIX guy won over by the Macintosh
  • Putting it all together with pictures
  • Favoring the underdog platform for system design
  • Ramping up development
  • Stretching the limits of tools and machine
  • Facing reality on estimated development times
  • Shipping the first version
  • Apple catches up with the potential offered by LabVIEW
  • LabVIEW 2: A first-rate instrument control product becomes a world-class programming system
  • The port to Windows and Sun
  • LabVIEW 3
  • LabVIEW 4
  • LabVIEW branches to BridgeVIEW
  • LabVIEW 5
  • The LabVIEW RT branch
  • LabVIEW 6
  • LabVIEW 7
  • LabVIEW 8
  • Crystal Ball Department
  • LabVIEW influences other software products
  • LabVIEW Handles Big Jobs
  • Chapter 2 Getting Started
  • About the Diagrams in This Book
  • Sequencing and Data Flow
  • LabVIEW under the Hood
  • The parts of a VI
  • How VIs are compiled
  • Multitasking, multithreaded LabVIEW
  • The LabVIEW Environment
  • Front panel
  • Controls
  • Property nodes
  • Block diagram
  • SubVIs
  • Icons
  • Polymorphic VIs
  • Data
  • Clusters
  • Typedefs
  • Arrays
  • Debugging
  • See what the subVIs are up to
  • Peeking at data
  • One step at a time
  • Execution highlighting
  • Setting breakpoints
  • Suspend when called
  • Calling Other Code
  • CINs
  • Dynamic link libraries
  • Programming by Plagiarizing
  • Bibliography
  • Chapter 3 Controlling Program Flow
  • Sequences
  • Data Dependency
  • Adding Common Threads
  • Looping
  • While LOOPS
  • For Loops
  • Shift registers
  • Uninitialized shift registers
  • Globals
  • Global and local variables
  • Built-in global variables—and their hazards
  • Local variables
  • Events
  • Notify and Filter events
  • Mechanical actions
  • Dynamic events
  • Design Patterns
  • Initialize and then loop
  • Independent parallel loops
  • Client-server
  • Client-server (with autonomous VIs)
  • State machines
  • Queued message handler
  • Event-driven applications
  • Bibliography
  • Chapter 4 LabVIEW Data Types
  • Numeric Types
  • Strings
  • Building strings
  • Parsing strings
  • Dealing with unprintables
  • Spreadsheets, strings, and arrays
  • Arrays
  • Initializing arrays
  • Array memory usage and performance
  • Clusters
  • Waveforms
  • Data Type Conversions
  • Conversion and coercion
  • Intricate conversions and type casting
  • Flatten To String (. . . Do what?)
  • Enumerated types (enums)
  • Get Carried Away Department
  • Chapter 5 Timing
  • Where Do Little Timers Come From?
  • Using the Built-in Timing Functions
  • Intervals
  • Timed structures
  • Timing sources
  • Execution and priority
  • Timing guidelines
  • Sending timing data to other applications
  • High-resolution and high-accuracy timing
  • Bibliography
  • Chapter 6 Synchronization
  • Polling
  • Events
  • Occurrences
  • Notifiers
  • Queues
  • Semaphores
  • Me and You, Rendezvous
  • Chapter 7 Files
  • Accessing Files
  • File Types
  • Writing Text Files
  • Reading Text Files
  • Formatting to Text Files
  • Binary Files
  • Writing binary files
  • Reading binary files
  • Writing Datalog Files
  • Reading Datalog Files
  • Datalog file utilities
  • Chapter 8 Building an Application
  • Define the Problem
  • Analyze the user's needs
  • Gather specifications
  • Draw a block diagram
  • Specify the I/O Hardware
  • Prototype the User Interface
  • Panel possibilities
  • First Design and Then Write Your Program
  • Ask a Wizard
  • Top-down or bottom-up?
  • Modularity
  • Choose an architecture: Design patterns
  • The VI hierarchy as a design tool
  • Sketching program structure
  • Pseudocoding
  • Ranges, coercion, and default values
  • Handling errors
  • Putting it all together
  • Testing and Debugging Your Program
  • Tracing execution
  • Checking performance
  • Final Touches
  • VBL epilogue
  • Studying for the LabVIEW Certification Exams
  • CLAD
  • CLD
  • Example 1: Traffic light controller
  • Example 2: Car wash controller
  • Example 3: Security system
  • Bibliography
  • Chapter 9 Documentation
  • VI Descriptions
  • Control Descriptions
  • Custom Online Help
  • Documenting the Diagram
  • VI History
  • Other Ways to Document
  • Printing LabVIEW Panels and Diagrams
  • Putting LabVIEW screen images into other documents
  • Writing Formal Documents
  • Document outline
  • Connector pane picture
  • VI description
  • Terminal descriptions
  • Programming examples
  • Distributing Documents
  • Chapter 10 Instrument Driver Basics
  • Finding Instrument Drivers
  • Driver Basics
  • Communication standards
  • Learn about Your Instrument
  • Determine Which Functions to Program
  • Establish Communications
  • Hardware and wiring
  • Protocols and basic message passing
  • Bibliography
  • Chapter 11 Instrument Driver Development Techniques
  • Plug-and-Play Instrument Drivers
  • General Driver Architectural Concepts
  • Error I/O flow control
  • Modularity by grouping of functions
  • Project organization
  • Initialization
  • Configuration
  • Action and status
  • Data
  • Utility
  • Close
  • Documentation
  • Bibliography
  • Chapter 12 Inputs and Outputs
  • Origins of Signals
  • Transducers and sensors
  • Actuators
  • Categories of signals
  • Connections
  • Grounding and shielding
  • Why use amplifiers or other signal conditioning?
  • Choosing the right I/O subsystem
  • Network everything!
  • Bibliography
  • Chapter 13 Sampling Signals
  • Sampling Theorem
  • Filtering and Averaging
  • About ADCs, DACs, and Multiplexers
  • Digital-to-analog converters
  • Digital codes
  • Triggering and Timing
  • A Little Noise Can Be a Good Thing
  • Throughput
  • Bibliography
  • Chapter 14 Writing a Data Acquisition Program
  • Data Analysis and Storage
  • Postrun analysis
  • Real-time analysis and display
  • Sampling and Throughput
  • Signal bandwidth
  • Oversampling and digital filtering
  • Timing techniques
  • Configuration Management
  • What to configure
  • Configuration editors
  • Configuration compilers
  • Saving and recalling configurations
  • A Low-Speed Data Acquisition Example
  • Medium-Speed Acquisition and Processing
  • Bibliography
  • Chapter 15 LabVIEW RT
  • Real Time Does Not Mean Real Fast
  • RT Hardware
  • Designing Software to Meet Real-Time Requirements
  • Measuring performance
  • Shared resources
  • Multithreading and multitasking
  • Organizing VIs for best real-time performance
  • Context switching adds overhead
  • Scheduling
  • Timed structures
  • Communications
  • Bibliography
  • Chapter 16 LabVIEW FPGA
  • What Is an FPGA?
  • LabVIEW for FPGAs
  • RIO hardware platforms
  • Plug-in cards
  • CompactRIO
  • Timing and synchronization
  • Compact Vision
  • Application Development
  • Compiling
  • Debugging
  • Synchronous execution and the enable chain
  • Clocked execution and the single-cycle Timed Loop
  • Parallelism
  • Pipelining
  • Conclusions
  • Bibliography
  • Chapter 17 LabVIEW Embedded
  • Introduction
  • History
  • LabVIEW Embedded Development Module
  • The technology: What's happening
  • Running LabVIEW Embedded on a new target
  • Porting the LabVIEW runtime library
  • Incorporating the C toolchain
  • The Embedded Project Manager
  • LEP plug-in VIs
  • Target_OnSelect
  • Other plug-in VIs
  • Incorporating I/O srivers
  • LabVIEW Embedded programming best practices
  • Interrupt driven programming
  • LabVIEW Embedded targets
  • Chapter 18 Process Control Applications
  • Process Control Basics
  • Industrial standards
  • Control = manipulating outputs
  • Process signals
  • Control system architectures
  • Working with Smart Controllers
  • Single-loop controllers (SLCs)
  • Other smart I/O subsystems
  • Man-Machine Interfaces
  • Display hierarchy
  • Other interesting display techniques
  • Handling all those front panel items
  • Data Distribution
  • Input scanners as servers
  • Handling output data
  • Display VIs as clients
  • Using network connections
  • Real-time process control databases
  • Simulation for validation
  • Sequential Control
  • Interlocking with logic and tables
  • State machines
  • Initialization problems
  • GrafcetVIEW—a graphical process control package
  • Continuous Control
  • Designing a control strategy
  • Trending
  • Real-time trends
  • Historical trends
  • Statistical process control (SPC)
  • Alarms
  • Using an alarm handler
  • Techniques for operator notification
  • Bibliography
  • Chapter 19 Physics Applications
  • Special Hardware
  • Signal conditioning
  • CAMAC
  • Other I/O hardware
  • Field and Plasma Diagnostics
  • Step-and-measure experiments
  • Plasma potential experiments
  • Handling Fast Pulses
  • Transient digitizers
  • Digital storage oscilloscopes (DSOs)
  • Timing and triggering
  • Capturing many pulses
  • Recovering signals from synchronous experiments
  • Handling Huge Data Sets
  • Reducing the amount of data
  • Optimizing VIs for memory usage
  • Bibliography
  • Chapter 20 Data Visualization, Imaging, and Sound
  • Graphing
  • Displaying waveform and cartesian data
  • Bivariate data
  • Multivariate data
  • 3D Graphs
  • Intensity Chart
  • Image Acquisition and Processing
  • System requirements for imaging
  • Using IMAQ Vision
  • IMAQ components
  • Sound I/O
  • DAQ for sound I/O
  • Sound I/O functions
  • Sound input
  • Sound output
  • Sound files
  • Bibliography
  • Index