9780134022123

Learning with LabVIEW

by
  • ISBN13:

    9780134022123

  • ISBN10:

    0134022122

  • Edition: 1st
  • Format: Paperback
  • Copyright: 8/25/2014
  • Publisher: Pearson

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $59!
    Your order must be $59 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
  • We Buy This Book Back!
    In-Store Credit: $10.50
    Check/Direct Deposit: $10.00
List Price: $139.00 Save up to $70.61
  • Rent Book $83.40
    Add to Cart Free Shipping

    TERM
    PRICE
    DUE

Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Summary

The goal of this book is to help students learn to use LabVIEW™ on their own.
Learning with LabVIEW
is the textbook that accompanies the LabVIEW Student Edition from National Instruments, Inc. This textbook, as well as the LabVIEW software (LabVIEW software is not included with this book), has undergone a significant revision from the previous edition. Learning with LabVIEW teaches basic programming concepts in a graphical environment and relates them to real-world applications in academia and industry. Understanding and using the intuitive and powerful LabVIEW software is easier than ever before. As you read through the book and work through the examples, we hope you will agree that this book is more of a personal tour guide than a software manual.

Table of Contents

1 LabVIEW Basics 1
1.1 System Configuration Requirements 2
1.2 Installing the LabVIEW Student Edition 2
1.3 The LabVIEW Environment 3
1.4 The Getting Started Screen 5
1.5 Panel and Diagram Windows 9
1.5.1 Front Panel Toolbar 9
1.5.2 Block Diagram Toolbar 13
1.6 Shortcut Menus 15
1.7 Pull-Down Menus 16
1.7.1 File Menu 17
1.7.2 Edit Menu 17
1.7.3 View Menu 17
1.7.4 Project Menu 20
1.7.5 Operate Menu 20
1.7.6 Tools Menu 21
1.7.7 Window Menu 21
1.7.8 Help Menu 23
1.8 Palettes 24
1.8.1 Tools Palette 24
1.8.2 Controls Palette 25
1.8.3 Functions Palette 27
1.8.4 Searching the Palettes and Quick Drop 28
1.9 Opening, Loading, and Saving VIs 31
1.10 LabVIEW Help Options 33
1.10.1 Context Help Window 33
1.10.2 LabVIEW Help 36
1.11 Building Blocks: Pulse Width Modulation 36
1.12 Relaxed Reading: Revolutionary Cancer Treatment Minimizes Damage to Healthy Tissue 38
1.13 myDAQ Building Blocks 40
1.13.1 Building a Basic LED Circuit 41
1.13.2 NI ELVISmx Instrument Launcher 42
1.13.3 Testing with the ELVISmx Instrument Panel 42
1.14 Summary 43
Exercises 45
Problems 50
Design Problems 52

2 Virtual Instruments 57

2.1 What Are Virtual Instruments? 58
2.2 Several Worked Examples 60
2.3 The Front Panel 67
2.3.1 Numeric Controls and Indicators 67
2.3.2 Boolean Controls and Indicators 69
2.3.3 Configuring Controls and Indicators 73
2.4 The Block Diagram 73
2.4.1 VIs and Express VIs 74
2.4.2 Nodes 75
2.4.3 Terminals 76
2.4.4 Wiring 79
2.5 Building Your First VI 82
2.6 Data Flow Programming 87
2.7 Building a VI Using Express VIs 89
2.8 Building Blocks: Pulse Width Modulation 96
2.9 Relaxed Reading: Building A Semiautonomous Vehicle Driven By the Visually Impaired 98
2.10 myDAQ Building Blocks 100
2.10.1 Building a Basic Thermistor Circuit 101
2.10.2 The Thermistor Circuit Test VI 101
2.10.3 Testing the Thermistor Circuit 102
2.11 Summary 103
Exercises 104
Problems 110
Design Problems 113

3 Editing and Debugging Virtual Instruments 117

