Article for Evaluation Engineering Magazine
Powell-Mccks, Amy Walsh,
George Wells, Seth Members
Technology Center
Jet Propulsion Laboratory, California
Propulsion Laboratory’s (] T’L’s) instrumentation Section, the
systems that include integrated sensors,
on a ‘crossroads’
sign to introduce the reader to the confusing array of programming tools available. This article should help
taken to performing data acquisition, analysis and display: the ‘traditional’ approach of text-based BASIC or C programming, the combination of graphical user
from is actually the diagram of icons and wires rather than a text
file visual programming software is just now
becoming popular
and LabWindows from National
VIP from
from Signal
?’here are certainly
The MTC acts as a
as general purpose as possible. It must command a variety of
important that a graphical user can
integrated on the
hardware to form a
fit
purpose
the
the MTC is
software tools. Of course, the
subjective. What isn’t subjective is whether the software requires an
Available on more than one platform It is highly advantageous to usc a tool that is available on more than onc platform, especially
if the applications
for onc customer’s Mac, can
customer. It’s desirable that
program should
the
MTC is wary
tool can
delivery
Good support from an established manu
training
tools that require either a hardware or software kcy (not simply a
LabWindows Version 2,3a
$1995 VIP Version 1.0$695
VEE Windows Version
Version 2.2.1$1995Minimum
Configuration graphics adapter, mouse, DOS
VGA,
80286/25, (80386), math coprocessor, Mb hard disk space, mouse, DOS 3.1, Windows
math coprocessor, 640x480 16-color,
Any Macintosh 6.0.3 or later, 7.0 or later,20 Mb hard disk space.68040 processor required for Version 3.0Configuration Used
80486/33, 16 Mb memory, 630
Mb hard disk, VGA, 5.0
80486/33, 16 Mb memory, 630
Mb hard disk,
DOS 5.0,Windows 3.1, Visual BASIC 80486/33, 16 Mb memory, 630
Mb hard disk, VGA, mouse,
7.0.1, and Mac
Version 2.0
$6000
sun
Microsystems (Spare)
Version 2.0
$6000HP 9000 Series 300, 400, 700,
12 Mb RAM, (16 Mb),
SCSI hard disk
Mb 24 Mb RAM, 32 Mb disk swap, 12 Mb hard disk space
hard disk
4.1.2 or 4.1.3, Xl 1 or
Packages
GENERAL NOTES ON DRIVERS
An important part of any data
acquire, analyze, or display. But there arc different kinds
instrument drivers.
The
These
communicating with instruments
created by the
uninitiated. All the programs tested contain this
type of 10 W-1CVCI driver.
Special purpose 1/0 boards nearly always
of low-level protocols. Since
prudent user
should manufacturer of the
board, especially as to its compatibility with the application package being used. It is not unusual for the cost of developing this
of ‘driver’ to
boards from
of instrument
control functions passed to an
configure it for the desired operation,
start it performing the operation, check its status, and
included with the instrument or it may
not generally work with another. (C drivers won’t work
with BASIC,
V
If the driver for the instrument is not available, it must Software packages that
present a good environment for creating drivers arc important
can
t task if
almost trivial, assuming the instrument manual
contains all the relevant and correct information (not always a good assumption).
National instrument drivers
for their
lists arc more
Packard’s list is heavy on,
-- no matter how
deal (except maybe for the first one).
in most cases, the user only
tapping those functions, not every function the instrument can perform. Once
writ ten, the driver into the program.Vast libraries of instrument drivers arc of great importance only to the beginner. Advanced users usually copy parts of the library driver into
3
Basic for DOS applications runs faster than Visual BASIC for Windows applications (actually, they don’t run slower in Windows, the delays
The first step in
on the
The programmer draws the controls on a blank window that will
the objects on it will automatically
then, the programming takes place in
by
by the original programmer. Visual BASIC, on the other hand, works in a completely different way. The Visual Basic program consists of a set of
by the user.
4
Analog to Digital
Max.
Amplitude: Min. = .01 volt, Max.
Frequency: Min. Max. = 999
menus, push buttons, switches, etc.
NATIONAL INSTRUMENTS
there arc vast
LabWindows dots not work under the Windows environment. before Windows even
existed.
of an application in LabWindows requires the following steps:
application code to
communicate via
function, ‘panels’ and
visual user interface in
Create the code (in C
click or a keyboard entry while the application is executing), update displays, process
data, and communicate (via the drivers) to the instruments.
instrument Drivers
National instruments provides a and
is to
effort could
knows C or BASIC) is gaining an understanding instrument. Control instrument with both
its front panel and
procedures that allow the creation of a driver. This
than developing
from menus and modified for
from concerns about
or controls (such as
push buttons and
may
Programming the Application
Programming an application is simplified by menus that explain and insert any C/BASIC command that is allowed by LabWindows. ‘l’his means that programming
library
(other from this one)
3. Checking for and processing panel and
Program
The LabWindows version of the sample program consists
test and output the results (Figure 3), and an initialization Panel that is used to initialize
Figure selection will display the initialization panel that is used for setting up
communications with the two instruments.
‘he Main
1. Date
2. Time-of-day
3. Function generator status (this status is updated by the initialization panel)
7. File name for stored data
Operator Input
These arc the controls that the operator may ‘click on’ and modify:
1. Function generator control values (wave type, amplitude, and frequency)
2. A/D
4. A button for calculating and displaying an
6
version of LabWindows will support the common C libraries.
VISUAL BASIC &
for data acquisition on t
called
Library (DLL). VIP is that can
C, C++ and Quick C, Borland C, C++ and
VIP make its instrument control, data acquisition, data analysis, and data presentation capabilities available to DDE or DLL, the VIP
communicate with the same bus interfaces. In other words, a
needs to look for the instrument on the VXJ bus instead of the
VX1,
The Sample Program
Creation of an application VII’ requires the following steps:
1.Acquire
that will for instrument communication.)
7
When function was
y in about three
clays. operator from performing operations in an invalid
sequence, i.e., performing an
provides a Getting Started and Quick
follow introduction to VII’ package, An example application is
an overview of the basic
interactively. In this way, the demonstration of the application’s functional t y is supported by a
of functionality. After working through examples in the Getting Started manual, a user will have a
components of VIP. The Programmer’s for looking up the commands
was excellent. If an answer to a question was not
it was quickly found. Calls
control, data acquisition, data analysis, and data display from
VII’ package brings powerful instrument control capabilities to
commands from instrument driver
applications. VIP supports cards and
environment for
AT-bus cards and instruments, overall, is simple to usc and compatible with
the more popular Windows applications and inst bus interfaces. These features make it a strong
candidate for inst however, work best when used with other software packages,
e.g., Visual BASIC, EXCEL, etc., which will drive up the cost of the ‘system.’
Other I’C platform Software tools
These arc only two of the multitude of software tools currently available for data acquisition and processing. Ncw programs arc introduced each for general
purpose tools that interact with a wide variety of instruments and
and
drivers for
that it no longer
Al’Easy is test equipment program that runs
program that seems
users’ existing Assembly, C, or Pascal code and integrate it into its own program. It costs
version version, and it dots require a hardware key.
CONCLUSIONS TO PART
timing is critical,
customer wants a stand-alone
9
If the to acquire into a Windows
using
Visual C, Visual product that runs under windows.
If it is important to transport the application
program using National instruments’
W.
Programming
Charles
Makes Michael
Design News Magazine, May 17,
1993,
Software Crossroads
1 !
r!
Controls
Status
Type of Waveform
Send commands
Send commands
Status:o2054106148191024
Figure
Type:scan count init error s i n e
s c a n
ws Sample Program ion
WaveTest
‘ecu
IMMEDIATE PARAMETERS
Frequency
Function
Null Out
CONTINUOUS
q
q
Rising Edge
Talk Mode ?
q —
I n s t r u m e n t s
VIP
status
]Sample Rate I 5 kHz 2 Do Sampling Run
WAVE
Do
Perform FFT
VIP Panel TYPE
FREQUENCY AMPLITUDE TRIANGLE -
SQUARE -
SINE -
SAMPLE RATE /
2
-6.0 3
0.’6.0-
5.0-
-
. . . . . ..*.,
o 100020003000
4000
-
Sample
WAVE TYPE
I
Send
Figure 9. Sample Diagram
WAVETEK 23 SYNTHESIZED FUNCTION GENERATOR
5
GPIB
TRIGGERED -
I
S I N E -CONTINUOUS -
B U I L D
O F F ;
SEND IT TO INSTRUMENT.
S L O P E
;
X Q O
“
d TRIG
SLOPE
I
WTK 23
Status
Date
Is[WaveType
O
0[
DoSamplingRun I I
Snapshot of Sampled Data
volt’s 0246
8