LabVIEW Proficiency Workshop

advertisement
Welcome!
Workshop
1 of 7
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?
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

5,100 employees

More than 1,000 products

600 Alliance Partners
Fortune’s 100
Best Companies
to Work For
Twelve
Consecutive Years
Dr. James Truchard
Diversity of Applications
No Industry > 10% of Revenue
Telecom
ATE
Automotive
Military/Aerospace
Semiconductors
Advanced
Research
Electronics
Petrochemical
Food
Processing
Computers
Textiles
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
What is LabVIEW?
Laboratory Virtual Instrumentation Engineering Workbench
Compiled graphical development environment
Development time reduction of four to ten times
Tools to acquire, analyze, and present your data
Open and Run LabVIEW
Start»All Programs»National Instruments LabVIEW 2009
»
Start from a blank VI:
New»Blank VI
or
Start from an example:
Examples»Find Examples…
Project Explorer
Right Click!
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
What is a Virtual Instrument (VI)?
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)
* Conn. pane
available from
FP only
Demonstration:
Creating a new VI
Front Panel Toolbar
Context Help
Reorder
Resize Objects
Distribute Objects
Align Objects
Text Settings
Pause
Abort
Run Continuously
Run
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
Numeric
String
Boolean
Right click!
Customize
Palette
View
Shortcut Menus and Properties Dialog
Right Click!
Context Help
Clean Up Block Diagram
Reorder
Resize Objects
Distribute Objects
Align Objects
Text Settings
Step Out
Step Over
Step In
Retain Wire Values
Highlight Execution
Pause
Abort
Run Continuously
Run
Block Diagram Toolbar
Front Panel
Block Diagram
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 textbased programming languages
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
DBL
Numeric Numeric
Scalar
1D Array
2D Array
Integer
String
Block Diagram: Wiring Tips
• Press <Ctrl>-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 <Ctrl>-U)
18
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
subVIs
Structures
•
Fundamental operating
elements of LabVIEW
•
VI that you build to use inside
another VI
•
While loops, for loops,
event structures
•
Do not have front panels or
block diagrams, but do
have connector panes
•
Any VI has potential to
become a subVI
•
More discussion later
•
Double-clicking a subVI will
open it (exception: Express
Vis- config. window opens)
•
Icon represents subVI in main
VI
•
•
Double-clicking a function
only selects the function –
does not open it like a VI
Has a pale yellow
background on its icon
Common Data Types Found in LabVIEW
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
Demonstration 1:
Creating a simple VI
Exercise
• Create a new VI with a front panel block diagram that
looks like this one: (image also available at
ni.com/tamu)
Download