Chapter 3
Developing Your Application
©
National Instruments Corporation
3-9
PCI-Based MXI-2 Interfaces for Windows 2000/NT/Me/98
You can define this symbol using
#define
statements in your source code
or using the appropriate option in your compiler (typically either
-D
or
/D
).
If you use
#define
statements, they must appear in your code before the
line that includes the NI-VXI API header
nivxi.h
.
Compatibility Layer Options
Although NI-VXI supports multiple VXI controllers through NI-VISA, the
NI-VXI API supports only a single controller. To specify which controller
the emulation layer should use, run MAX. Select
Tools»NI-VXI»VXI
Options
. Select the VXI system that will support the emulation layer.
In NI-VXI 3.0 or later, when you enable for triggers or interrupts, only the
local controller is enabled. In the NI-VXI API functions for enabling
triggers and interrupts, the controller parameter is ignored. If you need to
enable a remote controller for triggers, use the MAX frame resource to map
the trigger back to the local controller.
The interrupt and trigger routing in the NI-VXI 3.0 or later low-level
drivers is somewhat different from the default routing in previous versions
of NI-VXI. Therefore, the compatibility layer may behave differently than
the original NI-VXI API with regard to these settings. In particular, if you
are receiving triggers on an external controller, you may need to modify the
trigger configuration on your extender module using MAX. In general,
interrupts are routed automatically based on the interrupt configuration the
resource manager detects. Whether the changed routing behavior affects
your program is application dependent.
Because VISA is an instrument-centric API, certain functions from the
more controller-centric NI-VXI API do not match perfectly with a VISA
counterpart. When an application enables an event with the NI-VXI
API compatibility layer, each logical address is enabled for that event
separately. For example, if the application enables an interrupt level,
VISA will enable the interrupt on each logical address, one at a time,
until all the devices are enabled. This means that some interrupts could be
lost from devices with higher numbered logical addresses. MAX provides
an option for users to pick which logical address is enabled first. Select
Tools»NI-VXI»VXI Options
. Set
Prioritized Signal LA
to the logical
address of the device that generates the events. This prevents possible loss
of events from that device.