Sunteți pe pagina 1din 70

Why we need LabVIEW?

The biomedical industry relies heavily on the ability to acq ire, analyze acquire anal e, and present large quantities q antities of data; data for example: Monitoring and storing physiological signals in order to research disease mechanisms or the effects of various drug interactions. There exists Th i t a strong t d demand d for f a flexible, fl ibl easy-to-use, t and d cost-effective tool.

Nearly all test, measurement, and control applications can be divided into 3 main components: the ability to acquire, analyze, and present data.

Acquire, Analyze, and Present


LabVIEW is the easiest, most powerful tool for acquiring, analyzing, l i and d presenting ti real-world l ld data. d t
2

What is LabVIEW?
Laboratory Virtual Instrument Engineering Workbench G programming language that utilizes graphical and iconic scripting techniques. techniques
Compile code for multiple OS and devices. Useful U f l iin a b broad d range of f applications. li ti

LabVIEW is Everywhere y
Sensor Embedded (FPGA) Handheld Wireless Networked I/O PC Boards Industrial Computer (PXI) Tektronix Open Windows Oscilloscopes PC, Mac, Linux, Sun Workstation

Acquire with LabVIEW


LabVIEW can acquire data using the following devices and more:
GPIB, Serial, Ethernet, VXI, PXI Instruments Data Acquisition (DAQ) PCI eXtensions for Instrumentation (PXI) Image Acquisition (IMAQ) Motion Control Real-Time (RT) PXI PLC (through OPC Server) PDA Modular Instruments

LabVIEW is tightly i t integrated t d with ith all ll NI hardware, in addition to connecting to thousands of I/O devices from hundreds of different vendors.

Analyze with LabVIEW


LabVIEW includes the following tools to help you analyze your data:
More than 400 measurement analysis functions for Differential Equations, Equations Optimization, Curve Fitting, Calculus, Linear Algebra, Statistics, etc. Express VIs specifically designed for measurement analysis, including filtering and spectral analysis Signal Processing VIs for Filtering, Wi d i T Windowing, Transforms, f P Peak kD Detection, t ti Harmonic Analysis, Spectrum Analysis, etc.

Powerful P f l measurement t analysis is built in to the LabVIEW development environment.

Present with LabVIEW


