LabVIEW Introduction Course Semester - PowerPoint PPT Presentation

1 / 92
About This Presentation
Title:

LabVIEW Introduction Course Semester

Description:

... (PXI) Image Acquisition (IMAQ) Motion Control Real-Time (RT) PXI PLC ... Icon: Means of turning a VI into an object that can be used in other programs ... – PowerPoint PPT presentation

Number of Views:128
Avg rating:3.0/5.0
Slides: 93
Provided by: CrystalDr2
Category:

less

Transcript and Presenter's Notes

Title: LabVIEW Introduction Course Semester


1
LabVIEW Introduction CourseSemester
  • National Instruments11500 N. Mopac
    ExpresswayAustin, Texas 78759(512) 683-0100

2
  • Graphical Programming for Test, Measurement, and
    Control
  • Rapid application development with Express VIs
    and easy-to-use graphical environment
  • Interactive measurement assistants and powerful
    redesigned DAQ interface for connecting to all
    types of I/O
  • Expanded targeting options from Real-Time to FPGA
    to PDA
  • Localized in French, German, and Japanese (Korean
    documentation)

3
LabVIEW Awards
  • Readers of Electronic Design name invention of
    LabVIEW as one of the Top 50 Milestones for the
    Electronics Industry
  • LabVIEW 6.1 receives IAN Automation Excellence
    Award of 2002
  • Design News awards LabVIEW 6i Best Computer
    Productivity Tool of 2000
  • LabVIEW 6i chosen the Best of the Best in the
    software category by readers of Evaluation
    Engineering

4
NI LabVIEW A History of Innovation
May 2003 January 2002 August 2000 March
1998 February 1996 August 1993 September
1992 January 1990 October 1986 April 1983
  • LabVIEW 7 Express VIs, I/O Assistants,
    FPGA/PDA targets
  • LabVIEW 6.1 Enhanced networking capabilities,
    analysis
  • LabVIEW 6i Internet-ready measurement
    intelligence
  • LabVIEW 5.0 ActiveX, Multithreading
  • LabVIEW 4.0 Added professional tools, improved
    debugging
  • LabVIEW 3.0 Multiplatform version of LabVIEW
  • LabVIEW for Windows
  • LabVIEW 2.0 for Macintosh
  • LabVIEW 1.0 for Macintosh
  • LabVIEW project begins

5
Leveraging Commercial Technologies
  • Communication Protocols
  • Ethernet
  • CAN
  • DeviceNet
  • USB
  • IEEE 1394
  • RS-232
  • GPIB
  • RS-485
  • Third-Party Software
  • Wolfram Research Mathematica
  • Microsoft Excel
  • The MathWorks MATLAB and Simulink
  • MathSoft MathCAD
  • Electronic Workbench MultiSim
  • Texas Instruments Code Composer Studio
  • Ansoft RF circuit design software
  • Microsoft Access
  • Microsoft SQL Server
  • Oracle

6
LabVIEW Everywhere
Sensor
Embedded (FPGA)
Handheld
Wireless
Networked I/O
PC Boards
Industrial Computer (PXI)
Tektronix Open Windows Oscilloscopes
PC, Mac, Linux, Sun
Workstation
7
The LabVIEW Family
NI LabVIEW Graphical Programming Software for
Measurement and Automation
LabVIEW Datalogging and Supervisory Control Module
LabVIEW FPGA Module
LabVIEW Real-Time Module
LabVIEW PDA Module
8
  • Acquire, Analyze, and Present

Nearly all test, measurement, and control
applications can be divided into 3 main
components the ability to acquire, analyze, and
present data. LabVIEW is the easiest, most
powerful tool for acquiring, analyzing, and
presenting real-world data.
9
Acquire with LabVIEW
  • LabVIEW can acquire data using the following
    devices and more
  • GPIB, Serial, Ethernet, VXI, PXI Instruments
  • Data Acquisition (DAQ)
  • PCI eXtensions for Instrumentation (PXI)
  • Image Acquisition (IMAQ)
  • Motion Control
  • Real-Time (RT) PXI
  • PLC (through OPC Server)
  • PDA
  • Modular Instruments
  • LabVIEW is tightly integrated with all NI
    hardware, in addition to connecting to thousands
    of I/O devices from hundreds of different vendors.

