Top Banner
National Instruments Confidential 1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100
92

National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

Mar 26, 2015

Download

Documents

Paige Bell
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

National Instruments Confidential1

LabVIEW Introduction CourseSemester

National Instruments11500 N. Mopac Expressway

Austin, Texas 78759(512) 683-0100

Page 2: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, 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)

Page 3: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

3

• 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

LabVIEW Awards

Page 4: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

4

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

NI LabVIEW: A History of Innovation

Page 5: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

5

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 ®

Leveraging Commercial Technologies Communication Protocols

• Ethernet• CAN• DeviceNet• USB• IEEE 1394• RS-232• GPIB• RS-485

Page 6: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

6

PC, Mac, Linux, Sun

LabVIEW Everywhere

Networked I/O

PC Boards

Workstation

Handheld

Embedded(FPGA)

Industrial Computer (PXI)

Wireless

Sensor

Tektronix Open Windows Oscilloscopes

Page 7: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

7

The LabVIEW Family

NI LabVIEWGraphical Programming Software for Measurement and Automation

LabVIEW Real-Time Module LabVIEW FPGA Module LabVIEW PDA Module LabVIEW Datalogging andSupervisory Control Module

Page 8: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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.

Page 9: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

9

Acquire with LabVIEWLabVIEW 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.

Page 10: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

10

Analyze with LabVIEWLabVIEW 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.

Page 11: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

11

Present with LabVIEWLabVIEW 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.

Page 12: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

12

Course Map

Introduction to LabVIEW

Repetition & Loops

Modular Programming

VI Customization

Data Acquisition& Waveforms

Instrument Control

Arrays

Plotting Data

Clusters

Decision Making in a VI

Strings and File I/O

Page 13: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

13

Course Goals

• 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

This course prepares you to:

Page 14: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

14

Course Non-Goals

• 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

It is not the purpose of this course to discuss the following:

Page 15: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

15

Lesson 1Introduction to LabVIEW

TOPICSLabVIEW EnvironmentFront PanelBlock DiagramDataflow ProgrammingLabVIEW Help and ManualsDebugging a VI

Page 16: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

16

Virtual Instruments (VIs)

Front Panel• Controls = Inputs• Indicators = Outputs

Block Diagram• Accompanying “program”

for front panel• Components wired

together

Page 17: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

17

LabVIEW Dialog Box

Page 18: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

18

Creating a new VI•File»New VI to open a blank VI

• File»New… to open the New dialog box and configure a VI template, global variable, control, etc…

Page 19: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

19

Template Browser

Page 20: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

20

Menu

File Edit Operate Tools Browse Window Help

Page 21: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

21

Front Panel Window

Front Panel Toolbar

GraphLegend

BooleanControl

WaveformGraph

Icon

PlotLegend

ScaleLegend

WaveformGraphOwned Label

Page 22: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

22

Block Diagram Window

Wire Data

GraphTerminal

SubVI

While LoopStructure

Block Diagram Toolbar Divide

Function

Numeric Constant

Timing Function

Boolean Control Terminal

Page 23: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

23

Front Panel and Block Diagram Toolbars

Run button

Continuous Run button

Abort button

Pause/Continue button

• Execution Highlighting button• Step Into button• Step Over button• Step Out button

Warning indicator

Enter button

Broken Run button

Font ring

Alignment ring

Distribution ring

Resize ring

Reorder ring

Context Help ButtonAdditional Buttons on the Block Diagram Toolbar

Page 24: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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 Window»Show Tools Palette

Page 25: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

25

Front Panel − Controls Palette

Controls PaletteContains the most commonly used controls

All Controls PaletteShows all controls

Page 26: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

26

Block Diagram − Functions Palette

Functions PaletteContains the Express VIs (interactive VIs with configurable dialog page) and the most commonly used functions

All Functions PaletteShows all functions

Page 27: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

27

Palette Tools