3.1 Editing Techniques 118
3.1.1 Creating Controls and Indicators on the Block Diagram 118
3.1.2 Selecting Objects 120
3.1.3 Moving Objects 122
3.1.4 Deleting and Duplicating Objects 122
3.1.5 Resizing Objects 123
3.1.6 Labeling Objects 124
3.1.7 Changing Font, Style, and Size of Text 127
3.1.8 Selecting and Deleting Wires 130
3.1.9 Wire Stretching and Broken Wires 131
3.1.10 Aligning, Distributing, and Resizing Objects 134
3.1.11 Coloring Objects 136
3.1.12 Cleaning Up the Block Diagram 144
3.1.13 Routing Wires 146
3.1.14 Reusing Snippets of Code 148
3.2 Debugging Techniques 149
3.2.1 Finding Errors 150
3.2.2 Highlight Execution 151
3.2.3 Single-Stepping Through a VI and Its SubVIs 154
3.2.4 Breakpoints and Probes 155
3.2.5 Navigation Window 159
3.3 Property Nodes 160
3.4 A Few Shortcuts 163
3.5 Building Blocks: Pulse Width Modulation 163
3.6 Relaxed Reading: Using Graphical System Design for Tumor Treatments 166
3.7 myDAQ Building Blocks 168
3.8 Summary 170
Exercises 172
Problems 174
Design Problems 178

4 SubVIs 182

4.1 What Is a SubVI? 183
4.2 Review of the Basics 184
4.3 Editing the Icon and Connector 186
4.3.1 Icons 187
4.3.2 Connectors 190
4.3.3 Selecting and Modifying Terminal Patterns 191
4.3.4 Assigning Terminals to Controls and Indicators 193
4.4 The Help Window 195
4.5 Using a VI as a SubVI 199
4.6 Creating a SubVI from a Selection 202
4.7 Error Checking and Error Handling 204
4.7.1 Automatic Error Handling 204
4.7.2 Manual Error Handling 205
4.7.3 Error Clusters 205
4.8 Saving Your SubVI 206
4.9 The VI Hierarchy Window 207
4.10 Building Blocks: Pulse Width Modulation 209
4.11 Relaxed Reading: Mobile Rescue Operations 212
4.12 myDAQ Building Blocks 213
4.13 Summary 218
Exercises 219
Problems 222
Design Problems 225

5 Structures 228

5.1 The For Loop 229
5.1.1 Numeric Conversion 231
5.1.2 For Loops with Conditional Terminals 235
5.2 The While Loop 236
5.3 Shift Registers and Feedback Nodes 242
5.3.1 Shift Registers 242
5.3.2 Using Shift Registers to Remember Data Values from Previous Loop Iterations 244
5.3.3 Initializing Shift Registers 246
5.3.4 Feedback Nodes 248
5.4 Case Structures 251
5.4.1 Adding and Deleting Cases 254
5.4.2 Wiring Inputs and Outputs 256
5.5 Flat Sequence Structures 262
5.5.1 Evaluate and Control Timing in a Sequence Structure 263
5.5.2 Avoid the Overuse of Sequence Structures 265
5.6 The Formula Node 265
5.6.1 Formula Node Input and Output Variables 266
5.6.2 Formula Statements 266
5.7 Diagram Disable Structures 269
5.8 Local Variables 270
5.8.1 Creating Local Variables 270
5.8.2 Use Local Variables With Care 272
5.8.3 Initializing Local Variables 273
5.8.4 Memory and Execution-Speed Considerations 273
5.9 Common Programming Techniques 273
5.9.1 Sequential Programming 273
5.9.2 State Programming and State Machines 275
5.9.3 Parallelism 279
5.10 Some Common Problems in Wiring Structures 280
5.10.1 Failing to Wire a Tunnel in All Cases of a Case Structure 280
5.10.2 Overlapping Tunnels 281
5.10.3 Wiring Underneath Rather Than through a Structure 281
5.11 Building Blocks: Pulse Width Modulation 282
5.12 Relaxed Reading: Refining the Process of Steel Recycling 286
5.13 myDAQ Building Blocks 288
5.14 Summary 290
Exercises 292
Problems 296
Design Problems 301

6 Arrays and Clusters 305