10
Analyze with LabVIEW
  • LabVIEW includes the following tools to help you
    analyze your data
  • More than 400 measurement analysis functions for
    Differential Equations, Optimization, Curve
    Fitting, Calculus, Linear Algebra, Statistics,
    etc.
  • 12 new Express VIs specifically designed for
    measurement analysis, including filtering and
    spectral analysis
  • Signal Processing VIs for Filtering, Windowing,
    Transforms, Peak Detection, Harmonic Analysis,
    Spectrum Analysis, etc.
  • Powerful measurement analysis is built in to the
    LabVIEW development environment.

11
Present with LabVIEW
  • LabVIEW includes the following tools to help you
    present your data
  • On your machine Graphs, Charts, Tables, Gauges,
    Meters, Tanks, 3D Controls, Picture Control, 3D
    Graphs (Windows Only), Report Generation (Windows
    Only)
  • Over the Internet Web Publishing Tools,
    Datasocket (Windows Only), TCP/IP, VI Server,
    Remote Panels, Email
  • Enterprise Connectivity Toolset SQL Tools
    (Databases), Internet Tools (FTP, Telnet, HTML)

Presentation with LabVIEW can be done on your PC
or over a network, or you can take advantage of
additional applications such as DIAdem.
12
Course Map
Introduction to LabVIEW
Clusters
Data Acquisition Waveforms
Plotting Data
Modular Programming
Instrument Control
Decision Making in a VI
Repetition Loops
VI Customization
Strings and File I/O
Arrays
13
Course Goals
This course prepares you to
  • Understand front panels, block diagrams, and
    connectors/icons
  • Use the programming structures and data types
    that exist in LabVIEW
  • Use various editing and debugging techniques
  • Create and save your own VIs so you can use them
    as subVIs
  • Display and log your data
  • Create applications that use plug-in data
    acquisition (DAQ) boards
  • Create applications that use GPIB and serial port
    instruments

14
Course Non-Goals
It is not the purpose of this course to discuss
the following
  • Every built-in LabVIEW object, function, or
    library VI
  • Analog-to-digital (A/D) theory
  • The detailed operation of the serial port or GPIB
    bus
  • How to develop an instrument driver

15
Lesson 1Introduction to LabVIEW
  • TOPICS
  • LabVIEW Environment
  • Front Panel
  • Block Diagram
  • Dataflow Programming
  • LabVIEW Help and Manuals
  • Debugging a VI

16
Virtual Instruments (VIs)
  • Front Panel
  • Controls Inputs
  • Indicators Outputs
  • Block Diagram
  • Accompanying program for front panel
  • Components wired together

17
LabVIEW Dialog Box
18
Creating a new VI
  • FileNew VI to open a blank VI
  • FileNew to open the New dialog box and
    configure a VI template, global variable,
    control, etc

19
Template Browser
20
Menu

File Edit Operate Tools Browse Window
Help
21
Front Panel Window
Front Panel Toolbar
Icon
Boolean Control
Graph Legend
Waveform Graph Owned Label
Waveform Graph
Scale Legend
Plot Legend
22
Block Diagram Window
Block Diagram Toolbar
Divide Function
SubVI
Graph Terminal
Wire Data
While Loop Structure
Numeric Constant
Timing Function
Boolean Control Terminal
23
Front Panel and Block Diagram Toolbars
Font ring Alignment ring Distribution ring Resize
ring Reorder ring Context Help Button
Run button Continuous Run button Abort
button Pause/Continue button
Additional Buttons on the Block Diagram Toolbar
Warning indicator Enter button Broken Run button
  • Execution Highlighting button
  • Step Into button
  • Step Over button
  • Step Out button

