How to use LabVIEW -...

39
How to use LabVIEW Ihor Korolov February 2011

Transcript of How to use LabVIEW -...

Page 1: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How to use LabVIEW

Ihor Korolov

February 2011

Page 2: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Contents

  What is LabVIEW?

  How does LabVIEW work?

Block diagram Front panel Palettes

  Data flow programming. Functions.

  LabVIEW Programming Structures (Formula, Case structure …)

  What is a subVI? Using a VI as a subVI.

  How to use LabVIEW with data acquisition (DAQ) software

Measurements and automation explorer (MAX)

I. Korolov: How to use LabVIEW

Page 3: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

What is LabVIEW?

I. Korolov: How to use LabVIEW

LabVIEW – Laboratory Virtual Instrument Engineering Workbench is a graphical (visual) programming from National istruments (NI).

The purpose is automating the usage of processing and measuring equipment in any laboratory setup.

Originally released for the Apple Macintosh in 1986, the graphical language at the heart of LabVIEW is called "G".

uses icons instead of lines of text to create programs

Dataflow programming language C language

Cross-platform

The graphical approach of LabVIEW allows non-programmers to build programs by dragging and dropping virtual representations of lab equipment with which they are already familiar.

Page 4: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Price

LabVIEW Professional Development System

I. Korolov: How to use LabVIEW

Desktop PC

Laptop

PDA http://www.ni.com/labview/buy/

Page 5: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

High-Speed Digitizers

High-Resolution Digitizers and DMMs

Multifunction Data Acquisition

Dynamic Signal Acquisition

Digital I/O Instrument Control

Counter/ Timers

Machine Vision

Motion Control

Distributed I/O and Embedded Control

Laptop PC PDA Desktop PC PXI Modular Instrumentation

Signal Conditioning and Switching

Unit Under Test

LabVIEW

I. Korolov: How to use LabVIEW

www.ni.com

Page 6: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How does LabVIEW work?

I. Korolov: How to use LabVIEW

Page 7: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How does LabVIEW work?

I. Korolov: How to use LabVIEW

Page 8: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How does LabVIEW work?

I. Korolov: How to use LabVIEW

Front panel Block Diagram

Ctrl+E

Block diagram toolbar

Reorder objects Run

Continuous run

Pause

Stop

Debugging features

Clean Up diagram

Page 9: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How does LabVIEW work?

I. Korolov: How to use LabVIEW

LabVIEW Front panel

Used to display Controls or Indicators

Page 10: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How does LabVIEW work?

I. Korolov: How to use LabVIEW

LabVIEW Block Diagram

- Actual program - Invisible to user - Read left to right

Example LP

Page 11: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How does LabVIEW work? Palettes

I. Korolov: How to use LabVIEW

Front panel

Controls palette

Tools palette

Block Diagram

Page 12: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How does LabVIEW work? Tools palette

I. Korolov: How to use LabVIEW Example

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

Automatic Selection Tool

Page 13: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Data flow programming

I. Korolov: How to use LabVIEW

Page 14: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Data flow programming

I. Korolov: How to use LabVIEW

If you put a control (or indicator) on the front panel

LabVIEW automatically creates a corresponding control (or indicator) terminal on theBlock Diagram

Example FP TB

Page 15: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Data flow programming. Functions.

I. Korolov: How to use LabVIEW

View as icon

Click and Ctrl+H “Add” function

wire

Example2,3

Page 16: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Data flow programming. Functions.

I. Korolov: How to use LabVIEW Example

Page 17: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Data flow programming. Wires

I. Korolov: How to use LabVIEW

Some of basic wires used in block diagrams

Data type Color

Floating-point orange

Integer blue

Boolean green

String Pink/purple

Dynamic Dark blue

Broken wires

The wire connects more than one data source

You have connected two terminals of different types

Page 18: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Data flow programming. Functions

I. Korolov: How to use LabVIEW Example

Page 19: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Data flow programming. Functions

I. Korolov: How to use LabVIEW

Polymorphism

Array Arithmetic Operations

Page 20: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Programming structures

I. Korolov: How to use LabVIEW

Page 21: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

LabVIEW Programming Structures

I. Korolov: How to use LabVIEW

For loop

Right click

From 0 to N-1

Example For Loop

Page 22: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

LabVIEW Programming Structures

I. Korolov: How to use LabVIEW

While loop

Repeats the sub diagram inside the loop until the conditional terminal receives a particular Boolean value

Auto-indexed tunnel

Loop tunnel

Shift register

Timed While loop

Example WhileL

Page 23: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

