Introduction to LabVIEW
Gordana.Collier@kingston.ac.uk
LabVIEW Graphical Development System
Useful in a broad range of applications
Can compile code for multiple OS and devices
Virtual Instrumentation Applications
Measurements
Circuits and Electronics
Measurements and Instrumentation
Control
Plant modeling forControl
Automatic Controls and Dynamic Systems
Mechatronics and Robotics
Design
Signal and Image Processing
Embedded System Programming
(PC, DSP, FPGA, Microcontroller)
Simulation and Prototyping
A single graphical development platform
Design
Prototype
Deploy
The NI Approach Integrated Hardware Platforms
PXI Modular Instrumentation
High-Speed High-Resolution
Multifunction
Dynamic
Instrument
Digitizers and DMMs Data Acquisition Signal Acquisition Control
Digitizers
Signal Conditioning
and Switching
Unit Under Test
Laptop PC
Desktop PC
Digital I/O
Counter/
Timers
Machine
Vision
Motion
Control
Distributed I/O and
Embedded Control
PDA
Section I LabVIEW Environment
LabVIEW Environment
Front Panel / Block Diagram
Toolbar /Tools Palette
Data Flow Execution
Debugging Techniques
Components of a LabVIEW Application
Creating a VI
C. Additional Help
Context Help
Data Flow Execution
Debugging
Open and Run LabVIEW
Start>All Programs>National Instruments LabVIEW 8.6
On Getting Started Screen
open one of the following:
1.
2.
3.
Blank VI: New>Blank VI
Empty Project: New>Empty Projects
Example: Examples>Find Examples
LabVIEW Programs Are Called Virtual Instruments (VIs)
Each VI has 2 Windows:
1. Front Panel
2. Block Diagram
VI Front Panel
User Interface (UI)
Controls = Inputs
Indicators = Outputs
VI Block Diagram
Graphical Code
Data travels on wires from
controls through functions to
indicators
Blocks execute by Dataflow
Controls Palette (Controls & Indicators)
(Places items on the Front Panel Window)
Customize
Palette
View
Controls Palette (Controls & Indicators)
Indicator:
Numeric Slide
Controls Palette (Controls & Indicators)
Control:
Numeric
Functions (and Structures) Palette
(Places items on the Block Diagram Window)
Structure:
While Loop
Status Toolbar
Run Button
Continuous Run Button
Abort Execution
Context Help Window
Help>Show Context Help or <Ctrl+H> keys
Hover cursor over object to update window
Additional Help
Right-Click on the VI icon and
choose Help, or
Choose Detailed Help. on
the context help window
Dataflow Programming
Block diagram execution
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
Debugging Techniques
Finding Errors
Click on broken Run button.
Window showing error appears.
Execution Highlighting
Click on Execution Highlighting button; data
flow is animated using bubbles. Values are
displayed on wires.
Probes
Right-click on wire to display probe and it shows
data as it flows through wire segment.
You can also select Probe tool from Tools palette
and click on wire.
Status Toolbar
Additional Buttons on
the Diagram Toolbar
Execution Highlighting Button
Retain Wire Values Button
Step Function Buttons
Section II Elements of Typical Programs
Functions
Types of Functions
Functions Palette & Searching
Loops
While Loop
For Loop
Decision Making and File IO
Case Structure
Select (simple If statement)
File I/O
Types of Controls and Indicators Available
Numeric Data
Express Controls Palette
Number input and display
Analog Sliders, Dials, and Gauges
Boolean Data
Buttons and LEDs
Array & Matrix Data
Numeric Display
Chart
Graph
XY Graph
Intensity Graph
3D graph: point, surface, and
model
Decorations
-Tab Control
- Arrows
Other
- Strings and text boxes
- Picture/Image Display
- ActiveX Controls
Types of Functions Available
Input and Output
Signal and Data Simulation
Acquire and Generate Real Signals with DAQ
Instrument I/O Assistant (Serial & GPIB)
ActiveX for communication with other programs
Analysis
Signal Processing
Statistics
Advanced Math and Formulas
Continuous Time Solver
Storage
File I/O
Express Functions Palette
Types of Functions (from the Functions Palette)
Functions
fundamental operating elements of LabVIEW;
no front panel or block diagram (yellow)
Express VI
interactive VIs with configurable dialog page (blue border)
Standard VI
modular VIs customized by wiring
Searching for Controls, VIs, and Functions
Palettes are filled with hundreds
of VIs
Press the search button to index the
all VIs for text searching
Click and drag an item from the
search window to the block diagram
Double-click an item to open the
owning palette
Loops
While Loop
While Loops
i terminal counts iteration
Always runs at least once
Runs until stop condition is
met
For Loops
i terminal counts iterations
Run according to input N of
count terminal
For Loop
Drawing a Loop
2. Enclose code to be repeated
1. Select the structure
3. Drop or drag additional nodes and then wire
Timing a Loop
1. Loop Time Delay
Configure the Time Delay Express VI for seconds to wait
each iteration of the loop (works on For and While loops).
2. Timed Loops
Configure special timed While loop for desired dt.
Time Delay
Timed Loop
Shift Register Access Previous Loop Data
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
Initial
Value
Before
Loop
Begins
Value 3
First
Iteration
Second
Iteration
Last
Iteration
Making Decisions
1. Case Structures
2. Select
(a)
(c)
(b)
Create SubVI
Enclose area to be converted into a subVI.
Select EditCreate SubVI from the Edit Menu.
LabVIEW Functions and SubVIs operate like subroutines
in other languages
Function Pseudo Code
Calling Program Pseudo Code
function average (in1, in2, out)
{
out = (in1 + in2)/2.0;
}
main
{
average (in1, in2, pointavg)
}
SubVI Block Diagram
Calling VI Block Diagram
Textual Math in LabVIEW
Integrate existing scripts with LabVIEW for faster development
Interactive, easy-to-use, hands-on learning environment
Develop algorithms, explore mathematical concepts, and
analyze results using a single environment
Freedom to choose the most effective syntax, whether
graphical or textual within one VI
Supported Math Tools:
MathScript script node
Mathematica software
Maple software
MathSoft software
MATLAB software
Xmath software
MATLAB is a registered trademark of The MathWorks, Inc.
Math with the MathScript Node
Implement equations and algorithms textually
Input and Output variables created at the border
Generally compatible with popular m-file script language
Terminate statements with a semicolon to disable immediate
output
(FunctionsProgramming
StructuresMathScript)
Prototype your equations in the interactive MathScript Window.
The Interactive MathScript Window
Rapidly develop and test algorithms
Share Scripts and
Variables with the Node
View /Modify Variable
content in 1D, 2D, and 3D
Output
Window
Variable
Workspace
View/Modify
Variable Contents
m-file Script
User Commands
(LabVIEWToolsMathScript Window)
File I/O
File I/O passing data to and from files
Files can be binary, text, or spreadsheet
Write/Read LabVIEW Measurements file (*.lvm)
Writing to LVM file
Reading from LVM file
File I/O Programming Model Under the hood
Open/
Create/
Replace File
Read
and/or
Write to File
Close
File
Check for
Errors
Section III Presenting your Results
Displaying Data on the Front Panel
Controls and Indicators
Graphs and Charts
Signal Processing - advanced
Arrays and clusters
Waveforms
Projects
Control & Indicator Properties
Properties are characteristics or qualities about an object
Properties can be found by right clicking on a Control or Indicator
Properties Include:
Size
Color
Plot Style
Plot color
Features include:
Cursors
Scaling
Graphs Display many data points at once
Waveform graph
special numeric indicator that displays an array of
data
Graph updates after all points have been collected
May be used in a loop if VI collects buffers of data
FunctionsExpressGraph IndicatorsGraph
Charts Add 1 data point at a time with history
Waveform chart
special numeric indicator that can display a history
of values
Chart updates with each individual point it receives
FunctionsExpressGraph IndicatorsChart
Advanced topics
Introduction to Clusters
Data structure that groups data together
Data may be of different types
Analogous to struct in C
Elements must be either all controls or all indicators
Thought of as wires bundled into a cable
Order is important
Arrays and Clusters into Graphs
The Waveform Datatype contains 3 pieces of data:
t0 = Start Time
dt = Time between Samples
Y = Array of Y magnitudes
Two ways to create a Waveform Cluster:
Build Waveform (absolute time)
Cluster (relative time)
LabVIEW Project
Group and organize VIs
Hardware and I/O management
Manage VIs for multiple targets
Build libraries and executables
Manage large LabVIEW applications
Enable version tracking and management
(LabVIEW>Project>New)
Additional Resources
NI Academic Web & Student Corner
http://www.ni.com/academic
Connexions: Full LabVIEW Training Course
www.cnx.rice.edu
Or search for LabVIEW basics
LabVIEW Certification
LabVIEW Fundamentals Exam (free on www.ni.com/academic)
Certified LabVIEW Associate Developer Exam (industry recognized certification )
Get your own copy of LabVIEW Student Edition
www.ni.com/academic
By Robert H Bishop.
Published by Prentice Hall.
The LabVIEW Certification Program
Architect
Mastery of LabVIEW
Expert in large application development
Skilled in leading project teams
Certified
LabVIEW
Architect
Developer
Advanced LabVIEW knowledge
and application development
experience
Project management skills
Certified LabVIEW
Developer
Associate Developer
Proficiency in navigating
LabVIEW environment
Some application
development experience
Fundamentals Exam
Pre-Certification Skills Test
Certified LabVIEW Associate
Developer
Free On-Line Fundamentals Exam
http://www.labviewjobs.com/index.php