24
Tools Palette
  • LabVIEW automatically selects the tool needed
  • Available on the front panel and the block
    diagram
  • A tool is a special operating mode of the mouse
    cursor
  • Use the tools to operate and modify front panel
    and block diagram objects
  • To show the tools palette, select WindowShow
    Tools Palette

25
Front Panel - Controls Palette
Controls Palette Contains the most commonly used
controls
All Controls Palette Shows all controls
26
Block Diagram - Functions Palette
Functions Palette Contains the Express VIs
(interactive VIs with configurable dialog page)
and the most commonly used functions
All Functions Palette Shows all functions
27
Palette Tools
Click pushpin to tack down palette
Search
Palette Options
Up to Owning Palette
  • Graphical, floating palettes
  • Subpalettes can be converted to floating palettes
  • Use Palette Options to change palette view from
    Express to Advanced

28
Searching for Controls, VIs, and Functions
  • Press the search button to perform text searches
    of the palettes
  • Click and drag an item from the search window to
    the block diagram or double-click an item to
    open the owning palette

29
Customize Control Function Palette
Programs National InstrumentsLabVIEW 7.0
  • Keep vi.lib in the LabVIEW 7.0 directory
  • Place items in user.lib or instr.lib to have them
    appear in the Controls and Functions palettes

30
Creating a VI Front Panel
Build the front panel with controls (inputs) and
indicators (outputs)
Numeric Indicator
Owned Labels Increment Buttons
Numeric Control
Boolean Control
Boolean Indicator
31
Shortcut Menus for Front Panel Objects
Right-click the digital display to access its
shortcut menu
Right-click the label to access its shortcut menu
32
Property Page
  • Right-click a control or indicator on the front
    panel and select Properties from the shortcut
    menu to access the property dialog box for that
    object

33
Creating a VI Block Diagram
Block Diagram
Front Panel
Control Terminals
Indicator Terminals
Wires
Nodes
34
Express VIs, VIs and Functions
  • Express VIs interactive VIs with configurable
    dialog page
  • Standard VIs modularized VIs customized by
    wiring
  • Functions fundamental operating elements of
    LabVIEW no front panel or block diagram

35
Block Diagram Nodes
Icon Expandable
Node Expanded Node
  • Function Generator VI
  • Same VI, viewed three different ways
  • Yellow field designates a standard VI
  • Blue field designates an Express VI

36
Block Diagram Terminals
  • Terminals are entry and exit ports that exchange
    information between the panel and diagram
  • Terminals are analogous to parameters and
    constants in text-based programming languages
  • Right-click and toggle View As Icon to change the
    icon view

37
Wiring the Block Diagram
Scalar
2D Array
1D Array
Numeric
Boolean
String
Dynamic
38
Wiring Techniques
Hot Spot
  • Automatic Wiring
  • Use Context Help Window when wiring
  • Right-click wire and select Clean Up Wire
  • Tip Strips
  • Automatic wire routing
  • Right-click terminals and select Visible
    ItemsTerminals

View the terminal connections to a function
39
Dataflow Programming
  • Block diagram executes dependent on the flow of
    data block diagram does NOT execute left to
    right
  • Node executes when data is available to ALL input
    terminals
  • Nodes supply data to all output terminals when
    done

40
Context Help
  • To display the Context Help window, select
    HelpShow Context Help, press the ltCtrl-Hgt keys,
    or press the Show Context Help Window button in
    the toolbar
  • Move cursor over objectto display help
  • ConnectionsRequired boldRecommended
    normalOptional - dimmed

Simple/Detailed Context Help Lock Help
More Help
41
LabVIEW Help
  • Click the More Help button in the Context Help
    window
  • Select HelpVI, Function, How-To Help
  • Click the sentence Click here for more help in
    the Context Help window.
  • Contains detailed descriptions of most palettes,
    menus, tools, VIs, and functions, step-by-step
    instructions for using LabVIEW features, links to
    the LabVIEW Tutorial, PDF versions of all the
    LabVIEW manuals and Application Notes, and
    technical support resources.

