Presentation on theme: "Workshop 1 of 7 Welcome!. Who am I? Dilim Nwobu Computer Engineering ‘12 Fall 2011 Software Developer for NI LabVIEW Student Ambassador for Texas A&M."— Presentation transcript:
Who am I? Dilim Nwobu Computer Engineering ‘12 Fall 2011 Software Developer for NI LabVIEW Student Ambassador for Texas A&M Certified LabVIEW Associate Developer Peer Teacher for ENGR 112 Track B
Who are you? Graduate or Undergraduate? Engineering? A&S? EE BME ME CS Heard of LabVIEW? Used LabVIEW? Using LabVIEW for a project?
5,100 employees More than 1,000 products 600 Alliance Partners Dr. James Truchard National Instruments Leader in data acquisition technology with innovative modular instruments and LabVIEW graphical programming software Corporate headquarters in Austin, TX More than 40 international branches Fortune’s 100 Best Companies to Work For Twelve Consecutive Years
Diversity of Applications ElectronicsSemiconductors Computers No Industry > 10% of Revenue Advanced Research Petrochemical Food Processing Textiles Automotive Telecom ATE Military/Aerospace
LabVIEW Student Design Competition Deadline: June 10 Prizes Popular Vote First Prize: $750 USD Second Prize: $500 USD Third Prize: $250 USD Critic Vote Grand Prize: $2,000 USD Trip to NI Week 2011 in Austin, TX http://www.ni.com/studentdesign/
Today's Topics What is LabVIEW? LabVIEW Environment LabVIEW Project Parts of a VI Menus & Palettes Configurations LabVIEW Data Types LabVIEW Data Flow
Compiled graphical development environment Development time reduction of four to ten times Tools to acquire, analyze, and present your data What is LabVIEW? Laboratory Virtual Instrumentation Engineering Workbench
Start»All Programs»National Instruments LabVIEW 2009 Start from a blank VI: New»Blank VI Start from an example: Examples»Find Examples… » or Open and Run LabVIEW
Use LabVIEW Projects to: Group LabVIEW files and non-LabVIEW files Create build specifications (i.e. stand-alone applications) Deploy or download files to targets (i.e. FPGA target) 10 Project Explorer Right Click!
Answer: a LabVIEW program 1. Front Panel User interface (UI) – Controls = inputs – Indicators = outputs 2. Block Diagram Graphical source code – Data travels on wires from control terminals through functions to indicator terminals – Blocks execute by data flow 3. Icon/Connector Pane Graphical representation of a VI Means of connecting VIs (subVIs) What is a Virtual Instrument (VI)? * Conn. pane available from FP only
Front Panel Toolbar Run Run Continuously Abort Pause Text Settings Align Objects Distribute Objects Resize Objects Reorder Context Help It is best not to use the Abort button because you run the risk of not closing references or cleaning up memory correctly
Front Panel Controls and Indicators Customize Palette View Numeric Boolean String Right click!
Shortcut Menus and Properties Dialog Right Click!
Block Diagram Toolbar Run Run Continuously Abort Pause Highlight Execution Retain Wire Values Step In Step Over Step Out Text Settings Align Objects Distribute Objects Resize Objects Reorder Clean Up Block Diagram Context Help Block Diagram Front Panel
Wires Transfer data between block diagram objects Wires are different colors, styles, and thicknesses, depending on data type A broken wire appears as a dashed black line with a red X in the middle Block Diagram Terminals Block Diagram appearance of front panel objects Entry & exit ports that exchange information between the front panel and block diagram Analogous to parameters and constants in text- based programming languages Scalar 1D Array 2D Array DBL Integer NumericNumeric String
Press -B to delete all broken wires Right-click and select Clean Up Wire to reroute the wire Use the Clean Up Diagram tool to reroute multiple wires and objects to improve readability Select a section of your block diagram Click the Clean Up Diagram button on the block diagram toolbar (or -U) 18 Block Diagram: Wiring Tips
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 Functions 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 Structures While loops, for loops, event structures More discussion later subVIs VI that you build to use inside another VI Any VI has potential to become a subVI Double-clicking a subVI will open it (exception: Express Vis- config. window opens) Icon represents subVI in main VI
Numeric Controls and Functions (Front Panel) From the Controls»Modern»Numeric subpalette, select the Numeric Control icon. (Block Diagram) From the Functions»Programming»Nu meric subpalette, select the Add icon.
Mathematical Operations (Block Diagram) From the Functions»Mathematics»Integration and Differentiation subpalette, select the Derivative x(t).vi
Boolean Controls and Functions (Front Panel) From the Controls»Modern»Boolean subpalette, select the Push Button icon. (Block diagram) From the Function»Programming»Bool ean subpalette, select the OR icon.
String Controls and Functions (Front Panel) From the Controls»Modern»String subpalette, select the String Control icon. (Block diagram) From the Function»Programming»String subpalette, select the Concatenate icon.
Demonstration : Using the Functions and Controls Palette
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
Data Flow Block diagram execution is 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 If the computer running this code had multiple processors, these two pieces of code could run independently without additional coding