Virtual Instrumentation With LabVIEW
description
Transcript of Virtual Instrumentation With LabVIEW
![Page 1: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/1.jpg)
Virtual Instrumentation With LabVIEW
![Page 2: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/2.jpg)
Course 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
![Page 3: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/3.jpg)
Section I
• LabVIEW terms• Components of a LabVIEW application• LabVIEW programming tools• Creating an application in LabVIEW
![Page 4: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/4.jpg)
Front PanelControls = InputsIndicators = Outputs
LabVIEW Programs Are Called Virtual Instruments (VIs)
Block DiagramAccompanying “program”
for front panelComponents “wired”
together
![Page 5: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/5.jpg)
BooleanControl
DoubleIndicator
Waveform Graph
Panel ToolbarVI Front Panel
![Page 6: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/6.jpg)
VI Block Diagram
Numeric Constant
Thermometer TerminalCall to
subVI
While Loop
KnobTerminal
Stop ButtonTerminal
Stop LoopTerminal
TemperatureGraph
![Page 7: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/7.jpg)
Controls and Functions Palettes
Graphical, floating palettes
Used to place controls &
indicators on the front panel, or to build the block diagram
Controls Palette (Panel Window)
Functions Palette (Diagram Window)
![Page 8: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/8.jpg)
Operating Tool
Positioning/Resizing Tool
Labeling Tool
Wiring Tool
Shortcut Menu Tool
• Floating Palette• Used to operate and modify
front panel and block diagram objects.
Scrolling Tool
Breakpoint Tool
Probe Tool
Color Copy Tool
Coloring Tool
Tools Palette
Automatic Selection Tool
![Page 9: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/9.jpg)
Run Button
Continuous Run Button
Abort Execution
Pause/Continue Button
Text Settings
Align Objects
Distribute Objects
Reorder
Execution Highlighting Button Step Into Button
Step Over Button
Step Out Button
Additional Buttons on the Diagram Toolbar
Status Toolbar
![Page 10: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/10.jpg)
Open and Run a Virtual Instrument
Signal Generation and Processing.vi
![Page 11: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/11.jpg)
ControlTerminals
Block Diagram Window
Front Panel Window
Indicator Terminals
Creating a VI
![Page 12: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/12.jpg)
Creating a VI – Block Diagram
![Page 13: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/13.jpg)
Wiring Tips – Block DiagramWiring “Hot Spot”
Click While Wiring To Tack Wires DownSpacebar Flips Wire Orientation
Click To Select Wires
![Page 14: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/14.jpg)
Dataflow 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
![Page 15: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/15.jpg)
Exercise 1 - Convert °C to °F
![Page 16: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/16.jpg)
Section II – SubVIs
• What is a subVI?• Making an icon and
connector for a subVI• Using a VI as a subVI
![Page 17: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/17.jpg)
SubVIs
• A SubVI is a VI that can be used within another VI
• Advantages– Modular– Easier to debug– Don’t have to recreate code– Require less memory
![Page 18: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/18.jpg)
Icon and Connector
• An icon represents a VI in other block diagrams
• A connector shows available terminals for data transfer
Icon
Connector
Terminals
![Page 19: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/19.jpg)
SubVIs
SubVIsSubVIs
![Page 20: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/20.jpg)
Steps to Create a SubVI
• Create the Icon• Create the Connector• Assign Terminals• Save the VI• Insert the VI into a Top Level VI
![Page 21: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/21.jpg)
Create the Icon
• Right-click on the icon in the diagram or front panel
![Page 22: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/22.jpg)
Create the Connector
Right click on the icon pane (front panel only)
![Page 23: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/23.jpg)
Assign Terminals
![Page 24: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/24.jpg)
Save 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 VI’s into a single file, ideal for transferring entire applications across computers
![Page 25: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/25.jpg)
Insert the SubVI into a Top Level VI
Accessing user-made subVIs Functions >> Select a VI
Or Drag icon onto target diagram
![Page 26: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/26.jpg)
Tips for Working in LabVIEW
• Keystroke Shortcuts– <Ctrl-H> – Activate/Deactivate Context Help Window– <Ctrl-B> – Remove Broken Wires From Block Diagram– <Ctrl-E> – Toggle Between Front Panel and Block
Diagram– <Ctrl-Z> – 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.
![Page 27: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/27.jpg)
Section III – Data Acquisition
• Data acquisition (DAQ) basics• Connecting Signals• Simple DAQ application
Computer
DAQ Device
Terminal Block
Cable
Sensors
![Page 28: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/28.jpg)
DAQ – 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 VIsFunctions>>Data Acquisition
![Page 29: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/29.jpg)
DAQ – Data Acquisition
Simple Temperature Acquisition Example
Two parameters• Device = 1• Channel = 0
![Page 30: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/30.jpg)
Data 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
![Page 31: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/31.jpg)
Hardware Connections
BNC-2120
SCB-68
SC-2075
![Page 32: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/32.jpg)
Exercise 2 – Simple Data Acquisition
Complete Convert C to F.vi, then create Thermometer.vi.
![Page 33: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/33.jpg)
Section IV – Loops and Charts
• For Loop• While Loop• Charts• Multiplots
![Page 34: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/34.jpg)
Loops
• While Loops– Have Iteration Terminal– Always Run Once– Run According to Continue
Terminal
• For Loops– Have Iteration Terminal– Run According to input N
![Page 35: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/35.jpg)
Loops (cont.)
For Loop
1. Select the loop
2. Enclose Code to Repeat
![Page 36: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/36.jpg)
ChartsWaveform chart – special numeric indicator that
can display a history of values
Controls >> Graphs >> Waveform Chart
![Page 37: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/37.jpg)
Wiring Data into Charts
Single Plot Charts Multiplot Charts
![Page 38: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/38.jpg)
Exercise 3
Students build Temperature Monitor.vi.
![Page 39: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/39.jpg)
Section V – Arrays & File I/O
• Build arrays manually• Have LabVIEW build arrays automatically• Write to a spreadsheet file• Read from a spreadsheet file
![Page 40: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/40.jpg)
Adding an Array to the Front Panel
From the Controls >> Array and Cluster subpalette, select the Array Shell
Drop it on the screen.
![Page 41: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/41.jpg)
Adding an Array (cont.)
Place data object into shell (e.g. digital control).
![Page 42: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/42.jpg)
Creating an Array with a Loop
• Loops accumulate arrays at their boundaries
![Page 43: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/43.jpg)
Creating 2D Arrays
![Page 44: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/44.jpg)
File I/OFile 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
![Page 45: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/45.jpg)
File I/O
•Read/write to spreadsheet file
•Read/write characters to file (ASCII)
•Read lines from file
•Read/write binary file
Easy File Easy File I/O VIsI/O VIs
![Page 46: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/46.jpg)
File I/O Example
Writing a 2D Array to File
![Page 47: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/47.jpg)
File I/O Example
Reading a 2D Array from a File
![Page 48: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/48.jpg)
Exercise 4 – Analyzing and Logging Data
Students build Temperature Logger.vi
![Page 49: Virtual Instrumentation With LabVIEW](https://reader035.fdocuments.in/reader035/viewer/2022062217/56815a87550346895dc7f930/html5/thumbnails/49.jpg)
Where 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)