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.
- Operating Tool
- Positioning/Resizing Tool
- Labeling Tool
- Wiring Tool
- Shortcut Menu Tool
Scrolling Tool Breakpoint Tool Probe Tool Color
Copy Tool Coloring 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 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
14Do Not Delete This Slide
15Dataflow 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
16Exercise 1
Students build a VI that converts C to F
17Section II
- What is a subVI?
- Making an icon and connector for a subVI
- Using a VI as a subVI
18SubVIs
- 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
19Icon and Connector
- An icon represents a VI in other block diagrams
- A connector shows available terminals for data
transfer
20SubVIs
SubVIs
21Steps to Create a SubVI
- Create the Icon
- Create the Connector
- Assign Terminals
- Save the VI
- Insert the VI into a Top Level VI
22Create the Icon
- Right-click on the icon in the diagram or front
panel
23Create the Connector
Right click on the icon pane (front panel only)
24Assign Terminals
25Insert the SubVI into a Top Level VI
Accessing user-made subVIs Functions gtgt Select a
VI Or Drag icon onto target diagram
26Section III Data Acquisition
- Data acquisition (DAQ) basics
- Connecting Signals
- Simple DAQ application
27DAQ 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
28DAQ Data Acquisition
- Simple Temperature Acquisition Example
- Two parameters
- Device 1
- Channel 0
29Hardware Connections
BNC-2120
SC-2075
SCB-68
30Exercise 2
- Complete Convert C to F.vi, then create
Thermometer.vi.
31Do Not Delete This Slide
32Section IV Loops and Charts
- For Loop
- While Loop
- Charts
- Multiplots
33Loops
- While Loops
- Have Iteration Terminal
- Always Run Once
- Run According to Continue Terminal
- For Loops
- Have Iteration Terminal
- Run According to input N
34Loops (cont.)
- Select the loop
- Enclose Code to Repeat
While Loop
35Charts
- Waveform chart special numeric indicator that
can display a history of values - Controls gtgt Graphs gtgt Waveform Chart
36Wiring Data into Charts
37Exercise 3
- Students build Temperature Monitor.vi.
38Section V Arrays File I/O
- Build arrays manually
- Have LabVIEW build arrays automatically
- Write to a spreadsheet file
- Read from a spreadsheet file
39Adding an Array to the Front Panel
- From the Controls gtgt Array and Cluster
subpalette, select the Array Shell
Drop it on the screen.
40Adding an Array (cont.)
- Place data object into shell (digital control,
for example).
41Creating an Array with a Loop
- Loops accumulate arrays at their boundaries
42Creating 2D Arrays
43File 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
44File 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
45Do Not Delete This Slide
46File I/O Example
Writing a 2D Array to File
47File I/O Example
Reading a 2D Array from a File
48Exercise 4
Students build Temperature Logger.vi
49Where 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)