Presentation on theme: "Ni.com/training LabVIEW Workshop #1 Diego Torres LabVIEW Student Ambassador Fall 2011 ITESM CQ."— Presentation transcript:
ni.com/training LabVIEW Workshop #1 Diego Torres LabVIEW Student Ambassador Fall 2011 ITESM CQ
TOPICS ni.com/training A.Compiled graphical development environment B.Development time reduction of four to ten times C.Tools to acquire, analyze, and present your data What is LabVIEW? Laboratory Virtual Instrumentation Engineering Workbench
TOPICS ni.com/training Navigating LabVIEW A.Virtual Instruments (VIs) B.Parts of a VI C.Starting a VI D.Project Explorer E.Front Panel F.Block Diagram G.Searching for Controls, VIs and Functions H.Selecting a Tool I.Dataflow J.Polymorphism 3
ni.com/training A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such as oscilloscopes and digital multimeters. 4 Virtual Instrument (VI) – A LabVIEW program
ni.com/training B. Parts of a VI LabVIEW VIs contain three main components: 1. Front Panel 2. Block Diagram 3. Icon/Connector Pane 5
ni.com/training B. Parts of a VI – Front Panel You build the front panel with controls (inputs) and indicators (outputs) 6 Front Panel – User interface for the VI
ni.com/training B. Parts of a VI – Block Diagram Front panel objects appear as terminals on the block diagram 7 Block Diagram – Contains the graphical source code
ni.com/training B. Parts of a VI – Icon/Connector Pane Icon: graphical representation of a VI Connector Pane: map of the inputs and outputs of a VI Icons and connector panes are necessary to use a VI as a subVI −A subVI is a VI that is inside of another VI −Similar to a function in a text-based programming language IconConnector Pane 8
DEMONSTRATION C. Starting a VI Demonstrate using the Getting Started dialog box and the New dialog box to start a VI.
ni.com/training D. Project Explorer Use LabVIEW Projects to: Group LabVIEW files and non-LabVIEW files Create build specifications Deploy or download files to targets 10
DEMONSTRATION Using the Project Explorer Demonstrate creating a project, adding files, and removing files.
ni.com/training E. Front Panel – Controls Palette Contains the controls and indicators you use to create the front panel Access from the front panel by selecting View»Controls Palette 12
ni.com/training E. Front Panel – Front Panel Toolbar 13
ni.com/training E. Front Panel – Controls & Indicators Controls −Knobs, push buttons, dials, and other input devices −Simulate instrument input devices and supply data to the block diagram of the VI Indicators −Graphs, LEDs, and other displays −Simulate instrument output devices and display data the block diagram acquires or generates 14
ni.com/training E. Front Panel – Numeric Controls/Indicators The numeric data type can represent numbers of various types, such as integer or real 15 Numeric Indicator Numeric Control Increment/Decrement Buttons
ni.com/training E. Front Panel – Boolean Controls/Indicators The Boolean data type represents data that only has two parts, such as True and False or On and Off Use Boolean controls and indicators to enter and display Boolean (True or False) values Boolean objects simulate switches, push buttons, and LEDs 16 Boolean Control Boolean Indicator
ni.com/training E. Front Panel – Strings The string data type is a sequence of ASCII characters Use string controls to receive text from the user such as a password or user name Use string indicators to display text to the user 17
ni.com/training LabVIEW Data Types – Terminals Terminals visually communicate information about the data type represented
ni.com/training LabVIEW Data Types – Numerics The numeric data type represents numbers of various types To change the representation of a numeric, right-click the control, indicator, or constant, and select Representation from the shortcut menu
ni.com/training LabVIEW Data Types – Boolean Behavior of Boolean controls is specified by the mechanical action In LabVIEW, the Boolean data type is represented with the color green
ni.com/training Mechanical Action of Booleans Use the Mechanical Action of Booleans VI located in the NI Example Finder to learn about the different switch and latch actions.
ni.com/training Data Types – String A sequence of displayable or non-displayable ASCII characters On the front panel, strings appear as tables, text entry boxes, and labels Change the display type from the short-cut menu: Normal, ‘\’ Codes, Password and Hex Edit and manipulate strings with the String functions on the block diagram In LabVIEW, the string data type is represented with the color pink
ni.com/training Data Types – Enum An enum represents a pair of values, a string and a numeric, where the enum can be one of a defined list of values
ni.com/training Data Types – Enum Enum: enumerated control, constant, or indicator Enums are useful because it is easier to manipulate numbers than strings on the block diagram
ni.com/training Data Types – Dynamic Stores the information generated or acquired by an Express VI Non-Express VIs do not accept the dynamic data type −To use a built-in VI or function to analyze or process the dynamic data type, you must convert the data type −Numeric, waveform, or Boolean data indicators or inputs automatically convert the dynamic data type when wired In LabVIEW, the dynamic data type is represented with the color dark blue
ni.com/training E. Front Panel – Shortcut Menus All LabVIEW objects have associated shortcut menus As you create a VI, use the shortcut menu items to change the look or behavior of front panel and block diagram objects To access the shortcut menu, right-click the object 26
ni.com/training E. Front Panel – Property Dialog Box Right-click a front panel object and select Properties to display The options available on the property dialog box are similar to the options available on the shortcut menu for that object 27
ni.com/training E. Front Panel – Configure Multiple Objects Select multiple objects to simultaneously configure shared properties 28
ni.com/training F. Block Diagram Block diagram objects include the following: Terminals SubVIs Functions Constants Structures Wires 29
ni.com/training F. Block Diagram – Functions Palette Contains the VIs, functions, and constants you use to create the block diagram 30
ni.com/training F. Block Diagram – Block Diagram Toolbar 31
ni.com/training F. Block Diagram – Terminals Terminals are: −Block diagram appearance of front panel objects −Entry and exit ports that exchange information between the front panel and block diagram −Analogous to parameters and constants in text-based programming languages Change the view type of a terminal by toggling the View as Icon selection from the context menu 32
ni.com/training F. Block Diagram Terminals 33
ni.com/training F. Block Diagram – Nodes Objects on the block diagram that have inputs and/or outputs and perform operations when a VI runs Analogous to statements, operators, functions, and subroutines in text-based programming languages Nodes can be functions, subVIs, or structures 34 Nodes
ni.com/training F. Block Diagram – Function Nodes Fundamental operating elements of LabVIEW Do not have front panels or block diagrams, but do have connector panes Double-clicking a function only selects the function – does not open it like a VI Has a pale yellow background on its icon 35
ni.com/training F. Block Diagram – SubVI Nodes SubVI: VIs that you build to use inside of another VI Any VI has the potential to be used as a subVI When you double-click a subVI on the block diagram, you can view the front panel and block diagram of the subVI −The upper right corner of the front panel and block diagram displays the icon for the current VI −This is the icon that appears when you place the VI on a block diagram as a subVI 36
ni.com/training F. Block Diagram – SubVI Nodes Express VIs are a special type of subVI −Require minimal wiring because you configure them with dialog boxes −Save the configuration of an Express VI as a subVI Icons for Express VIs appear on the block diagram as icons surrounded by a blue field 37
ni.com/training F. Block Diagram – Icons/Expandable Nodes 38
ni.com/training F. Block Diagram – Wires Transfer data between block diagram objects through wires Wires are different colors, styles, and thicknesses, depending on their data types A broken wire appears as a dashed black line with a red X in the middle 39 Scalar 1D Array 2D Array DBL NumericInteger NumericString
ni.com/training F. Block Diagram – Wiring Tips Press -B to delete all broken wires Right-click and select Clean Up Wire to reroute the wire 40
ni.com/training F. Block Diagram – Wiring Tips Use the Clean Up Diagram tool to reroute multiple wires and objects to improve readability 1.Select a section of your block diagram 2.Click the Clean Up Diagram button on the block diagram toolbar 41
GOAL Exercise 2-1 Concept: Exploring a VI Identify the parts of an existing VI.
DISCUSSION Exercise 2-1 Concept: Exploring a VI What are constants and when should you use them? What are free labels and when should you use them?
ni.com/training G. Searching for Controls, VIs & Functions Find controls, functions, and VIs using the Search button on the Controls and Functions palette. 44
ni.com/training G. Global Search The Search bar in the top right of the Front Panel and Block Diagram windows can be used to search the palettes, help, and ni.com. 45
GOAL Exercise 2-2 Concept: Navigating Palettes Learn to use the palettes and search for controls, functions and VIs.
DISCUSSION Exercise 2-2 Concept: Navigating Palettes Why would you want to add a function to the Favorites category in the Functions palette?
ni.com/training H. Selecting A Tool Create, modify, and debug VIs using the tools provided by LabVIEW A tool is a special operating mode of the mouse cursor The operating mode of the cursor corresponds to the icon of the tool selected When using the Automatic Tool Selection, LabVIEW chooses which tool to select based on the current location of the mouse 48
GOAL Exercise 2-3 Concept: Selecting A Tool Gain experience using the Automatic Tool Selection to select which tool to use.
DISCUSSION Exercise 2-3 Concept: Selecting A Tool How do you enable automatic tool selection?
ni.com/training I. Dataflow LabVIEW follows a dataflow model for running VIs A node executes only when data are available at all of its input terminals A node supplies data to the output terminals only when the node finishes execution 51
ni.com/training I. Dataflow – Quiz Which node executes first? a)Add b)Subtract c)Random Number d)Divide e)Sine 52
ni.com/training I. Dataflow – Quiz Answers NO CORRECT ANSWER Which node executes first? a)Add – possibly b)Subtract – definitely not c)Random Number – possibly d)Divide – possibly e)Sine – definitely not 53
GOAL Exercise 2-4 Concept: Dataflow Understand how dataflow determines the execution order in a VI.
DISCUSSION Exercise 2-4 Concept: Dataflow Should a well-designed block diagram flow in a particular direction?
ni.com/training J. Polymorphism Definition : a programming language feature that allows values of different data types to be handled using a uniform interface. In LabVIEW : the ability of VIs and functions to automatically adapt to accept input data of different data types i.e. Numeric Functions Useful when performing the same operation on different data types
ni.com/training Summary—Quiz 1.Which function executes first: Add or Subtract? a)Add b)Subtract c)Unknown 57
ni.com/training Summary—Quiz Answer 1.Which function executes first: Add or Subtract? a)Add b)Subtract c)Unknown 58
ni.com/training Summary—Quiz 2.Which function executes first: Sine or Divide? a)Sine b)Divide c)Unknown 59
ni.com/training Summary—Quiz Answer 2.Which function executes first: Sine or Divide? a)Sine b)Divide c)Unknown 60
ni.com/training Summary—Quiz 3.Which of the following functions executes first: Random Number, Add or Divide? a)Random Number b)Divide c)Add d)Unknown 61
ni.com/training Summary—Quiz Answer 3.Which of the following functions executes first: Random Number, Add or Divide? a)Random Number b)Divide c)Add d)Unknown 62
ni.com/training Summary—Quiz 4.Which of the following functions execute last: Random Number, Subtract or Add? a)Random Number b)Subtract c)Add d)Unknown 63
ni.com/training Summary—Quiz Answer 4.Which of the following functions execute last: Random Number, Subtract or Add? a)Random Number b)Subtract c)Add d)Unknown 64
ni.com/training Summary—Quiz 5.What are the three parts of a VI? a)Front Panel b)Block Diagram c)Project d)Icon/Connector Pane 65
ni.com/training Summary—Quiz Answer 5.What are the three parts of a VI? a)Front Panel b)Block Diagram c)Project d)Icon/Connector Pane 66