• Graphical, floating palettes • Subpalettes can be converted to floating palettes• Use Palette Options to change palette view from

Express to Advanced

Search Palette Options

Click pushpin to tack down palette

Up to OwningPalette

Page 28: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 29: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

29

Customize Control & Function Palette

• 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

Programs» National Instruments»LabVIEW 7.0

Page 30: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

30

Build the front panel with controls (inputs) and indicators (outputs)

NumericControl

NumericIndicator Owned

Labels

IncrementButtons

BooleanControl

BooleanIndicator

Creating a VI Front Panel

Page 31: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

31

Shortcut Menus for Front Panel Objects

Right-click the label to access its shortcut menu

Right-click the digital display to access its shortcut menu

Page 32: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 33: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

33

NodesWires

ControlTerminals

Block DiagramFront PanelIndicator Terminals

Creating a VI Block Diagram

Page 34: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 35: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 36: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 37: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

37

Wiring the Block Diagram

Scalar

Numeric

Boolean

String

2D Array1D Array

Dynamic

Page 38: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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 Items»Terminals

View the terminal connections to a function

Page 39: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

39

• 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

Dataflow Programming

Page 40: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

40

Context Help• To display the Context Help window, select

Help»Show Context Help, press the <Ctrl-H> keys, or press the Show Context Help Window button in the toolbar

• Move cursor over objectto display help

• Connections:Required – boldRecommended – normalOptional - dimmed

Simple/Detailed Context Help Lock Help More Help

Page 41: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

41

LabVIEW Help

• Click the More Help button in the Context Help window• Select Help»VI, 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.

Page 42: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

42

NI Example Finder

• To find an example, select Help»Find Examples

• Web-integrated• Search by keyword,

example type, hardware type, etc.

Page 43: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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.

Page 44: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

44

Debugging TechniquesProbe

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.

Page 45: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

45

Debugging Techniques

Step Into, Over, and Out buttons for Single Stepping

Click on Step Into button to enable single steppingOnce 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

Page 46: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 47: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 48: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

48

Tips• Common keyboard shortcuts

• Access Tools Palette with <shift>-right-click• Increment/Decrement faster using <shift> key• Tools»Options selection — set preferences in LabVIEW• VI Properties (File menu)

Windows Sun Linux MacOS<Ctrl-R> <-R> <M-R> <-R> Run a VI<Ctrl-F> <-F> <M-F> <-F> Find object<Ctrl-H> <-H> <M-H> <-H> Activate Context Help window<Ctrl-B> <-B> <M-B> <-B> Remove all broken wires<Ctrl-W> <-W> <M-W> <-W> Close the active window<Ctrl-E> <-E> <M-E> <-E> Toggle btwn Diagram/Panel Window

Page 49: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

49

Lesson 2Modular Programming

TOPICS

SubVIsIcon and Connector PaneUsing SubVIsCreating a SubVI from sections of a VI

Page 50: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

50

LabVIEW Hierarchy

SubVI

Page 51: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

51

SubVIs

Function Pseudo Codefunction average (in1, in2, out)

{out = (in1 + in2)/2.0;}

SubVI Block Diagram

Calling Program Pseudo Codemain{average (point1, point2, pointavg)

}

Calling VI Block Diagram

Page 52: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

52

Icon/Connector

An icon represents a VI in other block diagrams

A connector passes data to and receives data from a subVI through terminals

Icon

Connector

terminals

terminals

Page 53: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 54: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Default Icon Create a custom icon

Page 55: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

55

Creating the Connector

Right-click the icon (Front Panel only)

Page 56: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

56

Creating the Connector - continuedClick withwiring tool

Page 57: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

57

The Connector PaneTerminal colors match the data types to which they are connectedClick the terminal to see its associated front panel object

Page 58: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

58

Using a VI as a SubVI

All Functions » Select a VI… <OR>

Drag icon onto target diagram