LabVIEW Programming Structures

I. Korolov: How to use LabVIEW

Case structure

Example

Page 24: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

LabVIEW Programming Structures

I. Korolov: How to use LabVIEW

Flat sequence structure

Stacked sequence structure

1 2 3

1 2

3 4

Sequence structures are used to ensure a subdiagram executes after or before another subdiagram

Page 25: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

LabVIEW Programming Structures

I. Korolov: How to use LabVIEW

Use global variables to access and pass data among several VIs

Use local variables to read or write to one of the controls or indicators on the front panel of a VI.

Local variables Global variables

Example

Page 26: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

LabVIEW: Wait statements

I. Korolov: How to use LabVIEW

Wait Until Next ms Multiple function Wait (ms) function

Pre-loop code Loop code

Page 27: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

LabVIEW: Graphs

I. Korolov: How to use LabVIEW

Graph properties

Example Graph

Page 28: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

LabVIEW: File I/O

I. Korolov: How to use LabVIEW

Write to a File Read from a File

Write/Read LabVIEW Measurements file

Example File I/O

Page 29: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

SubVI

I. Korolov: How to use LabVIEW

Page 30: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

What is a subVI? Using a VI as a subVI.

I. Korolov: How to use LabVIEW

What is a subVI?

A SubVi is a stand VI that can be called by other VI and it is similar to an individual function.

Advantages Modular Easier to debug Don’t have to recreate code Require less memory

Page 31: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

What is a subVI? Using a VI as a subVI.

I. Korolov: How to use LabVIEW

How to create a subVI?

A SubVi is a stand VI that can be called by other VI and it is similar to an individual function.

  Create/Edit the Icon   Create the Connector   Assign Terminals to controls and indicators   Add description (optional)   Save the VI   Insert the VI into a Top Level VI

1 Create/Edit the Icon

Right-click on the icon in the block diagram or front panel

Page 32: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

What is a subVI? Using a VI as a subVI.

I. Korolov: How to use LabVIEW

2 Create the Connector Right click on the icon pane (front panel only)

3 Assign Terminals to controls and indicators

r

4 Documentation (VI properties)

5. Save the VI

6. Insert the VI into a Top Level VI

Example

Page 33: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Data acquisition

I. Korolov: How to use LabVIEW

Page 34: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How to use LabVIEW with DAQ software

I. Korolov: How to use LabVIEW

•  Data acquisition (DAQ) •  Connecting Signals •  Simple DAQ application

Sensors

Terminal Block

DAQ device

Fundamental task of a DAQ system is to measure or generate real-world physical signals

Page 35: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Measurements and automation explorer (MAX)

I. Korolov: How to use LabVIEW

Measurement & Automation Explorer (MAX) provides access to all your NI DAQ, GPIB, IMAQ, IVI, Motion, VISA, and VXI devices. Here can configure your NI hardware and software, add new channels, interfaces, and virtual instruments, execute system diagnostics, and view the devices and instruments connected to your system.

Configuration tree Configuration View Task list

MAX is the primary configuration and testing utility that is available for the DAQ device

MAX

Page 36: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How to use LabVIEW with DAQ software

I. Korolov: How to use LabVIEW

Traditional NI-DAQ Specific VIs for performing: •  Analog Input •  Analog Output •  Digital I/O •  Counter operations

NI-DAQmx Next generation driver: •  VIs for performing a task

•  One set of VIs for all measurement types

DAQ assistant Measurement type can be: •  Analog Input •  Analog Output •  Counter Input •  Counter Output •  Digital I/O

Page 37: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How to use LabVIEW with DAQ software

I. Korolov: How to use LabVIEW

Ni USB 6501

Quickly and easily program the DAQ device Creates a local task Most applications can use the DAQ Assistant

DAQ assistant

Example DAQ

Page 38: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

How to use LabVIEW ? Tips and tricks

I. Korolov: How to use LabVIEW

  GPIB Communication and Configuration

  Virtual Instrument Software Architecture (VISA) Serial Port Communication

  Instrument Drivers (How to create and use *.dll in LabVIEW)

  Application control (property node and invoke node)

  How to execute a system command

  Remote panel connection manager and Web publishing tool

  …

Tips and tricks (3.03.2011)

Page 39: How to use LabVIEW - plasma.szfki.kfki.huplasma.szfki.kfki.hu/LabView/SeminarPart2/SZFKISeminarPart1.pdfInstrument Digital I/O Control Counter/ Timers Machine Vision Motion Control

Köszönöm for your attention!

I. Korolov: How to use LabVIEW