LabVIEW
A GRAPHICAL PROGRAMMING LANGUAGE FOR INSTRUMENTATION, DATA-ACQUISION
& ANALYSIS,
AUTOMATION & CONTROL,
AND COMMUNICATION
Prepared by: Ismail Cicek a LabVIEW user
LabVIEW & VIRTUAL INSTRUMENTATION:
Virtual instrumentation is breaking down the barriers of developing and
maintaining instrumentation systems that challenge the world of test, measurement, and
industrial automation. By leveraging off the latest computing technology, virtual
instrumentation delivers innovative, scalable solutions that incorporate many different
I/O options and maximizes code reuse-- saving you time and money.
LabVIEW is a graphical program development application developed by
National Instruments in 1986 to integrate engineering tasks like;
- interfacing computers with the instruments,
- collecting, storing, analyzing, transmitting measured data,
- developing program in a graphical environment,
- providing an effective user interface.
LabVIEW delivers real solutions to the practical problems faster than
any other graphical environment.
More than a software package for controlling an instrument, LabVIEW can
be used to integrate GPIB and VXI for data acquisition, automation, motion control,
vision,... almost everything to build a system.


The source for these figures is http://www.natinst.com/labview/product.htm
and they show how widely LabVIEW is used as instrumentation and control software, by
comparing to some other programming languages.
WHAT IS LabVIEW?
LabVIEW is a program development application, much like various
commercial C/C++, FORTRAN or BASIC development systems. However, LabVIEW uses graphical
programming language, G, to create programs allowing the program to be in a "Block
Diagram" form. This creates excellent GUI capabilities built-in in LabVIEW programs.
The programs written in LabVIEW are called "Virtual
Instruments" or VIs due to the instrumentation-related origin . The programs
created are independent of the type of machine that they are created for so programs can
be transferred between different operating systems.
Additionally LabVIEW has a large set of built-in mathematical functions
and graphical data visualization and data input objects typically found in data
acquisition and analysis applications. You can write most of your "code" with
only the mouse. If structured "properly", this "code" can pass as your
flow chart.
During the last 10 years the original LabVIEW version has been enriched
and refined, ported to several
platforms, accurately documented, completed with software drivers for a
full line of hardware products.
Some features of LabVIEW:
- graphical programming called as "G" language,
- data-flow-controlled execution, as compared to sequential execution of text-line based
languages,
- real time visual debugging features
- built in drivers and function libraries for the serial, parallel and network computer
ports.
- simple file input-output operations,
- "Plug-and-play" interface devices for most types of an external equipment.
- direct program portability (binary files) between different platforms: PCs, Macintosh,
Sun, HP-UX, and operating systems.
- a wealth of visual debugging tools,
- add-on software packages for specific extension of the program features, for instance
image processing,
- built-in interactive graphic control and display
- database (SQL) interfacing, libraries for industrial PLCs
- ready to use analysis functions including;
- Communication (TCP, UDP, DDE, OLE, HiQ)
- signal generation (sine wave, triangle wave, square wave, sawtooth, uniform, gaussian
white and periodic white noise, etc.)
- digital signal processing (FFT, power spectrum, hilbert transform, convolution,
derivative x(t), integral x(t), etc.)
- measurement (power spectrum, time domain windowing, transfer function, harmonic
analyzer, pulse parameters, peak detection, etc. )
- filtering (butterworth, IIR, chebyshev, bessel filter, median filter etc.)
- windows (hanning, hamming, triangle, flat top, force window, exponential window, etc.)
- curve fitting (linear, exp., poly., nonlinear Lev-Mar.fit, interpolation, etc.)
- probability and statistics functions ( mean, standard deviation, RMS, histogram,
distributions (chi square, F, t, inverse distributions, erfc(x), erf(x), contingency
table, etc), ANOVA (1D, 2D, 3D), etc.
- linear algebra ( many functions including some advanced linear algebra functions)
- array operations ( numerical methods, roots, etc.)
hundreds of complete examples, ready to run and customizable, covering
all important functions.
- code interface function to use DLLs written any other language. This feature gives
the opportunity to use the codes written in conventional languages (C/C++, Visual Basic,
etc) to be used in a LabVIEW program.
- add-on software packages for specific extension of the program features, for instance
image processing,
AN EXAMPLE DATA ACQUISION IS NOW EASIER WITH LabVIEW :
All of the LabVIEW functions are very easy to use. The illustration
below shows an example program which is used for data acquisition.
A LabVIEW program has two parts;
- control panel or front panel,
- diagram (flow diagram).
The control panel looks exactly what you would expect
from an instrument to have. The control boxes on the left of the panel are the controls
(or inputs). The graph window is an indicator (output). These controls and indicators are
pulled from the menu using the mouse.
The diagram window is where the connections are made. The
icons on the left of the diagram windows are the representations of the inputs that we
inserted into the front panel. The icons that we see in the control diagram are the
functions to configure the board, start reading, and get Analog Input data functions which
were pulled from the functions menu using a mouse. Then the icons are connected using a
wiring tool. The icon named as "transposed voltage graph" is the representation
of the graph in the front panel. The orange wire from "AI Read" to
"Graph" shows the path. Any analysis would be similar icons on this path, the
would be plotted similarly after the analysis.
Using LabVIEW, almost all of the instruments that are used in a lab
could be simulated (saving money!).
FRONT PANEL:
BLOCK DIAGRAM WINDOW:

EXAMPLE DATA ANALYSIS IN LabVIEW LESS TIME AND EFFORT:
The program below is created by modifying one of the examples
supplied with LabVIEW 4.1 software. The program generates sinusoidal signal combined with
noise generated by "White noise" function and filters the signal using
"Butterworth filter" function. The signal before and after filtering is plotted
in the panel window, then power spectra of both signals are plotted in a similar graph.
This is a good example to see how complex routines might be simplified
using LabVIEW so huge amount of time and effort could be saved!

CONTROL PANEL
DIAGRAM WINDOW

Did you know?
- William D. Phillips won the 1997 Nobel Prize for physics -- he controlled his
atom-cooling Experiments with LabVIEW running on a Macintosh (http://www.natinst.com/)
- Independent surveys show that LabVIEW is the answer if you're interested in shaving
days, weeks, or months from your development time!
- LabVIEW is the first graphical programming language in general commercial use today.
- NIDays-Europe 97 one-day technical conferences will be held at 23 different locations
across Europe during the Autumn of 1997. You can check out for the times and locations
from page: http://www.natinst.com/nidays/nid_loc.htm.
- You can obtain free product information from: http://digital.natinst.com/guest.nsf/newproduct.
(i.e. Instrupedia 97 CD-ROM - the interactive encyclopedia of instrumentation (Windows and
Macintosh), 1998 Instrumentation and Reference Catalogue - the printed version of on-line
catalog plus tutorials and glossary, Instrumentation Newsletter - quarterly newsletter on
computer-based test and measurement, AutomationView Newsletter - quarterly newsletter on
computer-based industrial automation, etc. )
- You can join to LabVIEW information, discussion list by sending subscription to the
info-LabVIEW list maintainer at [email protected].
- Bill OBrien, Senior Systems Engineer in Motorola, says:
"I calculate that we saved
probably 20 man-months in
just this one effort alone...
our productivity doubled."
-- Bill O'Brien, Senior
Systems Engineer,
Motorola Satellite
Communications Group
REFERENCES:
- 1998 National Instruments Instrumentation Reference and Catalogue
- Examples supplied with LabVIEW 4.1 software
- LabVIEW Software manuals
http://www.natinst.com/ --
National Instruments homepage.
http://vaneg1.ecs.umass.edu/socratis/labview/info-labview/Net-Cmn.htm
-- collection of help links, programming tips and utilities that are of interest to users
of the LabVIEW graphical programming environment from National Instruments.
http://vaneg1.ecs.umass.edu/socratis/labview/info-labview/
-- VIs at Info-LabVIEW FTP site
http://knuth.mtsu.edu/~itconf/papers96/DATAACQ.HTM
-- example of a lab-teaching with LabVIEW
http://www.physics.ucf.edu/labs/labhome.htm
another example of a lab-teaching with LabVIEW
http://www.unc.edu/home/evanp/labVIEW/labVIEW.html
some examples developed in LabVIEW.
http://wwwcn1.cern.ch/ce/dc/labview/lv_home.htm
nicely prepared overview for LabVIEW. (European Laboratory for Particle Physics).
http://www.asahi-net.or.jp/~WR9K-OOHS/imaging.html
info about imaging with LabVIEW
ftp://ftp.pica.army.mil/pub/labview
-- Anonymous ftp server. Home for the Info-LabVIEW archives.
Ismail Cicek,
Ph.D. Student,
Mechanical Engineering Dept.
Texas Tech University,
Lubbock, TX