Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations

Presentation on theme: "National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments 11500 N. Mopac Expressway Austin, Texas 78759 (512) 683-0100."— Presentation transcript:

1 National Instruments Confidential1 LabVIEW Introduction Course Semester National Instruments N. Mopac Expressway Austin, Texas (512)

2 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 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

4 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 6 i 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

5 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

6 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

7 7 The LabVIEW Family NI LabVIEW Graphical Programming Software for Measurement and Automation LabVIEW Real-Time Module LabVIEW FPGA Module LabVIEW PDA Module LabVIEW Datalogging and Supervisory Control Module

8 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 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 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 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, 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 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

13 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:

14 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:

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

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

17 17 LabVIEW Dialog Box

18 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…

19 19 Template Browser

20 20 Menu File Edit Operate Tools Browse Window Help

21 21 Front Panel Window Front Panel Toolbar Graph Legend Boolean Control Waveform Graph Icon Plot Legend Scale Legend Waveform Graph Owned Label

22 22 Block Diagram Window Wire Data Graph Terminal SubVI While Loop Structure Block Diagram Toolbar Divide Function Numeric Constant Timing Function Boolean Control Terminal

23 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 Button Additional Buttons on the Block Diagram Toolbar

24 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

25 25 Front Panel Controls Palette Controls Palette Contains the most commonly used controls All Controls Palette Shows all controls

26 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 27 Palette Tools Graphical, floating palettes Subpalettes can be converted to floating palettes Use Palette Options to change palette view from Express to Advanced SearchPalette Options Click pushpin to tack down palette Up to Owning Palette

28 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 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

30 30 Build the front panel with controls (inputs) and indicators (outputs) Numeric Control Numeric Indicator Owned Labels Increment Buttons Boolean Control Boolean Indicator Creating a VI Front Panel

31 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

32 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 33 Nodes Wires Control Terminals Block DiagramFront Panel Indicator Terminals Creating a VI Block Diagram

34 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 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 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 37 Wiring the Block Diagram Scalar Numeric Boolean String 2D Array 1D Array Dynamic

38 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

39 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

40 40 Context Help To display the Context Help window, select Help»Show Context Help, press the keys, or press the Show Context Help Window button in the toolbar Move cursor over object to display help Connections: Required – bold Recommended – normal Optional - dimmed Simple/Detailed Context Help Lock Help More Help

41 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.

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

43 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 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 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 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 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 48 Tips Common keyboard shortcuts Access Tools Palette with -right-click Increment/Decrement faster using key Tools»Options selection set preferences in LabVIEW VI Properties (File menu) Windows Sun Linux MacOS Run a VI Find object Activate Context Help window Remove all broken wires Close the active window Toggle btwn Diagram/Panel Window

49 49 Lesson 2 Modular Programming TOPICS SubVIs Icon and Connector Pane Using SubVIs Creating a SubVI from sections of a VI

50 50 LabVIEW Hierarchy SubVI

51 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 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

53 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 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

55 55 Creating the Connector Right-click the icon (Front Panel only)

56 56 Creating the Connector - continued Click with wiring tool

57 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 58 Using a VI as a SubVI All Functions » Select a VI… Drag icon onto target diagram

59 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 60 Create SubVI Option Enclose area to be converted into a subVI Select Create SubVI from the Edit Menu

61 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 62 Lesson 3 Repetition and Loops TOPICS While Loops For Loops Accessing Previous Loop Data

63 63 While Loops LabVIEW While Loop Flow Chart Pseudo Code Repeat (code); Until Condition met; End;

64 64 While Loops 1. Select While Loop 2. Enclose code to be repeated 3. Drop or drag additional nodes and then wire

65 65 Select the Loop Condition Click the Conditional Terminal with the Operating tool to define when the loop stops Default: Stop if True Iteration TerminalConditional Terminal

66 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 67 For Loops LabVIEW For Loop Flow Chart Pseudo Code N=100; i=0; Until i=N: Repeat (code; i=i+1); End;

68 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 Multiple function

69 69 Wait Functions Wait Until Next ms Multiple Functions»Time & Dialog palette

70 70 Wait Functions Wait (ms) Functions»Time & Dialog palette Time Delay Functions»Time & Dialog palette

71 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 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 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 Begins First Iteration Second Iteration Last Iteration Initial Value Value 1 Value 2 Value 3 Initial Value

74 74 Additional Shift Register Elements Latest value is passed to right 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

75 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 76 Feedback Node Wire from output to input to automatically create a feedback node Place a feedback node from the Functions»Structures palette

77 77 Initialized Shift Registers & Feedback Nodes Run Once VI stops execution Run Again Output = 5

78 78 Uninitialized Shift Registers & Feedback Nodes Run Once VI stops execution Run Again Output = 8 Output = 4 Output = 8

79 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 80 Lesson 4 Arrays TOPICS Introduction to Arrays Auto Indexing Arrays Array Functions Polymorphism

81 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 index 10-element array D array Five row by seven column array of 35 elements Arrays

82 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

83 83 1. Select Array Constant shell from the Array subpalette 2. Place the data object in the array shell Creating Array Constants

84 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

85 85 Inner loop creates column elements Outer loop stacks them into rows Creating 2D Arrays 1D Array D Array

86 86 Auto-Index Input An array input can be used to set the For Loop count terminal Number of elements in the array equals the count terminal input Run arrow not broken

87 87 Array Size Initialize Array Common Array Functions

88 88 Array Subset Common Array Functions

89 89 The Build Array Function Building a higher dimension array Concatenate Inputs Appending an element default

90 90 The Index Array Function Extracting an Element Extracting an Element of a Row Extracting a Row

91 91 Function inputs can be of different types All LabVIEW arithmetic functions are polymorphic Scalar + Scalar Array + Scalar CombinationResult Scalar Array Array + Array Array Polymorphism

92 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

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

Similar presentations

Ads by Google