Page 59: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 60: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

60

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

Page 61: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 62: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

62

Lesson 3Repetition and Loops

TOPICSWhile LoopsFor LoopsAccessing Previous Loop Data

Page 63: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

63

While Loops

LabVIEW While Loop Flow Chart Pseudo Code

Repeat (code);

Until Condition met;

End;

Page 64: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

64

While Loops1. Select While Loop 2. Enclose code to be repeated

3. Drop or drag additional nodes and then wire

Page 65: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

65

Select the Loop Condition

Click the Conditional Terminal with the Operating tool to define when the loop stopsDefault: Stop if True

Iteration Terminal Conditional Terminal

Page 66: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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.

Page 67: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

67

For Loops

LabVIEW For Loop Flow Chart Pseudo Code

N=100;

i=0;

Until i=N:

Repeat (code; i=i+1);

End;

Page 68: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 69: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

69

Wait Functions

Wait Until Next ms Multiple

Functions»Time & Dialog palette

Page 70: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

70

Wait Functions

Wait (ms)

Functions»Time & Dialog palette

Time Delay

Functions»Time & Dialog palette

Page 71: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 72: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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.

Page 73: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Before Loop

BeginsFirst

IterationSecondIteration

LastIteration

Initial Value

Value 1

Value 1

Value 2

Value 2

Value 3

Value 3InitialValue

Page 74: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

74

Additional Shift Register Elements

Latest valueis passed toright terminal

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

1 loop ago

2 loops ago

3 loops ago

Page 75: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 76: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

76

Feedback Node

• Wire from output to input to automatically create a feedback node

<OR>• Place a feedback node from the

Functions»Structures palette

Page 77: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

77

Initialized Shift Registers & Feedback Nodes

Run Once VI stops execution Run Again

Output = 5Output = 5

Output = 5 Output = 5

Page 78: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

78

Uninitialized Shift Registers & Feedback Nodes

Run Once VI stops execution Run Again

Output = 8Output = 4

Output = 4 Output = 8

Page 79: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 80: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

80

Lesson 4Arrays

TOPICS

Introduction to Arrays

Auto Indexing Arrays

Array Functions

Polymorphism

Page 81: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

81

• 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

index10-element array 1.2 3.2 8.2 8.0 4.8 5.1 6.0 1.0 2.5 1.7

0 1 2 3 4 5 6 7 8 9

2D array

Five row by seven column array of 35 elements

0 1 2 3 4 5 60 1 2 34

Arrays

Page 82: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

82

Add Dimension for 2D arrays

1. Select the Array shell from the Controls palette

2. Place data object inside shell

Array Controls and Indicators

Page 83: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

83

1. Select Array Constant shell from the Array subpalette

2. Place the data object in the array shell

Creating Array Constants

Page 84: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

84

• 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

Auto-Indexing

Wire becomes thicker

Wire remains the same size

Auto-Indexing Disabled

Auto-Indexing Enabled

Only one value (last iteration) is passed out of the loop

1D Array

0 1 2 3 4 5

Page 85: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

85

• Inner loop creates column elements• Outer loop stacks them into rows

Creating 2D Arrays

1D Array

0 1 2 3 4 5

2D Array

Page 86: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

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

Page 87: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

87

Array Size

Initialize Array

Common Array Functions

Page 88: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

88

Array Subset

Common Array Functions

Page 89: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

89

The Build Array Function

Building a higher dimension array

Concatenate Inputs

Appending an element

default

Page 90: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

90

The Index Array Function

Extracting an Element

Extracting an Element of a Row

Extracting a Row

Page 91: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

91

Function inputs can be of different typesAll LabVIEW arithmetic functions are polymorphic

Scalar + Scalar

Array + Scalar

Combination Result

Scalar

Array

Array

Array + Array

Array + Array

Array

Polymorphism

Page 92: National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100.

92

• 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 Controls»Array & 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.

Summary