42
NI Example Finder
  • To find an example, select HelpFind Examples
  • Web-integrated
  • Search by keyword, example type, hardware type,
    etc.

43
Debugging Techniques
Finding Errors Click on broken Run button. A
window showing the error appears Execution
Highlighting Click on Execution Highlighting
button data flow is animated using bubbles.
Values are displayed on wires.
44
Debugging Techniques
Probe Right-click on wire and select probe and
it shows data as it flows through the wire
segment Breakpoints Right-click on wire and
select Set Breakpoint pause execution at the
breakpoint. Conditional Probe Combination of a
breakpoint and a probe. Right-click on wire
and select custom probe.
45
Debugging Techniques
Step Into, Over, and Out buttons for Single
Stepping
Click on Step Into button to enable single
stepping Once Single Stepping has begun, the
button steps into nodes Click on Step Over
button to enable single stepping or to step over
nodes Click on Step Out button to step out of
nodes
46
Summary
  • Virtual instruments (VIs) have three main parts
    the front panel, the block diagram, and the icon
    and connector pane
  • The front panel is the user interface of a
    LabVIEW program and the block diagram is the
    executable code
  • The block diagram contains the graphical source
    code composed of nodes, terminals, and wires
  • Use Express VIs, standard VIs and functions on
    the block diagram to create your measurement
    code. For the most common requirements, use
    Express VIs with interactive configuration
    dialogs to define your application.
  • Floating Palettes Tools Palette, Controls
    Palette (only when Front Panel Window is active),
    and Functions Palette (only when Block Diagram
    Window is active)
  • There are help utilities including the Context
    Help Window and LabVIEW Help

47
Summary
  • Place controls (inputs) and indicators (outputs)
    in the front panel window
  • Use the Operating tool to manipulate panel
    objects. Use the Positioning tool to select,
    move, and resize panel objects. Use the Wiring
    tool to connect diagram objects
  • Control terminals have thicker borders than
    indicator terminals
  • All front panel objects have property pages and
    shortcut menus
  • Wiring is the mechanism to control dataflow and
    produce LabVIEW programs
  • Broken Run arrow means a nonexecutable VI
  • Various debugging tools and options available
    such as setting probes and breakpoints, execution
    highlighting, and single stepping

48
Tips
  • Common keyboard shortcuts
  • Access Tools Palette with ltshiftgt-right-click
  • Increment/Decrement faster using ltshiftgt key
  • ToolsOptions selection set preferences in
    LabVIEW
  • VI Properties (File menu)

Windows Sun Linux
MacOS ltCtrl-Rgt lt-Rgt ltM-Rgt ltz-Rgt Run a
VI ltCtrl-Fgt lt-Fgt ltM-Fgt ltz-Fgt Find
object ltCtrl-Hgt lt-Hgt ltM-Hgt ltz-Hgt Activate
Context Help window ltCtrl-Bgt lt-Bgt ltM-Bgt ltz-Bgt Rem
ove all broken wires ltCtrl-Wgt lt-Wgt ltM-Wgt ltz-Wgt Cl
ose the active window ltCtrl-Egt lt-Egt ltM-Egt ltz-Egt T
oggle btwn Diagram/Panel Window
49
Lesson 2Modular Programming
  • TOPICS
  • SubVIs
  • Icon and Connector Pane
  • Using SubVIs
  • Creating a SubVI from sections of a VI

50
LabVIEW Hierarchy
SubVI
51
SubVIs
Function Pseudo Code function average (in1, in2,
out) out (in1 in2)/2.0 SubVI Block
Diagram
Calling Program Pseudo Code main average
(point1, point2, pointavg) Calling VI Block
Diagram
52
Icon/Connector
terminals
Icon
An icon represents a VI in other block
diagrams A connector passes data to and receives
data from a subVI through terminals
Connector
terminals
53
SubVI Example Calculating Slope
  • A VI within another VI is called a subVI
  • To use a VI as a subVI, create an icon and a
    connector pane after building the front panel and
    block diagram

