Sign in
|
Register
|
Mobile
Home
Browse
About us
Help/FAQ
Advanced search
Home
>
Browse
>
LabVIEW Graphical Programming
CITATION
Johnson, Gary and
Jennings, Richard
.
LabVIEW Graphical Programming
.
US
: McGraw-Hill Professional, 2006.
Add to Favorites
Email to a Friend
Download Citation
LabVIEW Graphical Programming
Authors:
Gary Johnson
and
Richard Jennings
Published:
July 2006
eISBN:
9780071501538 0071501533
|
ISBN:
9780071451468
Open eBook
Book Description
Table of Contents
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