6.1 Arrays 306
6.1.1 Creating Array Controls and Indicators 307
6.1.2 Multidimensional Arrays 309
6.2 Creating Arrays with Loops 310
6.2.1 Creating Two-Dimensional Arrays 313
6.3 Array Functions 314
6.3.1 Array Size 314
6.3.2 Initialize Array 315
6.3.3 Build Array 317
6.3.4 Array Subset 318
6.3.5 Index Array 319
6.4 Polymorphism 327
6.5 Clusters 330
6.6 Creating Cluster Controls and Indicators 331
6.6.1 Cluster Order 333
6.6.2 Using Clusters to Pass Data to and from SubVIs 335
6.7 Cluster Functions 336
6.7.1 The Bundle Function 336
6.7.2 The Unbundle Function 340
6.7.3 Creating Cluster Constants on the Block Diagram 340
6.7.4 Using Polymorphism with Clusters 342
6.8 Matrix Data Type and Matrix Functions 343
6.8.1 Creating Matrix Controls, Indicators, and Constants 344
6.8.2 Matrix Functions 345
6.9 VI Memory Usage 348
6.10 Building Blocks: Pulse Width Modulation 349
6.11 Relaxed Reading: Automatic Laser-Assisted Neuron Growth 352
6.12 myDAQ Building Blocks 355
6.13 Summary 357
Exercises 359
Problems 362
Design Problems 365

7 Charts and Graphs 369
7.1 Waveform Charts 370
7.2 Waveform Graphs 378
7.3 XY Graphs 386
7.4 Customizing Charts and Graphs 389
7.4.1 Axes Scaling 389
7.4.2 The Plot Legend 393
7.4.3 The Graph Palette and Scale Legend 395
7.4.4 Special Chart Customization Features 398
7.4.5 Special Graph Customization Features: Cursor Legend 400
7.4.6 Using Graph Annotations 402
7.4.7 Exporting Images of Graphs, Charts, and Tables 404
7.4.8 Using Context Help 404
7.5 Using Math Plots for 2D and 3D Graphs 405
7.5.1 2D Graphs 405
7.5.2 3D Graphs 407
7.6 Building Blocks: Pulse Width Modulation 412
7.7 Relaxed Reading: Environmental Monitoring in the Costa Rican Rain Forest 414
7.8 myDAQ Building Blocks 417
7.9 Summary 419
Exercises 420
Problems 422
Design Problems 424

8 Data Acquisition 427

8.1 Components of a DAQ System 428
8.2 Types of Signals 429
8.2.1 Digital Signals 431
8.2.2 Analog DC Signals 432
8.2.3 Analog AC Signals 433
8.2.4 Analog Frequency-Domain Signals 434
8.2.5 One Signal–Five Measurement Perspectives 436
8.3 Common Transducers and Signal Conditioning 437
8.4 Signal Grounding and Measurements 441
8.4.1 Signal Source Reference Configuration 441
8.4.2 Measurement System 442
8.5 Analog-to-Digital Conversion Considerations 447
8.6 DAQ VI Organization 452
8.7 Choosing Your Data Acquisition Device 453
8.7.1 X Series Data Acquisition Devices 454
8.7.2 Low Cost Data Acquisition for Students 454
8.7.3 Simulated Data Acquisition 454
8.7.4 Macintosh, Linux, and Mobile Devices 455
8.8 DAQ Hardware Configuration 456
8.8.1 Windows 456
8.8.2 Channels and Tasks 463
8.9 Using the DAQ Assistant 466
8.9.1 DAQmx Task Name Constant 469
8.10 Analog Input 473
8.10.1 Task Timing 473
8.10.2 Task Triggering 474
8.11 Analog Output 478
8.11.1 Task Timing 479
8.11.2 Task Triggering 480
8.12 Digital Input and Output 485
8.13 Building Blocks: Pulse Width Modulation 491
8.13.1 Generating Pulse Width Modulated Signals with Hardware Counters 492
8.13.2 Applications of Pulse Width Modulation 493
8.14 Relaxed Reading: Reducing Seismic Risk for an Ancient Roman Amphitheater 493
8.15 myDAQ Building Blocks 495
8.16 Summary 498
Exercises 501
Problems 503
Design Problems 503

9 Strings and File I/O 505