54
Creating the Icon
  • Icon graphical representation of a VI
  • Right-click in the icon pane (Panel or Diagram)
  • Always create a black and white icon

Create a custom icon
Default Icon
55
Creating the Connector
Right-click the icon (Front Panel only)
56
Creating the Connector - continued
Click withwiring tool
57
The Connector Pane
Terminal colors match the data types to which
they are connected Click the terminal to see its
associated front panel object
58
Using a VI as a SubVI
All Functions Select a VI ltORgt Drag
icon onto target diagram
59
Help and Classifying Terminals
  • Classify inputs and outputs
  • Required Error if no connection
  • Recommended Warning if no connection
  • Optional No effect if no connection

60
Create SubVI Option
  • Enclose area to be converted into a subVI
  • Select Create SubVI from the Edit Menu

61
Summary
  • VIs can be used as subVIs after you make the icon
    and connector
  • Icon created using Icon Editor
  • Connector defined by choosing number of terminals
  • Load subVIs using the Select a VI option in the
    All Functions palette or dragging the icon onto a
    new diagram
  • Online help for subVIs using the Show Context
    Help option
  • Descriptions document functionality
  • Use Create SubVI feature to easily modularize the
    block diagram

62
Lesson 3Repetition and Loops
  • TOPICS
  • While Loops
  • For Loops
  • Accessing Previous Loop Data

63
While Loops
Repeat (code) Until Condition met End
LabVIEW While Loop Flow Chart
Pseudo Code
64
While Loops
1. Select While Loop
2. Enclose code to be repeated
3. Drop or drag additional nodes and then wire
65
Select the Loop Condition
  • Click the Conditional Terminal with the Operating
    tool to define when the loop stops
  • Default Stop if True

Iteration Terminal
Conditional Terminal
66
Structure Tunnels
  • Tunnels feed data into and out of structures.
  • The tunnel is a block that appears on the border
    the color of the block is related to the data
    type wired to the tunnel.
  • When a tunnel passes data into a loop, the loop
    executes only after data arrive at the tunnel.
  • Data pass out of a loop after the loop
    terminates.

67
For Loops
N100 i0 Until iN Repeat (code
ii1) End
LabVIEW For Loop Flow Chart
Pseudo Code
68
For Loops
  • In Structures subpalette of Functions palette
  • Enclose code to be repeated and/or resize and add
    nodes inside boundary
  • Executes diagram inside of loop a predetermined
    number of times

Count terminal (Numerical input)
Wait Until Next ms Multiplefunction
69
Wait Functions
Wait Until Next ms Multiple FunctionsTime
Dialog palette
70
Wait Functions
Wait (ms) FunctionsTime Dialog palette
Time Delay FunctionsTime Dialog palette
71
Numeric Conversion
  • Numerics default to double-precision (8 bytes) or
    long integer (4 bytes)
  • LabVIEW automatically converts to different
    representations
  • For Loop count terminal always converts to a long
    integer
  • Gray coercion dot on terminal indicates conversion

72
Numeric Conversion
  • LabVIEW chooses the representation that uses more
    bits.
  • If the number of bits is the same, LabVIEW
    chooses unsigned over signed.
  • To choose the representation, right-click on the
    terminal and select Representation.
  • When LabVIEW converts floating-point numerics to
    integers, it rounds to the nearest integer.
    LabVIEW rounds x.5 to the nearest even integer.
    For example, LabVIEW rounds 2.5 to 2 and 3.5 to
    4.

73
Accessing Previous Loop Data Shift Register
Available at left or right border of loop
structures Right-click the border and select
Add Shift Register Right terminal stores data
on completion of iteration Left terminal
provides stored data at beginning of next
iteration
74
Additional Shift Register Elements
Right-click the left terminal to add new elements
Previous values are available at the left
terminals
Right-click the border for a new shift register
Latest value is passed to right terminal
1 loop ago 2 loops ago 3 loops ago
75
Feedback Nodes
  • Appears automatically in a For Loop or While Loop
    if you wire the output of a subVI, function, or
    group of subVIs and functions to the input of
    that same VI, function, or group.
  • Stores data when the loop completes an iteration,
    sends that value to the next iteration of the
    loop, and transfers any data type

