Chapter 3
Developing Your Application
PCI-Based MXI-2 Interface for Windows
3-6
ni.com
Programming for VXI
NI-VISA and the NI-VXI API are the two National Instruments
programming interfaces for accessing VXI/VME instruments. With
NI-VXI 3.0 or later, NI-VISA is the native API for communicating with a
VXI or VME system, and NI recommends using it for all new applications.
Older programs that use the NI-VXI API now use the NI-VXI-to-NI-VISA
compatibility layer to communicate with the VXI devices. Using this layer,
older programs can run in NI-VXI 3.0 or later without being rewritten to
use the VISA interface.
Note
The NI-VXI API development environment is not installed by default as part of
the NI-VXI installation. If you must develop an application using the older NI-VXI API,
run the NI-VXI installer and select the appropriate option in the custom installation screen.
Be sure to review the
section later in this chapter.
NI-VISA is the National Instruments implementation of the VISA API as
the VXI
plug&play
standard defines. It provides a common interface to
many types of instruments (such as VXI, GPIB, PXI, Serial, TCP/IP, etc.)
and therefore is especially useful in situations in which you are using
multiple types of instruments.
Both NI-VISA and the NI-VXI API include functions for register-level
access to VXI instruments and messaging capability to message-based
devices. You also can use either interface to service asynchronous events
such as triggers, signals, and interrupts, and also assert them. Compatibility
with the NI-VXI API is included for legacy applications only—NI
recommends that you write all new VXI/VME applications in VISA.
The best way to learn NI-VISA programming is by reviewing the example
programs the software includes. The examples directory contains working
VISA programs that illustrate many different types of applications. You can
find these examples in the
VXIpnp\WinNT\NIvisa\Examples
directory.
If you are just getting started, you should learn how to access registers with
high-level calls and send messages with word-serial functions. The
NI-VISA examples for these tasks are
HighReg.c
and
RdWrt.c
. Refer to
the other examples as you try more advanced techniques. Refer to the
NI-VISA User Manual
or help for additional information on these topics.