9.1 Strings 506
9.1.1 Converting Numeric Values to Strings with Build Text Express VI 513
9.2 File I/O 514
9.2.1 Writing Data to a File 518
9.2.2 Reading Data from a File 521
9.2.3 Manipulating Spreadsheet Files 522
9.2.4 File I/O Express VIs 525
9.2.5 Obtaining the Path to the System Directories 530
9.3 Building Blocks: Pulse Width Modulation 531
9.4 Relaxed Reading: On the Science of Cycling Speed 533
9.5 myDAQ Building Blocks 535
9.6 Summary 537
Exercises 538
Problems 540
Design Problems 541

10 NI LabVIEW MathScript RT Module 544
10.1 What is MathScript RT Module? 545
10.2 Accessing the MathScript Interactive Window 546
10.2.1 The Command History and Output Windows 548
10.2.2 Viewing Data in a Variety of Formats 549
10.3 MathScript Help 552
10.4 Syntax 554
10.4.1 Key MathScript Functions 563
10.5 Defining Functions and Creating Scripts 564
10.5.1 User-Defined Functions 565
10.5.2 Scripts 568
10.6 Saving, Loading, and Exporting Data Files 572
10.6.1 Saving and Loading Data Files 572
10.6.2 Exporting Data 574
10.7 MathScript Nodes 575
10.7.1 Accessing the MathScript Node 577
10.7.2 Entering Scripts into the MathScript Node 577
10.7.3 Input and Output Variables 578
10.7.4 Script Highlighting 582
10.7.5 Debugging Scripts 583
10.7.6 Saving Scripts from within the MathScript Node 590
10.8 Applications of MathScript RT Module 592
10.8.1 Instrument Your Algorithms 592
10.8.2 Graphical Signal Processing, Analysis, and Mathematics 593
10.8.3 Integrating Measurement Hardware 594
10.9 Building Blocks: Pulse Width Modulation 595
10.10 Relaxed Reading: Acquiring and Analyzing the Bioacoustic Communication of Killer Whales 597
10.11 myDAQ Building Blocks 599
10.12 Summary 601
Exercises 603
Problems 604
Design Problems 605

11 Analysis 607

11.1 Linear Algebra 608
11.1.1 Review of Matrices 608
11.1.2 Systems of Algebraic Equations 613
11.1.3 Linear System VIs 615
11.2 Statistics and Curve Fitting 618
11.2.1 Curve Fits Based on Least Squares Methods 619
11.2.2 Fitting a Curve to Data with Normal Distributions 623
11.2.3 The Curve Fitting Express VI 625
11.3 Differential Equations 629
11.4 Finding Zeroes of Functions 637
11.5 Integration and Differentiation 640
11.6 Signal Generation 641
11.6.1 Normalized Frequency 642
11.6.2 Wave, Pattern, and Noise VIs 646
11.6.3 The Simulate Signal Express VI 649
11.7 Signal Processing 651
11.7.1 The Fourier Transform 651
11.7.2 Smoothing Windows 655
11.7.3 The Spectral Measurements Express VI 660
11.7.4 Filtering 663
11.7.5 The Filter Express VI 672
11.8 Building Blocks: Pulse Width Modulation 675
11.9 Relaxed Reading: High-Speed Control System To Test MEMs Microshutters 677
11.10 myDAQ Building Blocks 679
11.11 Summary 682
Exercises 684
Problems 685
Design Problems 686

A Instrument Control 687
A.1 Components of an Instrument Control System 688
A.1.1 What Is GPIB? 688
A.1.2 GPIB Messages 689
A.1.3 GPIB Devices and Configurations 691
A.1.4 Serial Port Communication 693
A.1.5 Other Bus Technologies 695
A.2 Detecting and Configuring Instruments 696
A.2.1 Windows 696
A.2.2 Macintosh OS X 696
A.3 Using the Instrument I/O Assistant 699
A.4 Instrument Drivers 707
A.4.1 Developing Your Own Instrument Driver 713
A.5 Future of Instrument Drivers and Instrument Control 714
A.6 Summary 715

B LabVIEW Developer Certification 717
B.1 Overview of the NI LabVIEW Certification Structure 718
B.2 Logistics of the CLAD Examination 718
B.3 Benefits of CLAD 719
B.4 Sample CLAD Examination 720
B.5 Detailed Sample CLAD Test Solutions 731
B.6 Additional Study Resources 735
B.7 Summary 736
Index 738

Rewards Program

Write a Review