Title: Virtual Instrumentation With LabVIEW
1Virtual Instrumentation With LabVIEW
2Course Goals
- Understand the components of a Virtual Instrument
- Introduce LabVIEW and common LabVIEW functions
- Build a simple data acquisition application
- Create a subroutine in LabVIEW
3Section I
- LabVIEW terms
- Components of a LabVIEW application
- LabVIEW programming tools
- Creating an application in LabVIEW
4LabVIEW Programs Are Called Virtual Instruments
(VIs)
Front Panel Controls Inputs Indicators Outputs
Block Diagram Accompanying program for front
panel Components wired together
5VI Front Panel
Panel Toolbar
Boolean Control
Double Indicator
Waveform Graph
6VI Block Diagram
Thermometer Terminal
Call to subVI
Temperature Graph
Knob Terminal
Numeric Constant
While Loop
Stop Button Terminal
Stop Loop Terminal
7Controls and Functions Palettes
Controls Palette (Panel Window)
Functions Palette (Diagram Window)
Graphical, floating palettes Used to place
controls indicators on the front panel, or to
build the block diagram
8Tools Palette
- Floating Palette
- Used to operate and modify front panel and block
diagram objects.
Automatic Selection Tool
Scrolling Tool Breakpoint Tool Probe Tool Color
Copy Tool Coloring Tool
Operating Tool Positioning/Resizing Tool Labeling
Tool Wiring Tool Shortcut Menu Tool
9Status Toolbar
Run Button Continuous Run Button Abort
Execution Pause/Continue Button Text
Settings Align Objects Distribute
Objects Reorder
Additional Buttons on the Diagram Toolbar
Execution Highlighting Button Step Into
Button Step Over Button Step Out Button
10Do Not Delete This Slide
11Open and Run a Virtual Instrument
Signal Generation and Processing.vi
12Creating a VI
Front Panel Window
Block Diagram Window
Indicator Terminals
Control Terminals
13Creating a VI Block Diagram
14Wiring Tips Block Diagram
Wiring Hot Spot
Click To Select Wires
Click While Wiring To Tack Wires Down
Spacebar Flips Wire Orientation
15Do Not Delete This Slide
16Dataflow Programming
- 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
17Exercise 1 - Convert C to F
18Section II SubVIs
- What is a subVI?
- Making an icon and connector for a subVI
- Using a VI as a subVI
19SubVIs
- A SubVI is a VI that can be used within another
VI - Advantages
- Modular
- Easier to debug
- Dont have to recreate code
- Require less memory
20Icon and Connector
- An icon represents a VI in other block diagrams
- A connector shows available terminals for data
transfer
21SubVIs
SubVIs
22Steps to Create a SubVI
- Create the Icon
- Create the Connector
- Assign Terminals
- Save the VI
- Insert the VI into a Top Level VI
23Create the Icon
- Right-click on the icon in the diagram or front
panel
24Create the Connector
Right click on the icon pane (front panel only)
25Assign Terminals
26Save The VI
- Choose an Easy to Remember Location
- Organize by Functionality
- Save Similar VIs into one directory (e.g. Math
Utilities) - Organize by Application
- Save all VIs Used for a Specific Application into
one directory or library file (e.g. Lab 1
Frequency Response) - Library Files (.llbs) combine many VIs into a
single file, ideal for transferring entire
applications across computers
27Insert the SubVI into a Top Level VI
Accessing user-made subVIs Functions gtgt Select a
VI Or Drag icon onto target diagram
28Tips for Working in LabVIEW
- Keystroke Shortcuts
- ltCtrl-Hgt Activate/Deactivate Context Help
Window - ltCtrl-Bgt Remove Broken Wires From Block Diagram
- ltCtrl-Egt Toggle Between Front Panel and Block
Diagram - ltCtrl-Zgt Undo (Also in Edit Menu)
- Tab Key Toggle Through Tools on Toolbar
- Tools Options Set Preferences in LabVIEW
- VI Properties Configure VI Appearance,
Documentation, etc.
29Section III Data Acquisition
- Data acquisition (DAQ) basics
- Connecting Signals
- Simple DAQ application
30DAQ Data Acquisition
- Plug-in board for a computer with
- Analog input channels
- Analog output channels
- Counters
- Digital I/O
- Controlled by a suite of LabVIEW VIs
- FunctionsgtgtData Acquisition
31DAQ Data Acquisition
- Simple Temperature Acquisition Example
- Two parameters
- Device 1
- Channel 0
32Data Acquisition Terminology
- Resolution - Determines How Many Different
Voltage Changes Can Be Measured - Larger Resolution ? More Precise Representation
of Signal - Range - Minimum and Maximum Voltages
- Smaller range ? More Precise Representation of
Signal - Gain - Amplifies or Attenuates Signal for Best
Fit in Range
33Do Not Delete This Slide
34Hardware Connections
BNC-2120
SC-2075
SCB-68
35Exercise 2 Simple Data Acquisition
- Complete Convert C to F.vi, then create
Thermometer.vi.
36Do Not Delete This Slide
37Section IV Loops and Charts
- For Loop
- While Loop
- Charts
- Multiplots
38Loops
- While Loops
- Have Iteration Terminal
- Always Run Once
- Run According to Continue Terminal
- For Loops
- Have Iteration Terminal
- Run According to input N
39Loops (cont.)
- Select the loop
- Enclose Code to Repeat
For Loop
40Charts
- Waveform chart special numeric indicator that
can display a history of values - Controls gtgt Graphs gtgt Waveform Chart
41Wiring Data into Charts
42Exercise 3
- Students build Temperature Monitor.vi.
43Do Not Delete This Slide
44Section V Arrays File I/O
- Build arrays manually
- Have LabVIEW build arrays automatically
- Write to a spreadsheet file
- Read from a spreadsheet file
45Adding an Array to the Front Panel
- From the Controls gtgt Array and Cluster
subpalette, select the Array Shell
Drop it on the screen.
46Adding an Array (cont.)
- Place data object into shell (e.g. digital
control).
47Creating an Array with a Loop
- Loops accumulate arrays at their boundaries
48Creating 2D Arrays
49File I/O
- File I/O passing data to and from files
- - Files can be binary, text, or spreadsheet
Write to a spreadsheet file
Read from a spreadsheet file
50File I/O
Easy File I/O VIs
- Read/write to spreadsheet file
- Read/write characters to file (ASCII)
- Read lines from file
- Read/write binary file
51Do Not Delete This Slide
52File I/O Example
Writing a 2D Array to File
53File I/O Example
Reading a 2D Array from a File
54Exercise 4 Analyzing and Logging Data
- Students build Temperature Logger.vi
55Where Do I Go From Here?
- Example programs (Help Find Examples)
- LabVIEW Student Edition (www.ni.com/labviewse)
- Web resources (ni.com)
- NI Developer Zone (zone.ni.com)
- Application Notes
- Info-labview newsgroup (www.info-labview.org/)
- Instrument Driver Library (www.ni.com/idnet)