NATL.JUL–National Instruments–wy
Virtual instruments–what they are, where they're at
Their use is expanding, driven by the performance and cost effectiveness
of desktop computers and by user-configurable application software
BY TIM DEHNE National Instruments Austin, TX
Virtual instruments are created by combining computer and instrumentation
hardware and firmware with computer software. Together, the combination
provides the functionality of a traditional standalone instrument. Virtual
instruments transparently combine the computer resources (processor,
memory, and display) and the measurement and control capabilities of the
instrumentation hardware (A/D converter, D/A converter, digital I/O,
timing, and signal conditioning) with software for data analysis, process
communication, and graphical user interface (see Fig. 1). Application
software handles the intermodule communication, timing, and triggering
necessary to combine several hardware options (GPIB, VXI, RS-232, and
plug-in data-acquisition boards) and software options through libraries of
reusable source code. These source code libraries provide the fundamental
building blocks for users to create their own instruments. Virtual
instruments are flexible, leaving their functionality in the hands of the
user. Users can easily add hardware or software components or reconfigure
existing ones to create new instruments as their measurement needs change.
Users no longer have to scrap their existing hardware or software when
moving to the next project–they simply construct a new virtual instrument.
Computer performance is the engine Computer processing power has
increased exponentially in recent years, far outpacing the processing
power found in traditional instruments. As testimony, the Pentium
processor has barely begun to ship and plans for the 686 processor are
already being unfolded. In addition, other powerful RISC processors,
including the PowerPC, Sparc, Alpha, and PA-RISC, are finding their way to
the desktop along with powerful operating systems like Windows NT,
Solaris, and NextStep. Beyond processing power, desktop computers provide
the most advanced and cost-effective technology for the display and memory
storage capabilities required for instrumentation. High resolution
graphics and several-hundred megabyte disks are now standard. The fierce
competition between computer manufacturers ensures that both display and
memory capabilities as well as processor performance will continue to
progress at a rapid pace.
Instrumentation hardware Working hand in hand with the computer in a
virtual instrument is the instrumentation hardware that acquires the data
and provides the source and control signals. Instrumentation companies
have continued to make innovations in measurement technology, bringing
sophisticated yet cost-effective measurements to the user. Two
fast-growing instrumentation hardware areas are plug-in data acquisition
(DAQ) boards and VXI. DAQ boards with sampling rates in the megahertz
range and accuracy of up to 24 bits are available today. Improvements in A/D
converter technology, instrumentation amplifiers, antialiasing filters,
and signal-conditioning technologies have also made DAQ boards an
attractive instrumentation option. Delta-sigma modulating A/D converters,
instrumentation amplifiers that settle to 12-bit accuracy in 3
microsecond, antialiasing filters that attenuate signals 90 dB in
one-sixth octave, and multichannel, fully programmable signal conditioning
are just of few of the recent technological advances. VXI combines the
best technologies from GPIB instruments and DAQ boards to deliver a
high-speed, multivendor industry standard. Currently, nearly 250
manufacturers make more than 500 VXI products. VXI brings together
technologies such as high-speed A/D converters, standardized triggering
protocols, shared memory, and local bus performance, which add new
dimensions to programmable instrumentation. Many of the new VXI
instruments are a combination of modules linked through the high-speed
backplane or through local bus capabilities. Users gets a modular and
easily configurable instrument with the performance and measurement
capabilities possible only in VXI.
The software is the instrument Given the computing power of the desktop
computer and the necessary instrumentation hardware, the key to both
building and using virtual instruments is the application software.
Application software primarily serves three purposes. It provides an
integrated, development environment, a high-level interface to the
instrumentation hardware, and the user interface to the virtual instrument.
Application software gives a consistent, integrated development framework
that facilitates an intuitive top-down design. The development framework
unifies the hardware and software components required for a complete
virtual instrument: acquisition and control (GPIB, VXI, DAQ boards,
RS-232), data analysis, data presentation (file management, data display,
hard-copy output), and user interface. Application software must be
flexible so that users can easily build virtual instruments or
re-configure them to meet changing application needs. One of the most
popular trends in application software is the graphical development
environment. Graphical virtual instrumentation development has been around
since the introduction of LabVIEW for the Macintosh in 1986. Recent
advances in computing power and graphical interface standards on the PC
and workstation, however, have made these more popular platforms suitable
for such graphical environments. The result has been a wide variety of
graphical development software packages. A key distinction between
graphical environments and virtual instrumentation frameworks is the
ability to develop reusable code modules for each virtual instrument
component mentioned earlier. These code modules must have the ability to
be called hierarchically from other code modules (see Fig. 2). Examples of
graphical virtual instrumentation frameworks are LabVIEW and VEE from
Hewlett-Packard. In recent years, conventional programmers comfortable with
programming languages such as C or Basic have also seen an expanded number
of options for developing virtual instruments. The requirements of
acquisition and control, data analysis, data presentation, and user
interface apply to this type of virtual instrument software as well. The
requirements for reusable code modules and hierarchy are handled
inherently by the underlying programming language. Examples of application
software in this category are LabWindows, Wavetest VIP, HTBasic, and ITG.
The hardware interface
Application software provides a high-level, programmatic interface to
the instrumentation hardware without sacrificing performance. The user
accesses ready-to-run software modules that transparently handle the
intricacies of the instrumentation hardware. Thus, the user does not have
to be an expert on GPIB, VXI, DAQ boards, or RS-232 to effectively use
these hardware options. Software modules that control specific
instruments, such as multimeters, oscilloscopes, and counters, are called
instrument drivers and are now a standard part of application software.
These instrument drivers are an essential building block in the
construction of virtual instruments. The drivers handle the details of
controlling and communicating with a specific instrument. The task of
programming instruments by learning each of the individual command sets,
programming options, and data formats has always been a major obstacle.
The instrument driver essentially removes this obstacle so the user can
focus on using the instrument and not on programming it. With instrument
drivers, the user can quickly and easily create virtual instruments by
combining several instruments with data analysis, data presentation, and
user interface code. Instrument drivers are a major area of competition
between application software suppliers. As a result, a huge number of
instrument drivers are available for a wide range of instruments. The key
to delivering the flexibility required for virtual instruments is to
distribute instrument drivers in source code (see Fig. 3).. With access to
the source code, the user can customize the driver to the needs of a
specific application. Source code is required to ensure user satisfaction
because of the lack of standard specifications for what a particular
instrument driver does or should do. Instrument drivers must be built with
the same methodology as their respective application software packages.
Thus drivers are so far not generally portable between different
application software packages.
The user interface User interface development tools have become a
standard part of not only application software for virtual
instrumentation, but also of general-purpose languages. This widespread
commitment to user interface tools results from the user interface
traditionally being the most time-consuming task in program development.
Learning how to construct and programmatically respond to inputs from the
user interface can be as challenging as learning a new programming
language. Two recent examples of general-purpose languages that are
tackling the user interface hurdles are Visual Basic for Windows and
Visual C++ for Windows. While these languages and their development
environments provide the tools for user interfaces, they are not enough to
meet the needs of the engineer developing virtual instruments. Virtual
instrument software includes not only the general user interface features
such as menus, dialogue boxes, buttons, and graphs, but also knobs,
switches, slide controls, meters, strip charts, programmable cursors, and
digital displays that are necessary for instrumentation applications.
CAPTIONS:
Fig. 1. Application software integrates a virtual instrument's
acquisition and control, data analysis, and data presentation functions.
Fig. 2. A key requirement of virtual instrument software is the ability
to develop re-usable code modules that the user can call hierarchically
from other code modules.
Fig. 3. Application software provides a virtual instrument framework with
a high-level interface to both traditional message-based and
register-based instruments without sacrificing performance.
RUNNING HEAD:
Virtual instruments
Advertisement