LabVIEW includes the following tools to help you present your data:
On your machine Graphs, Charts, Tables, , Gauges, g , Meters, , Tanks, , 3D Controls, Picture Control, 3D Graphs (Windows Only), Report Generation (Windows Only) Over the Internet Web Publishing Tools, , Datasocket ( (Windows Only), y), TCP/IP, VI Server, Remote Panels, Email Enterprise Connectivity Toolset SQL T l (Databases), Tools (D t b ) I Internet t tT Tools l (FTP (FTP, Telnet, HTML)

Presentation with LabVIEW can be done on your PC or over a network, t k or you can t take k advantage of additional applications such as DIAdem.

A li ti Applications of fL LabVIEW bVIEW


Design Signal and Image Processing Embedded System Programming
(PC, DSP, FPGA, Microcontroller)

A single graphical development platform

Design

Prototype

Deploy

Simulation and Prototyping And more Control Automatic Controls and Dynamic Systems Mechatronics M h t i and dR Robotics b ti And more Measurements Circuits and Electronics Measurements and Instrumentation And more more

The NI Approach Integrated Hardware Platforms

PXI Modular Instrumentation

Desktop PC

Laptop PC

PDA

High-Speed High-Resolution Multifunction Dynamic Instrument Digitizers and DMMs Data Acquisition Signal Acquisition Control Digitizers

Digital I/O

Counter/ Timers

Machine Vision

Motion Control

Distributed I/O and Embedded Control

Signal Conditioning and d Switching S it hi

Unit Under Test

Section I LabVIEW Environment


A. Getting Data into your Computer
Data D t Acquisition A i iti Devices D i

B. LabVIEW Environment
Front Panel / Block Diagram Toolbar /Tools Palette

C. Components of a LabVIEW Application


Creating a VI Data Flow Execution

D Additional Help D.
Finding Functions Tips p for Working g in LabVIEW

What type yp of device should I use?

Sound Card*,** NI USB DAQ


AI Bandwidth Accuracy y Portable AI Channels AO Channels AC or DC Triggering Calibrated

NI PCI DAQ 250 K1.2 MS/s 1418 14 18 bit 1680 24 AC/DC x x

Instruments Instruments**
20kS/s2 GS/s 1224 12 24 bit some 2 0 AC/DC x x

844 KS/s 1216 12 16 bit x 2 2 AC

10200 KS/s 1216 12 16 bit x 816 12 AC/DC x x

* Sound Cards Work in Some Data-Acquisition Applications, - http://www.tmworld.com/article/319702-Sound_Cards_Work_in_Some_Data_Acquisition_Applications.php ** The above table may not be representative of all device variations that exist in each category

A. Setting Up Your Hardware


Sound Card
Built into most computers

Data Acquisition Device (DAQ)


Actual USB, PCI, or PXI Device Configured in MAX

Simulated Data Acquisition Device (DAQ)


Software simulated at the driver level Co Configured gu ed in MAX

What is MAX?
MAX stands for Measurement & Automation eXplorer. MAX configures f and organizes all your National Instruments DAQ, Q PCI/PXI instruments, GPIB, IMAQ, IVI, Motion, VISA, and VXI devices. Used U d for f configuring fi i and dt testing ti d devices. i
Icon found on Windows desktop

Open and Run LabVIEW


Start All Programs National Instruments LabVIEW

St t f Start from a Bl Blank k VI VI:

New Blank VI or
Start from an Example:

Examples Find Examples

LabVIEW programs are denoted as virtual instruments (VIs), due to their visual imitation of actual hardware instruments.
All programs are developed with a ready-made graphical user interface (GUI). The source code is developed graphically in a block diagram format.

Each VI has two Windows:


Front Panel User Interface (UI) ( )
Controls = Inputs Indicators = Outputs

Block Diagram Graphical p Code


Data travels on wires from controls through functions to i di t indicators Blocks execute by Dataflow

Controls Palette ( (Controls & Indicators) )


Place items on the Front Panel Window

Control: Numeric

Customize Palette View

Indicator: Numeric Slide

Functions (and Structures) Palette


Place items on the Block Diagram Window

Structure: While Loop

Tools Palette
Recommended: Automatic Selection Tool Tools to operate and modify both front panel and block diagram objects
Automatic Selection Tool Automatically chooses among the following tools: O Operating ti Tool T l Positioning/Resizing Tool Labeling Tool Wiring Tool

Status Toolbar

Run Button Continuous Run Button Abort Execution

Additional Buttons on the Diagram Toolbar


Execution Highlighting Button Retain Wire Values Button Step Function Buttons

Demonstration 1: Creating a VI
Front Panel Window Graph Indicator Block Diagram Window

Output Terminal Boolean Control Input Terminals

Dataflow Programming g g
Block diagram execution
Dependent on the flow f of f data Block diagram does NOT execute left to right

Node executes when data are 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 g error appears. pp

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.

Context Help Window


HelpShow Context Help, press the <Ctrl+H> keys Hover cursor over object to update window Additional Help
Right-Click Right Click on the VI icon and choose Help, or Choose Ch Detailed D t il d Help H l . on the context help window

Tips for Working in LabVIEW


Keystroke Shortcuts
<Ctrl+ <Ct l+H> Activate/Deactivate A ti t /D ti t Context C t t Help l Wi Window d <Ctrl+B> Remove Broken Wires From Block Diagram <Ctrl+ Ct l E> Toggle T l Between B t Front F t Panel P l and d Block Bl k Diagram <Ctrl+Z> Undo (Also in Edit Menu)

ToolsOptions Set Preferences in LabVIEW VI PropertiesConfigure VI Appearance, Documentation, etc.

Section II Elements of Typical Programs


A. Loops
While Loop For Loop

B Functions and SubVIs B.


Types of Functions Creating Custom Functions (SubVI) Functions Palette & Searching

C Decision Making and File IO C.


Case Structure Select (simple If statement) File I/O

Loops
While While Loops
i terminal counts iteration Always runs at least once Runs until stop condition is met

Whil Loop While L

For Loops
i terminal counts iterations Run according to input N of count terminal

For Loop

Drawing g a Loop p
2. Enclose code to be repeated 1. Select the structure

3. Drop or drag additional nodes and then wire

3 Types of Functions (from the Functions Palette)


Express VIs: interactive VIs with configurable dialog page (blue border)

Standard VIs: modularized VIs customized by wiring (customizable) Functions: fundamental operating elements of LabVIEW; no front panel or block diagram (yellow)

What Types of Functions are Available?


Input and Output
Signal g and Data Simulation Acquire and Generate Real Signals with DAQ Instrument I/O Assistant (Serial & GPIB) ActiveX for communication with other programs Signall Processing Si P i Statistics Advanced Math and Formulas Continuous Time Solver

Express Functions Palette

Analysis

Storage g
File I/O

Searching g for Controls, , VIs, , and Functions


Palettes are filled with hundreds of f VIs VI Press the search button to index the all VIs for text te t searching Click and drag an item from the search window to the block diagram Double-click an item to open the owning palette

How Do I Make Decisions in LabVIEW?


1. Case Structures

( ) (a)

(b)

2. Select

(c)

File I/O
File I/O Allows recording or reading data in a file file. LabVIEW creates or uses the following file formats: Binary: underlying file format of all other file formats ASCII: regular text files LVM: LabVIEW measurement data file TDM: created for National Instruments products

High Level File I/O Functions


Easy to use High Level of abstraction Writing to LVM file Reading from LVM file

File I/O Programming Model Under the hood


Open/ Create/ p File Replace Read and/or Write to File Close File Check for Errors

Spreadsheet Formatting
Spreadsheet files are ASCII files with a certain formatting
Usually tabs between columns and end of line constants between rows LabVIEW includes VIs that perform this formatting or a string can be concatenated

Section III Presenting your Results


A. Displaying Data on the Front Panel
Controls and Indicators p and Charts Graphs Loop Timing

B Signal Processing B.
MathScript Arrays Clusters Waveforms

What Types yp of Controls and Indicators are Available?


Numeric Data
Number input and display Analog g Sliders, Dials, and Gauges g

Boolean Data
Buttons and LEDs

Express p Controls Palette

Array & Matrix Data


Numeric N i Display Di l 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

Charts Add 1 data p point at a time with history y


Waveform chart special numeric indicator that can display a history of values Chart updates with each individual point it receives
FunctionsExpressGraph IndicatorsChart

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

Building g Arrays y with Loops p (Auto-Indexing) ( g)


Loops can accumulate arrays at their boundaries with auto-indexing For Loops auto-index by default While Loops output only the final value by default Right-click tunnel and enable/disable autoauto indexing
Auto-Indexing Enabled
Wire becomes thicker

1D Array 012345

Auto-Indexing Disabled
Wire remains the same size

Only one value (last iteration) is passed out of the loop

Creating an Array (Step 1 of 2)


From the ControlsModernArray, Matrix, and Cluster subpalette, subpalette select the Array icon. icon

Drop it on the Front Panel.

Create an Array (Step 2 of 2)


1. Place an Array Shell. 2 Insert 2. I t datatype d t t into i t the th shell h ll (i (i.e. N Numeric i C Control). t l)

How Do I Time 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 p
Configure special timed While loop for desired dt.

Time Delay

Timed Loop

Control & Indicator Properties p


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 F t iinclude: l d
Cursors Scaling

Textual Math in LabVIEW


Integrate existing scripts with LabVIEW for faster development Interactive, I t ti easy-to-use, t h d hands-on l learning i environment i t Develop algorithms, explore mathematical concepts, and analyze results using a single environment y whether Freedom to choose the most effective syntax, 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.

Th Interactive The I t ti MathScript M thS i t Window Wi d


Rapidly develop and test algorithms Share Scripts and Variables with the Node View /Modify Variable content t t in i 1D 1D, 2D 2D, and d 3D Output
Window

Variable Workspace
View/Modify Variable Contents

User Commands

m-file Script

(LabVIEWToolsMathScript Window)

Review of Data Types Found in LabVIEW

Section IV Additional LabVIEW Topics


A. Additional Data types
Cluster Shift Register

B. Data Flow Constructs C. D. E E. F. SubVIs State Machines Local Variables Producer/Consumer

Introduction to Clusters
Data structure that g groups p data together. g Data may be of different types. Analogous A l t to struct t t in i C C. Elements must be either all controls or all indicators. Thought of as wires bundled into a cable. Order is important important.

Creating a Cluster
1. Select a Cluster shell. ControlsModernArray Matrix & Cluster ControlsModernArray, 2. Place objects inside the shell.

Cluster Functions
In the Cluster & Variant subpalette of the Programming palette Can also be accessed by right-clicking the cluster terminal

(Terminal (T i ll labels b l reflect data type) Bundle

Bundle By Name

Using Arrays and Clusters with 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)

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

Value 3

Before Loop Begins

First Iteration

Second Iteration

Last Iteration

Modularity in LabVIEW SubVIs

Convert repeated functions and VIs with a single VI.

Create SubVI
Enclose area to be converted into a subVI. Select S l t EditCreate Edit C t S SubVI bVI from f the th Edit M Menu.

LabVIEW Functions and SubVIs operate like Functions in other languages


Function Pseudo Code
function average (in1 (in1, in2 in2, out) { out = (in1 + in2)/2.0; }

Calling Program Pseudo Code


main { average (in1, in2, pointavg) }

SubVI Block Diagram

Calling VI Block Diagram

Icon and Connector Pane


Use this connector pane layout as a standard Top p terminals are usually y reserved for references, such as a file reference Bottom terminals are usually reserved for error clusters

Icon and Connector Pane Create Icon


Create custom icons by right-clicking the icon in the upper right corner of the front panel or block diagram and selecting Edit Icon or by doubleclicking the icon You also can drag a graphic from anywhere in your file system and drop it on the icon Refer R f t to the th Icon Art Glossary at ni com for standard ni.com graphics to use in a VI icon

State Machines
( ) While Loop (1) p (2) Shift Register (3) ( ) Case Structure
1 2

A common application of State machines are to create user interfaces.

State Machines Transitions


Several programming techniques exist for transitioning from state to state in LabVIEW using State Machines Default transition implies that after one state state, another state always follows Transitions between two potential states can be handled by a Select Function

Communicating between loops


Communicating between loops using data flow is not possible. possible The left loop will execute completely before the right loop. Variables are needed when communication with wires does not give the desired behavior.

Local Variables
Local Variables allow data to be passed between parallel loops. A single control or indicator can be read or written to from more than one location in the program Local Variables break the dataflow paradigm and should be used sparingly

Producer/Consumer Design g Pattern

V. Large Program Development


A. Navigation Window B. LabVIEW Project C. Shared Variable

LabVIEW Navigation Window

Shows the current region g of view compared to entire Front Panel or Block Diagram Great for large g p programs g

* Organize and reduce program visual size with subVIs

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
(LabVIEWProjectNew)

Shared Variables
Shared Variables are used to send data between VIs. Variable Types: Single Process: share the data among VIs on the local computer. Network-published: communicate between VIs, remote computers, p , and hardware through g the Shared Variable Engine. g Shared Variable must exist within a p project j library. y Shared Variable must be deployed to be available to other projects and remote computers.

Additional Resources
NI Academic Web & Student Corner
http://www.ni.com/academic

Connexions: Full LabVIEW Training Course


www.cnx.rice.edu 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.

S-ar putea să vă placă și