76
Feedback Node
  • Wire from output to input to automatically create
    a feedback node
  • ltORgt
  • Place a feedback node from the FunctionsStructure
    s palette

77
Initialized Shift Registers Feedback Nodes
Output 5
Output 5
Run Once VI stops execution Run
Again
Output 5
Output 5
78
Uninitialized Shift Registers Feedback Nodes
Output 4
Output 8
Run Once VI stops execution Run
Again
Output 4
Output 8
79
Summary
  • Two structures to repeat execution While Loop
    and For Loop
  • Loop timing controlled using Wait Until Next ms
    Multiple function, the Wait (ms) function, or the
    Time Delay Express VI.
  • Coercion dots appear where LabVIEW coerces a
    numeric representation of one terminal to match
    the numeric representation of another terminal
  • Feedback nodes and shift registers transfer data
    values from one iteration to the next
  • Use shift registers only when more than one past
    iteration is needed

80
Lesson 4Arrays
  • TOPICS
  • Introduction to Arrays
  • Auto Indexing Arrays
  • Array Functions
  • Polymorphism

81
Arrays
Collection of data elements that are of same
type One or more dimensions, up to 2
elements per dimension Elements accessed by
their index first element is index 0
31
index 10-element array
0 1 2 3 4 5 6
2D array
0
1
2
3
4
Five row by seven column array of 35 elements
82
Array Controls and Indicators
1. Select the Array shell from the Controls
palette
2. Place data object inside shell
Add Dimension for 2D arrays
83
Creating Array Constants
1. Select Array Constant shell from the Array
subpalette
2. Place the data object in the array shell
84
Auto-Indexing
Auto-Indexing Enabled
  • Loops can accumulate arrays at their boundaries
    with auto-indexing
  • For Loops auto-index by default
  • While Loops output the final value by default
  • Right-click on tunnel and enable/disable
    auto-indexing

Wire becomes thicker
1D Array
0 1 2 3 4 5
Auto-Indexing Disabled
Wire remains the same size
Only one value (last iteration) is passed out of
the loop
85
Creating 2D Arrays
1D Array
2D Array
0 1 2 3 4 5
  • Inner loop creates column elements
  • Outer loop stacks them into rows

86
Auto-Index Input
  • An array input can be used to set the For Loop
    count terminal
  • Number of elementsin the array equalsthe count
    terminalinput
  • Run arrow not broken

87
Common Array Functions
Array Size
Initialize Array
88
Common Array Functions
Array Subset
89
The Build Array Function
Appending an element
Concatenate Inputs
Building a higher dimension array
default
90
The Index Array Function
Extracting an Element
Extracting a Row
Extracting an Element of a Row
91
Polymorphism
Function inputs can be of different types All
LabVIEW arithmetic functions are polymorphic
Combination
Result
Scalar
Scalar Scalar
Array Scalar
Array
Array
Array Array
Array Array
Array
92
Summary
  • Arrays group data elements of the same type. You
    can build arrays of numeric, Boolean, path,
    string, waveform, and cluster data types.
  • The array index is zero-based, which means it is
    in the range 0 to n 1, where n is the number of
    elements in the array.
  • To create an array control or indicator, select
    an Array on the ControlsArray Cluster palette,
    place it on the front panel, and drag a control
    or indicator into the array shell.
  • If you wire an array to a For Loop or While Loop
    input tunnel, you can read and process every
    element in that array by enabling auto-indexing.
  • By default, LabVIEW enables auto-indexing in For
    Loops and disables auto-indexing in While Loops.
  • Polymorphism is the ability of a function to
    adjust to input data of different data structures.
Write a Comment
User Comments (0)
About PowerShow.com