Measurement & Automation Explorer Help for NI-VISA™

May 2014, 371395J-01

This help file explains how to use Measurement & Automation Explorer (MAX) for NI-VISA and NI-VXI configuration and programming.

Related Documentation

To comment on National Instruments documentation, refer to the National Instruments Web site.

© 2005–2014 National Instruments Corporation. All rights reserved.


Related Documentation

The following documents contain information that you might find helpful as you use this help file:

  • NI-VXI Help
  • NI-VXI API Help
  • NI-VISA Help
  • 1155-1992 Standard VMEbus Extensions for Instrumentation: VXIbus
  • GPIB-VXI/C User Manual


Glossary

Prefixes

Symbol | Prefix | Value
p | pico | 10 -12
n | nano | 10 -9
µ | micro | 10 -6
m | milli | 10 -3
k | kilo | 10 3
M | mega | 10 6
G | giga | 10 9
T | tera | 10 12

Numbers/Symbols

nV | nanovolts | 10-9 volts
µV | microvolts | 10-6 volts
µΩ | microohms | 10-6 ohms
mΩ | milliohms | 10-3 ohms
MΩ | megaohms | 106 ohms
pA | picoamps | 10-12 amperes
nA | nanoamps | 10-9 amperes
µA | microamps | 10-6 amperes
mA | milliamps | 10-3 amperes

A

A16/A24/A32 space VXIbus address spaces. Address space is a set of 2n memory locations differentiated from other such sets in VXI/VMEbus systems by six signal lines known as address modifiers, where n is the number of address lines required to uniquely specify a byte location in a given space. Valid numbers for n are 16, 24, and 32.

A16 space is equivalent to the VME 64 KB short address space. In VXI, the upper 16 KB region is referred to as VXI configuration space.

A24 space is equivalent to the VME 16 MB standard address space.

A32 space is equivalent to the VME 4 GB extended address space.

B

base address | A specified address that is combined with a relative address (or offset) to determine the absolute address of a data location. All VXI address windows have an associated base address for their assigned VXI address spaces.
bus master | A type of a plug-in board or controller with the ability to read and write devices on the computer bus.
byte | A grouping of adjacent binary digits operated on by the computer as a single unit. A byte consists of 8 bits.
byte order | How bytes are arranged within a word or how words are arranged within a longword. Motorola ordering stores the most significant byte (MSB) or word first, followed by the least significant byte (LSB) or word. Intel ordering stores the LSB or word first, followed by the MSB or word.

C

Commander | A message-based device that is also a bus master and can control one or more Servants. A Commander can itself be a Servant to another Commander that is higher in the Commander/Servant hierarchy.
Commander/Servant hierarchy The VXIbus specification defines a Commander/Servant communication protocol that you can use to construct hierarchical systems using conceptual layers of VXI devices. The resulting structure is like a tree. A Commander is any message-based device in the hierarchy with one or more associated lower-level devices, or Servants. A Servant is any device in the subtree of a Commander. A device can be both a Commander and a Servant in a multiple-level hierarchy.

A Commander has exclusive control of its immediate Servants' (one or more) communication and configuration registers. Any VXI module has one and only one Commander. Commanders use the Word Serial Protocol to communicate with Servants through the Servants' communication registers. Servants communicate with their Commander, responding to the Word Serial commands and queries from their Commander. Servants can also communicate asynchronous status events to their Commander through hardware interrupts, or by writing specific messages directly to their Commander's Signal register.

communication registers | In message-based devices, a set of registers that are accessible to the device's Commander and are used for performing Word Serial Protocol communications. VME devices and VXI register-based devices do not have communication registers.
configuration registers | A set of registers through which the system can identify a module device type, model, manufacturer, address space, and memory requirements. To support automatic system and memory configuration, the VXIbus specification requires that all VXIbus devices have a set of such registers. VME devices do not have configuration devices.
configuration space The VXIbus specification reserves a section of VXI/VMEbus address space for automatic system configuration and base-level communication. This section is the upper 16 KB of what is known as the A16 address space, which is divided into 256 blocks of 64 bytes each for a maximum of 256 VXI devices in a single VXIbus chassis. Therefore, this section (known as VXIbus configuration space) begins at a base address of 0xC000 and ends at 0xFFFF. A unique 8-bit logical address identifies each device. The logical address determine which of these 256 blocks a VXI device resides at or uses. Each VXI device, therefore, has a unique location in the system.

You can calculate the offset, or starting address, of a device's 64-byte block of addresses using the following formula:

offset = C000 hex + (Logical Address * 40 hex)

or, in decimal:

offset = 49152 + (Logical Address * 64)

controller (System Controller) A controller is a device that can control other devices. A desktop computer with a MXI interface board, an embedded computer in a VXI chassis, a VXI-MXI, and a VME-MXI may all be controllers depending on the configuration of the VXI system.

A VMEbus System Controller is a device configured for installation in Slot 0 of a VXIbus chassis or Slot 1 of a VMEbus chassis. This device is unique in the VMEbus system in that it performs the VMEbus System Controller functions, including clock sourcing and arbitration for data transfers across the backplane.

A MXIbus System Controller is a functional module that has arbiter, daisy-chain driver, and MXIbus cycle timeout responsibility. This device is always the first device in the MXIbus daisy-chain.

D

device class VXIbus devices are categorized by their supported protocols into the following four classes.

Message-based devices support both the VXIbus configuration and communication protocols. These devices have Commander and/or command-based Servant capabilities.

Register-based devices have VXIbus configuration registers, but do not have communications registers. Typically, they have little or no local intelligence and can be controlled by message-based devices.

Memory devices have VXIbus configuration registers that are used for either permanent or temporary data storage in blocks of RAM or ROM in VMEbus A24 or A32 address space.

Extended devices have VXIbus configuration registers and a subclass register, which defines both standard and manufacturer-specific subclasses. The subclass further defines the functionality of an extended device, such as a chassis extender. The National Instruments VXI-MXI chassis extender is an example of an extended device.

VME devices that do not implement the VXIbus configuration registers do not have a VXI device class.

DMA | Direct Memory Access; a method by which data is transferred between devices and internal memory without intervention of the central processing unit. Generally, DMA is the fastest and most efficient method for transferring data.
DRAM | Dynamic RAM (Random Access Memory); storage that the computer must refresh at frequent intervals.

E

embedded controller | A computer plugged directly into the backplane of a PXI or VXI chassis. Some examples of embedded controllers are National Instruments PXI-8170 Series and VXIpc controllers.
extender | A device such as the VXI-MXI-2 or VME-MXI-2 that can map interrupt lines, trigger lines, or other signals into or out of a chassis.
external controller | A desktop computer or workstation connected to the VXI system via a MXI interface board. An example is a standard personal computer with a PCI-MXI-2 installed.

F

fair requester | An MXIbus master that does not arbitrate for the MXIbus after releasing it until it detects the bus request signal inactive. This ensures that all requesting devices are granted use of the bus.

G

GPIB General Purpose Interface Bus; the industry-standard IEEE 488 bus. The GPIB is a cable bus that connects computers to test equipment. Hewlett-Packard developed the original GPIB in the late 1960s to connect and control their line of programmable instruments (at Hewlett-Packard, the GPIB is called the HP-IB).

In 1975, the Institute of Electrical and Electronic Engineers (IEEE) published ANSI/IEEE Standard 488, IEEE Standard Digital Interface for Programmable Instrumentation, which contained the electrical, mechanical, and functional specifications of an interfacing system. This bus is now used worldwide and is known by the following names:

  • General Purpose Interface Bus (GPIB)
  • Hewlett-Packard Interface Bus (HP-IB)
  • IEEE 488 Bus

The IEEE committee later added a supplemental standard, IEEE 488.2, Codes, Formats, Protocols, and Common Commands, which extended the IEEE 488 specification. IEEE 488.2 defines a bus communication protocol, a common set of data codes and formats, and a generic set of common device commands. It also defines a standard set of instrument commands in the Standard Command for Programmable Instrumentation (SCPI) document.

GPIB became an industry standard for test and measurement systems. Because VXI was developed for this industry, many VXI devices use the IEEE 488.2 and SCPI commands.

GPIB-VXI/C debug mode | Loads the GPIB-VXI code instruments in a debug mode. Debugging a GPIB-VXI/C is described in detail in the GPIB-VXI/C User Manual. Normally, you should not place a GPIB-VXI/C into debug mode unless directed to do so by National Instruments technical support.

H

HP/Agilent VISA | Refers to the Hewlett-Packard/Agilent implementation of the VISA specification.

I

instrument driver | Instrument drivers are the tools for developing a system without programming the instruments themselves. By using instrument drivers, you do not need to learn any instrument command sets of data formatting routines. Instrument drivers contain high-level functions for specific instruments such as multimeters, scopes, and counters. Because the drivers have all the programming commands and data formatting routines for instruments, you can concentrate on developing systems rather than programming instruments.
interrupt | A means for a device to notify another device that an event occurred. This asynchronous event suspends normal activity and temporarily diverts activity to an interrupt handling function.
interrupt handler | A functional module that detects interrupt requests generated by interrupters and performs appropriate actions.

L

LabVIEW | LabVIEW is a graphical programming system designed for easy construction of sophisticated, user-defined instrumentation systems. It has the flexibility necessary to harness the high performance of VXI, along with a programming methodology that dramatically reduces application development time. LabVIEW is fully VXIplug&play compliant to give you the full benefits of VXIplug&play technology.
LabWindows/CVI | LabWindows/CVI is an integrated software system for rapid development, prototyping, and operation of test and measurement and data acquisition applications. It provides a full-function C programming environment for the Windows and Sun Solaris platforms. LabWindows/CVI applications are written in industry-standard program code, and are flexible, modular, extensible, and portable between either platform. National Instruments offers VXI/VME development systems for these two platforms that link the NI-VXI driver software into LabWindows/CVI to control VXI instruments from either embedded VXI/VME controllers or external computers equipped with a MXI interface. LabWindows/CVI is fully VXIplug&play compliant to give you the full benefits of VXIplug&play technology.
logical address | An 8-bit number that uniquely identifies the location of each VXIbus device's configuration registers in a system and indicates Commander and Servant relationships. The A16 register address of a device is C000h + Logical Address * 40h.
Logical Address 0 If a local device, such as the external controller, is configured at Logical Address 0, it is responsible for the following VXI Resource Manager operations at startup, as defined by the VXIbus specification:
  • Identifies all VXIbus devices in the system
  • Manages the system self-tests and diagnostic sequence
  • Configures the system's A24 and A32 address map
  • Configures the system's Commander/Servant hierarchies
  • Allocates the VMEbus IRQ lines
  • Initiates normal system operation

The Startup Resource Manager also has the following capabilities, which extend beyond the requirements of the VXIbus specification:

  • Multiple chassis support using standard VXIbus chassis extenders (such as the VXI-MXI-2)
  • Support for dynamically configured devices on a per-chassis basis
  • Integration of non-VXI (VME and pseudo-VXI) devices on a per-chassis basis using MAX.
longword | Data type of 32-bit integers. In Longword Serial Protocol, Commanders and Servants communicate with 32-bit data transfers instead of 16-bit transfers as in the standard Word Serial Protocol.

M

message-based communication | Message-based devices implement the defined VXIbus registers and communication protocols. These devices are able to use Word Serial Protocol to communicate with one another through communication registers, which are optional registers that register-based devices do not use. Message-based devices communicate at a very high level using ASCII characters, just like GPIB. The ASCII characters that you send to a message-based device must be in the device's specific language, but you do not need to be concerned with module-specific registers (that is, binary reading and writing). Many VXI message-based instruments are also SCPI-compatible.
MXI/MXI-2 The Multisystem eXtension Interface bus (MXIbus) is a multidrop parallel bus architecture designed for high-speed communication between devices. The MXIbus is a general-purpose gateway that you can use to communicate between two or more devices, such as personal computers, workstation computers, VXIbus chassis, VMEbus-based computers, stand-alone instruments, or modular instruments.

MXI-2 is the second generation of the National Instruments MXIbus product line. MXI-2 expands the number of signals on a standard MXIbus cable by including VXI triggers, all VXI interrupts, CLK10, SYSFAIL*, SYSRESET*, and ACFAIL*.

N

NI I/O Trace | The National Instruments utility that tracks an application's calls to NI-VISA, the NI-VXI API, and NI-488.2. You can use this logging utility to obtain a list of the functions the applications calls and quickly find which ones did not execute properly.
NI-VISA | NI-VISA is the native API for communicating with VXI/VME devices. NI-VISA is the National Instruments implementation of the VISA I/O standard, which is a common interface to many types of instruments (such as VXI, GPIB, PXI, serial, TCP/IP, etc.). NI-VXI is optimized for use through NI-VISA, and National Instruments recommends using NI-VISA to develop all new VXI/VME applications.
NI-VXI | NI-VXI is the software package that ships with National Instruments VXI controllers. NI-VXI includes Measurement & Automation Explorer (MAX), NI-VISA, NI I/O Trace, Resource Manager (Resman), VXI device drivers, and other utilities for configuring and controlling your VXI system.
NI-VXI API | The NI-VXI API is an optional development environment that is not part of the default NI-VXI installation. The NI-VXI API was developed before NI-VISA; while NI-VXI still supports the NI-VXI API, National Instruments recommends using NI-VISA for all new VXI/VME applications. 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.
non-Slot 0 Any slot in a VXI chassis except for the first slot.
Caution Installing a device configured as a non-Slot 0 device into Slot 0 can damage the device, the VXIbus backplane, or both.
nonprivileged access | One of the defined types of VMEbus data transfers; indicated by certain address modifier codes. Each defined VMEbus address space has a defined nonprivileged access mode.

P

peek | To read a single byte, word, or longword from a particular address. This can be accessed either through a direct dereference of a pointer or through the NI-VISA function viPeekX or NI-VXI API function VXIpeek.
pointer | A data structure that contains an address or other indication of storage location.
poke | To write a single byte, word, or longword to a particular address. This can be accessed either through a direct dereference of a pointer or through the NI-VISA function viPokeX or NI-VXI API function VXIpoke.
pseudo logical address | A number signifying an address that you can use to integrate VME devices with VXI devices. Because the Resource Manager does not configure VME devices, you must manually add the devices. You can choose a number in the range of 256 to 511 (255 and below are reserved for VXI devices). Enter other appropriate information into the various fields of the editor, and when you run Resource Manager, it can then properly configure the various device-specific VME address spaces and VME interrupt lines.

R

register-based communication | A register-based device is a Servant-only device that supports VXIbus configuration registers. These devices do not implement the optional communication registers that are required for message-based communication. Register-based devices are typically controlled by message-based devices via device-dependent register reads and writes. The obvious advantage of this is speed; register-based devices communicate literally at the level of direct hardware manipulation. There is no command string parsing overhead. The disadvantage is that each device is different and requires customized manipulation of registers. Thus, the instrument interface is not portable across instruments.
Resource Manager (Resman) | A message-based Commander, located at Logical Address 0, that provides configuration management services such as address map configuration, Commander and Servant hierarchy mappings, and self-test and diagnostic management. On system startup, the VXI System Controller executes the Resource Manager to automatically configure the entire system. This automatic startup configuration eases system integration. After the Resource Manager has executed, the system is ready to go. You can also execute the Resource Manager interactively at any time if you are reconfiguring system resources.

S

Servant | A device controlled by a Commander in the Commander/Servant Hierarchy. A Servant can itself be a Commander to Servant devices that are lower in the hierarchy.
shared memory | A block of memory that is accessible to both a client and a server. The memory block operates as a message buffer for communications.
Slot 0 The first slot in a VXI chassis. A device configured for installation in this slot is unique in the VXI system in that it performs the VMEbus System Controller functions, including clock sourcing and arbitration for data transfers across the backplane.
Caution Installing a device configured for Slot 0 into any other slot can damage the device, the VXI backplane, or both.
soft front panel (SFP) | See VXIplug&play soft front panel.
status/ID | A value returned during an IACK cycle. In VME, usually an 8-bit value which is either a status/data value or a vector/ID value used by the processor to determine the source. In VXI, a 16-bit value used as a data; the lower 8 bits form the VXI logical address of the interrupting device and the upper 8 bits specify the reason for interrupting.
supervisory access | One of the defined types of VMEbus data transfers; indicated by certain address modifier codes.
SYNC protocol The most basic trigger protocol, simply a pulse of a minimum duration on any one of the trigger lines.

You can assert a pulse for a minimum of 30 ns, followed by a minimum nonassertion period of 50 ns. There is no acknowledgment from the receiver(s). Any module can issue the triggering pulse, but the module cannot be sure that the pulse has been received.

system registry | The system registry is used to store persistent information by both the operating system and many programs. See your operating system documentation for more information.

T

trigger | Either TTL or ECL lines used for intermodule communication.

U

user window | A region of PCI address space reserved by the external controller or VXIpc series embedded controller for use via low-level function calls. The MapVXIAddress() and viMapAddress() functions use this address space to allocate regions for use by the VXIpeek()/VXIpoke() and viPeekXX()/viPokeXX() functions.

V

VIC/VICtext VXI Interactive Control program, a part of the NI-VXI API bus interface software. Used to program VXI devices, and develop and debug VXI application programs. It is also very useful for developing an understanding of how you can use the NI-VXI API to interact with your VXI devices. Called VICtext when used on text-based platforms.
Note The VIC utility is not part of the basic NI-VXI installation. However, if you want to use VIC, run the NI-VXI installer and select a "custom" installation instead of "typical". In the Select Features dialog box, enable the NI-VXI API Development option and continue as prompted. After you reboot, VIC is ready for use.
VISA VISA is a multivendor I/O software standard approved by the VXIplug&play Systems Alliance. It provides a common foundation for the development, delivery, and interoperability of high-level multivendor system software components, such as instrument drivers, soft front panels, and application software.

NI-VISA is the National Instruments VISA solution.

VISAIC | VISA Interactive Control (VISAIC) utility, a part of the NI-VISA interface software. You can use this utility to interact with devices using NI-VISA. This is very useful for developing and debugging VISA application programs. It is also very useful for developing an understanding of how you can use VISA to interact with your devices.
VME | Versa Module Eurocard or IEEE 1014.
VME64 protocol | Devices that support VME64 protocol can transfer data in 64-bit increments to double traditional VXI throughput to 80 Mbytes/s.
VXI | VMEbus Extensions for Instrumentation. Introduced by the VXIbus Consortium in 1987, the VXIbus (IEEE 1155) standard combines the best technology from GPIB instruments with modern computer bus architecture—VERSAbus Module Eurocard (VME). VXI uses a chassis with modular instruments on plug-in boards. Due to its VMEbus background, VXI features higher performance and more precise timing and synchronization between instruments. It is also smaller than GPIB rack-and-stack instruments. Yet unlike VME, VXI defines a standard communication protocol to certain devices. Through this interface, you can use common ASCII commands to control the instruments, just as with GPIB. The VXIbus specification is an extension of the VMEbus (IEEE 1014) specification. As an electromechanical superset of the VMEbus, the VXIbus uses the same backplane connectors as VME, the same board sizes, and the same signals defined in the VMEbus specification. The VXIbus adds two board sizes, changes module width, and defines additional signals on the backplane.
VXI embedded controller | A computer plugged directly into the backplane of a VXI chassis. An example is the National Instruments VXIpc series.
VXI signal | Any communication between message-based devices consisting of a write to a Signal register. Sending a signal requires that the sending device have VMEbus master capability.
VXI trigger | VXI triggers are a backplane feature that VXI added to the VME standard to achieve the required timing and signaling propagation between controllers and/or instruments. Every VXI board with a P2 connector has access to eight 10 MHz TTL trigger lines; if it has a P3 connector, it also has access to six 100 MHz ECL trigger lines. The VXIbus specification defines several trigger protocols that your application can use for device synchronization, for stepping through tests, or for a command path. The most basic protocols are SYNC, ASYNC, SEMI-SYNC, START/STOP, and ON/OFF.
VXIplug&play soft front panel | VXIplug&play-compliant instruments have software that can run without a programming environment and can produce a soft front panel (SFP). The SFP is a test application that represents and controls the instrument functions in an interactive way. They use a graphical interface and a mouse pointing device to manipulate simulated knobs, buttons, controls, and displays. You can use the SFP to check the operation of the instrument, verify and correct configuration and installation, and interact with the instrument.

W

window | All accesses to the VXI/VMEbus address spaces are performed by reads and writes to particular offsets within the local CPU address space, which are made to correspond to addresses on the VXI/VMEbus (using a hardware interface). Windows are the areas where the address space of the local CPU is mapped onto the VXI/VMEbus. The sizes and numbers of windows present vary depending on the hardware being used.
word | The standard number of bits that a processor or memory manipulates at one time. Microprocessors typically use 8-, 16-, or 32-bit words. Standard Word Serial Protocol defines a word as 16 bits.
word serial protocol | The simplest required communication protocol supported by message-based devices in the VXIbus system. It uses the A16 communication registers to perform 16-bit data transfers using a simple polling handshake method. All message-based devices are required to support this protocol. Word Serial Protocol transfers data messages to and from devices serially, one byte (or word) at a time through the device's communication registers.


How Do I...?

General Topics

Configuration

General Programming Issues


General Topics

Debug a VXI problem

Find out if my device has an instrument driver


Debug a VXI problem

Large VXI systems can be very complex, so your first task in debugging a VXI problem is to narrow the problem to as few variables as possible. For example, if you have a multichassis system, you may want to try to reproduce the problem with a single chassis. You may even need to pull instruments out of the system until you can narrow the problem to one or two instruments.

VISAIC and VIC are two very useful tools for isolating a problem. Reproducing a VXI problem using these utilities usually eliminates your application as the source of the problem. Using these interactive utilities, you can check basic communication with any instrument with the most basic interface to the driver.

Note The VIC utility is not part of the basic NI-VXI installation. However, if you want to use VIC, run the NI-VXI installer and select a "custom" installation instead of "typical." In the Select Features dialog box, enable the NI-VXI API Development option and continue as prompted. After you reboot, VIC is ready for use.

If you cannot reproduce the problem with VISAIC or VIC, use NI I/O Trace. NI I/O Trace is a powerful utility that can track every NI-VISA, NI-VXI, or NI-488.2 call you make. It highlights calls that return errors or warnings and displays all parameters sent to the driver so you can check their validity. NI I/O Trace can help you locate bugs quickly in large applications.

See also Debug a VXI program.


Find out if my device has an instrument driver

If your instrument driver is already installed, the utilities VISAIC and MAX may be able to find them. VISAIC and MAX try to find the instrument drivers on your system and launch their soft front panels.

Many instrument drivers are available on the National Instruments Web site.

If National Instruments does not have an instrument driver for your device, contact the manufacturer. Vendors who are members of the VXIplug&play Systems Alliance create many instrument drivers for their products.


Configuration

Assign an alias to my VISA device

Disable a VISA device

Verify my system is working properly

Install VXIplug&play software

Configure NI-VISA to operate with a Hewlett-Packard GPIB-VXI board

Configure NI-VISA to operate with a National Instruments GPIB-VXI/C

Configure NI-VISA to see multiple GPIB-VXI/C boards

Use VISAIC/VIC

Determine what version of software I have installed


Assign an alias to my VISA device

You can assign devices that support aliases by right-clicking on the device and selecting Rename from the pop-up menu.


Disable a VISA device

You can disable a VISA device by going to the General tab in the view and unchecking the Device enabled box.


Verify my system is working properly

If your device is not present in the system view in MAX, NI-VISA did not detect it. Remember that you must add the following types of devices to the system manually, using the Add Device wizard:

  • All TCP/IP resources
  • All Ethernet-based converters (for example, GPIB-ENET and Serial ENET)
  • All VME resources
  • GPIB-VXI controllers at locations other than primary address 1, secondary address 0

For VXI systems, you may also need to run the Resource Manager if you do not have it configured to run automatically.

If NI-VISA or the VXI Resource Manager detected any errors, the device icons are marked accordingly. To find out what is wrong, go to these marked devices and view the Troubleshooting information in the General tab.

After you are satisfied that MAX detected all your devices, you can test access to them. The Open VISA Test Panel command creates a session in the VISA Interactive Control and allows you to establish basic communication with your devices. How you test communication with a device varies. You can read the registers of VXI or PXI devices to establish contact. Many GPIB, VXI, and Serial devices respond to the *IDN? string, which you can send to a device using viWrite(). This 488.2 command queries for the identification string of a device that is returned through viRead().

See also See my GPIB devices and See my VXI devices.


Install VXIplugnplaySoftware

Install VXIplug&play software

VXIplug&play instrument drivers use a standard installer under Windows.

Use the File Manager or Windows Explorer to locate the setup.exe installation program for the instrument driver and double-click it. This runs the VXIplug&play installation program to install your driver files in their proper locations.

Typically, VXIplug&play instrument drivers install C source code, Windows Help files, a Win32 DLL, LabWindows/CVI Function Panels, KnowledgeBase files, and a stand-alone executable called a Soft Front Panel.

The source code, help files, and Soft Front Panel are installed in the <Drive>\VXIPNP\<Operating System>\<Instrument Name>\ path (for example, C:\VXIPNP\WinNT\HPE-1431\).

The DLLs are installed in <Drive>\VXIPNP\<Operating System>\bin\.

You can use the Soft Front Panel to quickly get started using your instrument.

LabWindows/CVI Function Panel files create a function panel tree in LabWindows/CVI. This useful structure contains a logical tree of the functions available in the DLL along with built-in help.

Of course, there are many functions built into the DLL that need to be formed into the final application.

A KnowledgeBase file is a hardware database containing useful specifications for an instrument. These might include operating specifications and capabilities.

In addition, the instrument driver may come with other files to help users program their instruments such as resource files or BASIC source code.

Finally, you may easily port a text-based instrument driver to LabVIEW. Simply use the Update VXIplug&play Drivers option under the File menu in LabVIEW. This checks your VXIPNP directory for installed VXIplug&play instrument drivers and converts them into a LabVIEW library containing all the functions listed in the LabWindows/CVI Function Panels. The Function Panels are converted to LabVIEW front panels, while each VI contains a Call Library Function to the DLL. The converted VIs are placed in your <Driver>\LabVIEW\Instr.lib directory. Under the Functions menu, these same VIs appear in the Instrument Library subpalette, ready for you to create an instrument driver. Notice that Convert CVI FP File under the File menu performs the same operations, except that the user must explicitly search for the DLL and FP files.


Configure NI-VISA to operate with an HP/Agilent GPIB-VXI board

To configure NI-VISA to operate with a non-National Instruments GPIB-VXI board, such as the HP1406, you need to add this device to your system manually in MAX. You can do this by right-clicking on Devices and Interfaces in the configuration tree and selecting Create New.... In the wizard, follow the instructions for entering the GPIB address (primary and secondary), VXI logical address, GPIB controller number (which GPIB plug-in board the GPIB-VXI/C is connected to), and the GPIB-VXI number. The GPIB-VXI board number should be unique in your system.

You should also make sure that the appropriate GPIB-VXI module for VISA is installed in your system. Contact the vendor of your GPIB-VXI controller for more information.


Configure NI-VISA to operate with a National Instruments GPIB-VXI/C

By default, the National Instruments GPIB-VXI/C is configured for primary address 1, secondary address 0. NI-VISA automatically detects it at this location. To use the GPIB-VXI/C with a different GPIB address, you need to add this device to your system manually in MAX. You can do this by right-clicking on Devices and Interfaces in the configuration tree and selecting Create New.... In the wizard, follow the instructions for entering the GPIB address (primary and secondary), VXI logical address, GPIB controller number (which GPIB plug in board the GPIB-VXI/C is connected to), and the GPIB-VXI number. The GPIB-VXI board number should be unique in your system.

If you have multiple GPIB-VXI controllers in your system, you need to configure only the ones that are not at the default GPIB address of primary address 1, secondary address 0.


Configure NI-VISA to see multiple GPIB-VXI/C boards

By default, the National Instruments GPIB-VXI/C is configured for primary address 1, secondary address 0. NI-VISA automatically detects it at this location. To use the GPIB-VXI/C with a different GPIB address, you need to add this device to your system manually in MAX. You can do this by right-clicking on Devices and Interfaces in the configuration tree and selecting Create New.... In the wizard, follow the instructions for entering the GPIB address (primary and secondary), VXI logical address, GPIB controller number (which GPIB plug-in board the GPIB-VXI/C is connected to), and the GPIB-VXI number. The GPIB-VXI board number should be unique in your system.

If you have multiple GPIB-VXI controllers in your system, you need to configure only the ones that are not at the default GPIB address of primary address 1, secondary address 0.


Use VISAIC/VIC

You can launch VISAIC from the Start»Programs»National Instruments»VISA menu. You can launch VIC from the Start»Programs»National Instruments»VXI»NI-VXI API menu.

Note The VIC utility is not part of the basic NI-VXI installation. If you want to use VIC, run the NI-VXI installer and select a "custom" installation instead of "typical." In the Select Features dialog box, enable the NI-VXI API Development option and continue as prompted. After you reboot, VIC is ready for use.

You can use these two programs to communicate with your devices interactively. You can use VISAIC to open a session to a VXI, GPIB, PXI, TCP/IP, or serial device. Once you open a session to the device, you can send and receive messages, view device attributes, and—if it is a VXI device—directly access the device's memory and registers.

VIC uses NI-VXI API functions to access the VXI bus. You can send and receive word serial messages using the WSwrt and WSrd functions, access device registers using VXIinReg and VXIoutReg, and directly access VXI memory space using VXIin and VXIout.

Both of these programs serve not only to establish initial communication with your devices, but also to verify that the NI-VISA and NI-VXI API libraries are correctly installed and functioning. If you cannot access a device with these utilities, chances are you cannot access it from your application. Once you determine how to access a device with VISAIC or VIC, you can use those same functions in your program.


Determine what version of software I have installed

In MAX, select System Information from the Help menu. Click on the System tab to display version information on currently installed National Instruments components including NI-VISA, NI-VXI, and T&M utilities.

You can also expand the Software category underneath My System in MAX and select a component to view its version in the right pane of MAX.

From VISAIC, select the About... option from the Help menu. This shows the version of NI-VISA that you are using, and also what version of the VISA specification it conforms to.

In addition, all of the 32-bit driver components have version resources. Under Windows Explorer, you can right-click any component and select the Properties option. This displays a property sheet with a Version tab. This tab has version information about the software and particular components.

You can also run the NI-VXI API utility program VIC and type ver at the prompt. The utility displays the versions of VIC and NI-VXI, and the latest board revision that this NI-VXI driver supports.


General Programming Issues

Handle VXI Interrupts (signals, triggers, and so on) using NI-VISA or the NI-VXI API

Communicate with register-based devices in NI-VISA or the NI-VXI API

Communicate with message-based devices in NI-VISA or the NI-VXI API

Convert a GPIB-VXI/C program from NI-488.2 to NI-VISA

Program a GPIB-VXI/C with VISA

Move a large block of data in NI-VISA or the NI-VXI API

Transfer data using VME64

Debug a VXI program

Write a VXI program in C

Write a VXI program in LabVIEW

Write a VXI program in Visual Basic


Handle VXI Interrupts (signals, triggers, and so on) using NI-VISA or the NI-VXI API

NI-VISA

NI-VISA provides two mechanisms to allow for flexible event handling: queuing and callbacks. The most common way to handle events is with the event queue. After opening a VISA session with viOpen(), you can enable the queue by calling viEnableEvent() and specifying VI_QUEUE as the mechanism. Later, you call viWaitOnEvent() to wait for and receive an event from the device associated with that session. If you prefer callbacks, first specify a callback handler with viInstallHandler() and then call viEnableEvent() with VI_HNDLR as the mechanism. The callback handler is invoked whenever the specified event type is received.

The available event types for the VXI interface include:

  • VI_EVENT_VXI_SIGP—for signals or 16-bit interrupts from VXI devices
  • VI_EVENT_VXI_VME_INTR—for 8-bit, 16-bit, or 32-bit interrupts from VXI or VME devices
  • VI_EVENT_TRIG—for sensing triggers from VXI devices

Most VXI devices generate 16-bit interrupts, so you can use either VI_EVENT_VXI_SIGP or VI_EVENT_VXI_VME_INTR—these are functionally equivalent. If a VXI device generates triggers, you must first specify in VI_ATTR_TRIG_ID the TTL or ECL trigger line to sense before calling viEnableEvent().

NI-VXI API

Note National Instruments recommends using NI-VISA, rather than the NI-VXI API, to develop your applications.

The most common way to handle asynchronous signals in the NI-VXI API is to use callback functions. These functions are invoked whenever a specified asynchronous signal is received. After initializing the library with InitVXIlibrary(), you can set up a callback function using one of the following functions:

  • SetVXIintHandler()—to handle VXI interrupts
  • SetSignalHandler()—to handle VXI signals
  • SetTrigHandler()—to handle VXI triggers

Then you must also enable the specific signal you are trying to detect using the following functions:

  • EnableVXIint()—to enable VXI interrupt lines
  • EnableSignalInt()—to enable VXI signals
  • EnableTrigSense()—to enable triggers

VXI interrupts and signals also require that you perform some routing. See the functions RouteSignal() and RouteVXIint() for more information. You should also look at the interrupt example in the NIVXI directory.

To use VXI triggers, read National Instruments Technical Note 40, Triggering with NI-VXI.


Communicate with register-based devices in NI-VISA or the NI-VXI API

Register-based devices are required to implement only the four basic VXIbus configuration registers, but most of these devices implement additional instrument-specific registers. There is no standard communication protocol for controlling register-based devices.

Each manufacturer must specify the pattern of register accesses that controls the specific functions of each device. Controllers communicate with register-based devices through register reads and writes in exactly the same way controllers communicate with VMEbus devices.

We have written examples of how to access VXI/VME address space directly using NI-VISA or the NI-VXI API. (National Instruments recommends using NI-VISA, rather than the NI-VXI API, to develop your application.) The VISA register-level communication examples, HighReg.c and LowReg.c, are in your vxipnp\win32\NIvisa\examples directory. The NI-VXI API examples are called VXIlow.c and VXIhigh.c. These files are in the NIVXI directory in the examples folder. VXIlow.c shows how to use MapVXIAddress() and VXIpeek()/VXIpoke(). VXIhigh.c uses the high-level calls, such as VXIin and VXIout.


Communicate with message-based devices in NI-VISA or the NI-VXI API

Message-based devices implement a second set of registers in addition to the VXIbus configuration registers. These registers, called VXIbus communication registers, are located within the 64-byte device configuration space. Word Serial Protocol, the defined communication protocol for message-based devices that is similar to the IEEE 488 protocol, is based on these VXIbus communication registers. All message-based devices, regardless of manufacturer, must follow the same procedure when using Word Serial Protocol for communication.

You can communicate with your VXI message-based devices using NI-VISA with the viRead() and viWrite() functions. Once you have opened a session to the message-based device that you want to communicate with, you can write message strings to it using viWrite() and read messages back from the device with viRead(). There is an example of how to do message-based communication in the VISA examples directory called RdWrt.c.

You can also use the NI-VXI API Word Serial functions. (National Instruments recommends using NI-VISA, rather than the NI-VXI API, to develop your application.) Wswrt() is the function you use to send a message string to a device with a particular logical address. Wsrd() is the function you use to receive a message from a device. An example of how to do message-based communication with the NI-VXI API is in the examples folder in the NI-VXI directory. Open the file called VXIws.c in Notepad.


Convert a GPIB-VXI/C program from NI-488.2 to NI-VISA

For controlling message-based VXI devices through a GPIB-VXI, the biggest difference between a program using NI-488 and one using NI-VISA is in the calls made at the beginning and the end. For register-based devices, the differences are more significant. This topic first discusses the basic changes common to both types of devices, then discusses some of the changes required for register-based programming.

For message-based programming, an NI-488 program would typically call ibdev() with the VXI device's primary and secondary GPIB addresses to get a handle to the specific device. In NI-VISA, a program calls viOpen() with the VXI device's logical address (which is a more natural address because the device is VXI) to get a handle to it. The calls to read and write blocks of data, as well as other IEEE 488 communications (such as reading status bytes and clearing buffers), have a one-to-one mapping between NI-488 and NI-VISA. One difference to be aware of is that when waiting for service requests, a VISA application must first be enabled for that event by using viEnableEvent(). At the end of the application, use viClose() instead of ibonl to close the device handle.

Register-based programming does not have a straightforward mapping. Because register accesses using the GPIB-VXI involve sending requests to the controller itself (using the local command set), NI-488 programs would use ibdev() with the GPIB-VXI controller's primary and secondary GPIB addresses. In NI-VISA, you call viOpen() with the VXI device's logical address—this is the same for both message-based and register-based devices and is a more natural and intuitive API—and VISA handles sending the necessary messages to the controller. For programming the device, the following NI-488 messages and NI-VISA operations are roughly equivalent:

NI-488 | NI-VISA
"Laddrs?" or "DLAD?" | viFindRsrc()
"RMentry?" or "DINF?" | viGetAttribute()
"Cmdr?" | viGetAttribute() with VI_ATTR_CMDR_LA
"LaSaddr?" | viGetAttribute() with VI_ATTR_GPIB_SECONDARY_ADDR
"Primary?" | viGetAttribute() with VI_ATTR_GPIB_PRIMARY_ADDR
"WREG" or "A16" | viOut16() with VI_A16_SPACE
"RREG?" or "A16?" | viIn16() with VI_A16_SPACE
"A24" | viOut16() with VI_A24_SPACE
"A24?" | viIn16() with VI_A24_SPACE
"SrcTrig" | viAssertTrigger()

Notice that with the INSTR register access operations viOut16() and viIn16(), you pass a device-relative offset in the specified address space. This is different from the GPIB-VXI's local command set, which accepts absolute addresses. If your application currently uses absolute addressing and you do not want to convert to device-relative offsets, you may consider the MEMACC resource, which accepts absolute addressing. You can use the operations viOut8() and viIn8() to perform 8-bit accesses, which is not a feature supported by the local command set. VISA also defines 32-bit operations and accesses to A32 space, but because these are not implemented by the GPIB-VXI itself, they return errors.

If you have used the DMAmove code instrument, you can now use the viMoveInxx() and viMoveOutxx() operations instead. They make use of the GPIB-VXI's DMA functionality, but require only a single operation call, instead of the multiple calls required to send the command and data blocks and then poll waiting for the operation to complete. Using VISA to move blocks of data also means that you no longer need to load the DMAmove code instrument, as NI-VISA automatically downloads a separate code instrument to handle these and other operations.

In summary, using NI-VISA to program VXI devices controlled by a GPIB-VXI is no different than if they are controlled with a native VXI controller such as an external controller or the VXIpc series. Although porting the code from NI-488 to NI-VISA is not simple in the case of register-based programming, the easier API and the compatibility with native VXI controllers should be worth the change.


Convert an NI-VXI API program to NI-VISA

For many applications controlling VXI devices, the biggest difference between a program using the NI-VXI API and one using NI-VISA is in the calls made at the beginning and the end. The most significant differences between the two APIs affect programs that route and handle events such as VXI triggers, interrupts, and signals. This topic first discusses the basic changes common to any NI-VXI API program, then discusses some of the specifics for register-based and event-handling programs.

One good resource for converting NI-VXI API programs to NI-VISA is the NI-VXI help, which includes a section about each group of VXI operations, sorted by functionality. (For example, one section discusses high-level register-based programming.) At the beginning of each group overview is a table listing the NI-VXI API and NI-VISA functions associated with that group's operations. You can use the table to match any NI-VXI API function with its NI-VISA equivalent.

Starting Your Application

Typically, an NI-VXI API program calls InitVXIlibrary() to begin the program, and then perhaps FindDevLA() to get the logical address of a specific device to begin communication. In NI-VISA, a program calls viOpenDefaultRM() to initialize NI-VISA, then viFindRsrc() to find the device and viOpen() to get a handle to it.

Performing VXI I/O

For a message-based VXI device, the calls to read and write blocks of data, as well as other message-based communications, have a simple mapping between NI-VXI and NI-VISA: WSwrt() becomes viWrite(), WSrd() becomes viRead(), etc. For Word Serial Servant functionality, use the SERVANT resource in NI-VISA.

Likewise, register-based I/O is performed using NI-VISA functions that are very similar to their NI-VXI API counterparts: viInX() instead of VXIin(), viMoveX() instead of VXImove(), etc. In general, NI-VISA attributes control access parameters from the NI-VXI API. Note also that a VISA session to a given device provides automatic offsets and bounds checking: If you require absolute addressing, use a session to the VISA MEMACC resource. Low-level register-based I/O operations such as MapVXIAddress() and VXIpeek() are also provided in VISA, with corresponding functions like viMapAddress() and viPeekX(). In NI-VISA, only one mapped region is allowed per session; open multiple sessions to a given device to map multiple regions for low-level access.

Asserting and Handling Events

NI-VISA provides operations such as viAssertIntrSignal(), viAssertTrigger(), etc. to support the same functionality offered by AssertVXIint(), SrcTrig(), etc. in the NI-VXI API. These functions may use a VISA attribute to replace a feature provided by a parameter of the corresponding NI-VXI API operation.

The difference between the NI-VISA API and the NI-VXI API is most noticeable when programming to handle events such as VXI interrupts, signals, and triggers. The functions to enable and disable events are quite similar: NI-VISA provides viEnableEvent() and viDisableEvent() to correspond to the NI-VXI APIs proliferation of Enable...()/ Disable() functions such as EnableSignalInt(), etc.

You can use both APIs to receive events asynchronously with a handler (also known as a callback) or to put the event into a queue. In NI-VISA, viInstallHandler() and the VI_HNDLR mechanism for viEnableEvent() indicate that a callback should be used, versus VI_QUEUE for queued events. This corresponds to the NI-VXI API list of Set...Handler() functions such as SetVXIintHandler(), etc., and the RouteSignal() function, which allows signals to be routed to a queue. Retrieving events from a queue is very similar: viWaitOnEvent() replaces WaitForSignal() and related functions.

You can also use both APIs to handle VXI interrupts and signals together, with NI-VISA providing the VI_EVENT_VXI_SIGP event type (which combines interrupts and signals) and NI-VXI providing the RouteVXIint() operation.

Closing Your Application

At the end of the application, use viClose() to close the handle to device, and viClose() again on the default resource manager session to shut down NI-VISA, instead of CloseVXIlibrary().

In summary, using NI-VISA instead of the NI-VXI API to control VXI devices will seem very natural for most applications. Although porting the code from NI-VXI to NI-VISA is not always completely straightforward, the easier and more powerful API and VISA's ability to provide compatibility across interfaces should be worth the change.

Note Some functionality, such as 48-bit Extended Word Serial protocol commands and SEMI-SYNC triggers, is available only in the NI-VXI API. If you require this functionality in your VISA program, contact National Instruments. We would like to hear more about your application and help you find a VISA-oriented solution.


Program a GPIB-VXI/C with NI-VISA

You program a GPIB-VXI/C using the same function calls you would use to program any instrument in NI-VISA. You can perform message-based communication using viWrite() and viRead(). You can perform register-based communication using viInX(), viOutX(), viMoveInX(), and viMoveOutX() functions. See also Communicate with message-based devices in NI-VISA or the NI-VXI API and Using NI-VISA.


Move a large block of data in NI-VISA or the NI-VXI API

The most efficient way to move a block of data is to use viMoveX() in NI-VISA or VXImove() in the NI-VXI API. (National Instruments recommends using NI-VISA, rather than the NI-VXI API, to develop your application.) You can find an example of how to use these functions in the NI-VISA and NI-VXI API examples directories. The NI-VISA example is in the vxipnp\win32\Nivisa\examples directory and is called HighReg.c. The NI-VXI API example in the nivxi\win32\examples directory is called VXIblock.c.

Optimizing Large VXIbus Transfers

For best performance, keep the following in mind when using viMove() or VXImove():

  • Make sure your buffers are 32-bit aligned.
  • Transfer 32-bit data whenever possible.
  • Use VXI block access privileges to significantly improve performance to devices that can accept block transfers, and likewise use D64 access privileges for devices that can accept the VME64 64-bit data transfer protocol.
  • To optimize move performance on virtual memory systems such as the Windows operating system, lock the user buffer in memory yourself so the move operation does not need to lock the buffer.
  • To optimize move performance on paged memory systems such as the Windows operating system, use a contiguous buffer so the move operation does not need to build a scatter-gather list for the user buffer.
Note viMemAlloc() or VXImemAlloc() returns 32-bit aligned, page-locked, continuous buffers that work efficiently with the move operations.


Transfer data using VME64

NI-VISA supports VME64 by setting the appropriate attribute (VI_ATTR_SRC_ACCESS_PRIV or VI_ATTR_DEST_ACCESS_PRIV) using viSetAttribute(). Then you can call viMoveX() to transfer the data.

Note National Instruments recommends using NI-VISA, rather than the NI-VXI API, to develop your applications.

You can do a VME64 block transfer using the NI-VXI API function VXImove(). By setting bits 2 to 4 to 110 (for a nonprivileged access; for a privileged access, use 111), VXImove() issues VME64 block cycles to the specified address. Only certain devices can accept VME64 transfers. You should check the specifications of a particular instrument to see if it supports VME64.

See also Move a large block of data in NI-VISA or the NI-VXI API.


Debug a VXI program

Perhaps the best way to debug a VXI program is using the NI I/O Trace utility. Launch NI I/O Trace and configure it to log your function calls. Now when you run your program, NI I/O Trace logs all your calls to NI-VISA, the NI-VXI API, or NI-488.2. It highlights any functions that return errors, and you can check the parameters that get passed into any of these functions.

If a device is not behaving the way you would expect it to, you can debug many problems using VISAIC or VIC. You can use these utilities to interact with your devices without writing a program. This way you can make sure your techniques for communicating with a device are sound without worrying about your application being written correctly. Once you can establish communication, you can use the same calls you made in VISAIC or VIC in your program.


Write a program in C

Write a VXI program in C

Using instrument drivers

Using NI-VISA


Using Instrument Drivers - C

Using instrument drivers (in C)

You can use VXIplug&play instrument drivers under Windows in the following supported C compilers: LabWindows/CVI, Microsoft Visual C++, and Borland C++.

The distribution disk of a WIN framework instrument driver contains the C source code files (.C and .H), a function panel file (.FP) that describes the graphical panels associated with the instrument driver, a DLL file (.DLL) which is a compiled version of the driver, and a Windows help file (.HLP).

To use the functions of the instrument driver, you must include the .H file in your C code. Unless you are using LabWindows/CVI, you need to link in the compiler-specific import library (.LIB) file to your project and copy the .DLL file to the Windows/System or WinNT/System directory.

Your program's first task is to initialize the connection to the instrument by calling the INITIALIZE function. One of the outputs of the INITIALIZE function is an Instrument ID, which is essentially a handle to the instrument. Once you have initialized your instrument connection, you can then either use the high-level APPLICATION functions, which perform complete measurement operations, or the lower-level COMPONENT functions, which give you more granularity in controlling the instrument's operation. At the end of your program, you should use the CLOSE function to close the connection to the instrument.

An important feature to take advantage of when using your VXIplug&play instrument driver is the online help included with the driver. The help describes each component of the driver and shows a hierarchical outline of its components.


Using NI-VISA - C

Using NI-VISA (in C)

NI-VISA supports the following C compilers under Windows: LabWindows/CVI, Microsoft Visual C++, and Borland C++. Reference the appropriate examples for each compiler. The examples are in the vxipnp\win95\NIvisa\examples or vxipnp\winNT\NIvisa\examples\ directory. The basic flow of a NI-VISA program is the same under any compiler.

The first function you should call is viOpenDefaultRM(). This initializes NI-VISA and gives you a handle to the VISA Resource Manager that you need in later functions calls. To access an instrument, you obtain a handle to it using viOpen(). You then can set up any asynchronous event handlers that your program may need, then perform your accesses to all your instruments. When you are done, you should call viClose() on each instrument handle and the Resource Manager handle. Be sure to #include visa.h so that all your NI-VISA functions are declared.

Unless you are using LabWindows/CVI, you need to link in the compiler-specific import library visa32.lib. LabWindows/CVI takes care of this step.

See also Communicate with message-based devices in NI-VISA or the NI-VXI API.


Write a program in LabVIEW

Write a VXI program in LabVIEW

Using instrument drivers

Using NI-VISA


Using Instrument Drivers - LabVIEW

Using instrument drivers (in LabVIEW)

LabVIEW can use both GWIN Framework instrument drivers and WIN Framework instrument drivers. If you have a GWIN driver for your instrument, you have access to block diagram source code from within LabVIEW. When you use a WIN driver in LabVIEW, the connection to the driver is accomplished via a DLL interface, so you do not have block diagram source code. But you do have native LabVIEW VIs, complete with front panels, icons, help information, and block diagrams (that call the DLL) for each function of the driver.

The first task your program should do is to initialize the connection to the instrument by calling the INITIALIZE function. One of the outputs of the INITIALIZE function is an Instrument ID, which is essentially a handle to the instrument. Once you have initialized your instrument connection, you can then use either the high-level APPLICATION Functions, which perform complete measurement operations, or the lower-level COMPONENT functions, which give you more granularity in controlling the instrument's operation. At the end of your program, you should use the CLOSE function to close the connection to the instrument.

To use a GWIN instrument driver in LabVIEW, you need the following files and software:

  • LabVIEW version 5.0 or later for Windows
  • VISA32.DLL version 2.01 or later
  • instr_name.LLB
  • instr_name.HLP

The instrument driver VIs can be loaded just as any other LabVIEW VIs.

To use a WIN instrument driver in LabVIEW, you need the following files and software:

  • LabVIEW version 5.0 or later for Windows
  • VISA32.DLL version 2.01 or later
  • instr_name.DLL
  • instr_name.H
  • instr_name.HLP
  • instr_name.LLB

WIN drivers are written in C using LabWindows/CVI. So, before you can use a WIN instrument driver in LabVIEW, you must use LabVIEW to convert the driver into LabVIEW VIs automatically. Launch LabVIEW and select File»Convert CVI FP File... (LabVIEW 5.x) or Tools»Instrumentation»Import CVI Instrument Driver (LabVIEW 6.x). You are prompted for both the .FP and .DLL files. Once you have converted a WIN instrument driver into a LabVIEW library (.LLB file), you can use the VIs like any other LabVIEW VIs.

Take advantage of the online help when using your VXIplug&play instrument driver. The help describes each component of the driver and shows a hierarchical outline of its components. When using LabVIEW, you can use the standard Windows Help system to access the instrument's Windows Help file.


Using NI-VISA - LabVIEW

Using NI-VISA (in LabVIEW)

Examples of VXI programs written in LabVIEW using NI-VISA are in the examples\instr\visa directory.

The first VI you should call in your program is VISA Open. This VI opens a communication channel with an instrument. This communication channel is known as a session and is used throughout the rest of your VISA program to keep the unique communication and attribute settings of that instrument. You need to call the VISA Open VI for each instrument you want to communicate with. Once the sessions are open, you can set up any asynchronous event handlers that your program may need, and then perform your accesses to your instruments. When you are done, call the VISA Close VI on each session and event object.

You can use the Simple Error Handler VI to perform error checking and display errors when they occur.


Write a program in Visual Basic

Write a VXI program in Visual Basic

Using NI-VISA


Using NI-VISA - Visual Basic

Using NI-VISA (in Visual Basic)

You must include the VISA32.BAS module in your Microsoft Visual Basic (version 4.0 or higher) application project file. This module is in the vxipnp\win95\include or vxipnp\winNT\include directory and contains the NI-VISA function prototypes for interfacing with the dynamic link library VISA32.DLL and VISA-specific constant definitions.

The VXI Visual Basic examples using VISA are in the ni-vxi\win32\vb\examples directory. You can use them as a reference to get started with your program.

The first function you should call is viOpenDefaultRM(). This initializes NI-VISA and gives you a handle to the VISA Resource Manager that you need in later function calls. After opening a session to the VISA Resource Manager, you can call viFindRsrc() to find out what instruments are available to open a session to. To access an instrument, open a session to it using viOpen(). Once the sessions to the instruments are open, you can set up any asynchronous event handlers that your program may need, and then perform your accesses to all your instruments. When you are done, call viClose() on each instrument handle and on the Resource Manager handle.

If you are writing an instrument driver, you should also include the module VPPTYPE.BAS in your application project file. This file is the VXIplug&play instrument driver header file and is in the vxipnp\win95\include or vxipnp\winNT\include directory.


Why Can't I

Configuration Questions

Programming Questions

Troubleshooting


Configuration Questions

See my GPIB devices

See my Serial devices

See my VXI devices

Communicate with my GPIB-VXI/VXI devices?

Have the Resource Manager configure my VME devices

Share more than 8 MB of memory in A24 space

Use HP-VISA and NI-VISA on the same system


See my GPIB devices

There are several reasons why you may not be able to see your GPIB devices. First of all, you must have NI-488.2 correctly installed on your system. NI-VISA attempts to find all devices attached to the system. Some devices cannot be detected dynamically (particularly devices that do not respond to the find all listeners GPIB command).


See my Serial devices

There are several reasons why you may not be able to see your serial devices. First of all, you must have NI-VISA correctly installed on your system. NI-VISA attempts to find all serial ports attached to the system. Ports are listed even if a device is not attached. Some ports cannot be detected dynamically (particularly parallel ports). To allow NI-VISA to see these devices, you must statically add them to the configuration. For serial ports on LabVIEW RT systems, you also need NI-Serial for LabVIEW RT installed.


See my VXI devices

If you are using a GPIB-VXI to access your VXI chassis, see How do I communicate with my GPIB-VXI/VXI devices.

If you are using an external or embedded VXI controller to access the VXI bus, you must have NI-VXI correctly installed on your system. The configuration utility uses the NI-VXI Resman utility to detect and configure your VXI devices. If Resman reports an error, your system may not be configured correctly.

If you have a device that should be detected, make sure that the chassis is turned on and that the instrument appears to be functioning. Check the MAX configuration view for warning or error messages. Resource conflicts between devices can cause Resman to fail. If you are using MXI-2 or the VXI-8340 series, make sure that the cable is securely attached on all ends, and (for MXI-2) that the correct end of the cable is plugged into your chassis. Verify this by checking that the label on the MXI-2 cable is closest to the MXI bus system controller.

Also, Resman cannot detect VME devices. If your system contains VME devices, you need to add these to the system manually.


Have the Resource Manager configure my VME devices

The Resource Manager configures the system as defined by the VXI specification by reading and writing the VXI-defined configuration registers. VME devices do not have these configuration registers, so Resource Manager does not know how to configure them.

To configure your system correctly to work with VME devices, you need to add them to the system manually. Your devices are then visible to NI-VISA, the NI-VXI API, and our utilities. This also prevents resource conflicts between VXI devices and your VME devices, allows the utility to notify you of potential conflicts, and correctly configures any VME-MXI-2 extenders.


Communicate with my GPIB-VXI/VXI devices?

If you are using a GPIB-VXI to access your VXI chassis, you must have NI-VISA correctly installed on your system. NI-VISA cannot automatically find GPIB-VXI boards that are not set to GPIB primary address 1 and GPIB secondary address 0. If you have a GPIB-VXI board with GPIB settings other than these, you must manually add it to the system.


Share more than 8 MB of memory in A24 space

The VXI specification allows any particular device to request no more than half of the address space in which its memory resides. Because A24 space is only 16 MB, the most memory any device can request from Resource Manager is 8 MB.


Use HP-VISA and NI-VISA on the same system

HP-VISA and NI-VISA define the same API, but the implementation of each VISA function is different. Having both implementations of VISA on the same system would confuse your application. For example, when you call viOpen from LabVIEW, LabVIEW accesses whichever VISA driver that it finds.


Programming Questions

Call MapVXIAddress() or viMapAddress()

Call VXImemAlloc() or viMemAlloc()


Call VXIMapAddress()

Call MapVXIAddress() or viMapAddress()

Note National Instruments recommends using NI-VISA, rather than the NI-VXI API, to develop your applications.

MapVXIAddress or viMapAddress can fail if the size of your user window is set to zero or is less than the size of the window you are trying to map. You can check the size of your user window by right-clicking on your external controller or VXIpc embedded controller and selecting Hardware Configuration. The size of this window should exceed the sum of the sizes of the windows you are trying to map.

Check the sample code that illustrates how to use MapVXIAddress() and viMapAddress(). The NI-VISA sample code is in the vxipnp\win32\Nivisa\examples directory and is called LowReg.c. The NI-VXI API code, VXIlow.c, is in the nivxi\win32\msc(borlandc)\examples\ directory.


Call VXImemAlloc() or viMemAlloc()

Note National Instruments recommends using NI-VISA, rather than the NI-VXI API, to develop your applications.

VXImemAlloc or viMemAlloc fail if it cannot allocate and lock down the amount of physical memory you request in the size parameter. If you are using shared memory, you can check these settings by right-clicking on your external controller or VXIpc embedded controller and selecting Hardware Configuration. The system on which you are sharing memory must not be set to A16 only. You can share system memory only in A24 or A32 space. The amount of memory you are sharing should be set large enough to handle all the memory you may want to allocate.

The amount of memory that you are sharing must be greater than the amount you are trying to allocate with VXImemAlloc() or viMemAlloc(). You must also reserve an amount of memory equal to or greater than the amount you are trying to allocate by setting the Reserve physical memory field in the Shared Memory page.

There is sample code that shows how to use VXImemAlloc and viMemAlloc(). The NI-VISA sample code is in the vxipnp\win32\Nivisa\examples directory and is called ShareSys.c. The NI-VXI API code, VXImem.c, is in the nivxi\win32\msc(borlandc)\examples\ directory.

Note Not all controllers support shared memory. For more information about shared memory support, refer to the documentation for your controller.


Troubleshooting

Device Busy

Device Disabled

Device Missing Functionality

Device Offline

Device OK

Device State Unknown

Device Static


Device Busy

This device is busy, and VISA cannot communicate with it. If this device is a COMM port, it may be in use with a modem, a mouse, or some other device. You may want to disable this device so that VISA does not try to open it in the future.

If you think this device should not be busy, try closing all applications or restarting Windows to kill any applications that may be using the device.


Device Disabled

MAX could not determine the state of this device because it has been disabled. Disabled devices are not visible from VISA or your application. If the device is present in your system, and you want to use it, you can re-enable it by checking the Device enabled box in the properties dialog.


Device Missing Functionality

This device may be missing some functionality. You may not experience any problems using this device if your application does not require the unavailable functionality.


Device Offline

This device has failed its self-test and has been forced offline. You can try resetting the device and re-executing Resource Manager. If that does not help, contact the device vendor to find out more information.


Device OK

This device is working properly. You should be able to communicate with it.


Device State Unknown

Sometimes VISA cannot determine the state of a device. Devices that cannot be found dynamically or devices that do not implement a protocol for determining status would fall into this category.


Device Static

MAX could not determine the state of this device because you statically added it to your system. VISA cannot dynamically detect static devices, and thus MAX cannot query for the device state.


Why Would I/When Do I

Use NI-VISA vs. the NI-VXI API

Use NI-VISA vs. HP/Agilent VISA

Use low-level VXI access calls (use viMapAddress())

Use high-level VXI access calls

Use viMove() or VXImove()

Turn off ibln in VISA

Not auto detect GPIB-VXI/C boards in VISA

Call viClose()


Use NI-VISA vs. the NI-VXI API

National Instruments recommends using NI-VISA, rather than the NI-VXI API, to develop your VXI/VME applications. Both APIs can perform message-based communication with VXI instruments, do high- and low-level communication over the VXI backplane, perform block transfers, and handle asynchronous events. However, NI-VXI (that is, the software package that ships with National Instruments controllers and includes utilities such as Measurement & Automation Explorer and Resman) is optimized for use through NI-VISA.

If you are using GPIB or serial instruments, or if your VXI instruments are connected via a GPIB-VXI/C, you probably want to use NI-VISA because the API is interface independent. The calls you use to send messages to GPIB instruments are the same as those used to send messages to VXI instruments. NI-VISA also supports asynchronous I/O operations, whereas the NI-VXI API does not.

The NI-VXI API supports certain legacy instruments and behaviors that NI-VISA does not support, such as RORA interrupters and asynchronous notification of bus errors (note that VISA does report bus errors from high-level bus access functions).

You can use both interfaces in the same program, though it is not recommended unless you need functionality from both APIs. You should not try to handle asynchronous events with both languages. If you need to handle asynchronous events, such as VXI interrupts or triggers, you should choose one API and use that for all asynchronous operations.


Use NI-VISA vs. HP/Agilent VISA

Whether you use NI-VISA or HP/Agilent VISA depends on the manufacturer of your GPIB and VXI controllers. The difference between NI-VISA and HP/Agilent VISA is in the interface to the hardware. If you are using National Instruments VXI and GPIB controllers, you should use NI-VISA. HP/Agilent VISA would not know how to communicate with a National Instruments board such as an external controller, for example. Conversely, if you are using an HP GPIB or VXI controller, you should use HP/Agilent VISA. You cannot use a GPIB controller board and a VXI controller from a different manufacturer together with VISA. The API for HP/Agilent VISA and NI-VISA is the same, however; thus, to the programmer there is no difference when writing code for one or the other.

You may use National Instruments and Hewlett-Packard GPIB-VXI controllers with either implementation of VISA. When using a GPIB-VXI in your system, the manufacturer of the GPIB controller board determines which VISA you should use.


Use low-level VXI access calls (use viMapAddress())

Low-level VXI access functions provide the lowest level interface to the hardware and result in the best peek/poke performance, but are not as easy to use as high-level functions. viMapAddress() maps a window in your virtual address space to a portion of the VXI address space. You then have direct access to the memory on your backplane, but you are also responsible for managing the context of that window, checking for bus errors, and making sure you don't read/write beyond the boundaries of your window.

Many people use low-level calls when they shouldn't. If an area of your VXI address space is not time critical, do not map a window to it. Instead, communicate with those devices using the high-level calls. Also, many people place viPeekX()/viPokeX() calls in a loop to transfer blocks of data. This is usually not the most efficient method of doing block transfers. Instead, use the block transfer function viMoveX() to perform this task.

Should you choose to use low-level access calls in your program, you should look at the examples National Instruments provides.


Use high-level VXI access calls

High-level VXI calls are the easiest way to establish register-level communication with VXI devices. You should use high-level calls whenever possible. If this is your first time programming in VXI, National Instruments recommends starting with high-level commands. If your application does speed-critical peeks and pokes, you may want to consider using the low-level access calls.


Use viMove() or VXImove()

You should use viMoveX() (NI-VISA) or VXImove() (NI-VXI API) if you are transferring large blocks of data across the VXI backplane. (National Instruments recommends using NI-VISA, rather than the NI-VXI API, to develop your applications.) viMoveX() and VXImove() are the fastest ways to transfer a block of data because they take advantage of many features in the driver and in the hardware that are otherwise unavailable. Both of these functions can transfer data from contiguous blocks of memory and from FIFO queues.

See also Move a large block of data in NI-VISA or the NI-VXI API.


Turn off ibln in VISA

Certain NI-VISA calls (such as viClear() and viAssertTrigger()) perform an extra check using ibln() to confirm device presence. To further optimize the performance of your application, you can disable this feature in MAX.

From the Tools menu, select NI-VISA»VISA Options to bring up options you can configure in NI-VISA.


Not auto detect GPIB-VXI/C boards in VISA

If you have a device at PA1 SA0 that is not a GPIB-VXI and does not respond to *IDN?, disable auto detection.

From the Tools menu, select the NI-VISA»VISA Options to bring up options you can configure in NI-VISA.


Call viClose()

This is the NI-VISA termination routine, which must be included at the end (or abort) of any application. You should call viClose() on any instrument handles that you have opened once you are done accessing that instrument. Calling viClose() on the Resource Manager handle disables interrupts and frees dynamic memory allocated for the internal Resource Manager table and other structures. Although you attempt to perform clean-up operations, failure to call viClose() on the Resource Manager handle when terminating your application can cause unpredictable and undesirable results. If your application can be aborted from some operating system abort routine, be certain to install an abort/close routine that calls viClose() on outstanding handles.


Context_Help

This window displays context-sensitive help. Move the cursor over a control or indicator for more information about it.


.topic 65569
Specifies the baud rate for this port. If you are unsure what the value should be, consult your hardware documentation, or use the default value.

.topic 65568
Specifies the port binding for the serial/parallel device. Use the dropdown list to select an alternate serial/parallel port.

.topic 65570
Specifies the data bits for this port. If you are unsure what the value should be, consult your hardware documentation, or use the default value.

.topic 65573
Specifies the flow control for this port. If you are unsure what the value should be, consult your hardware documentation, or use the default value.

.topic 65571
Specifies the parity for this port. If you are unsure what the value should be, consult your hardware documentation, or use the default value.

.topic 65572
Specifies the stop bits for this port. If you are unsure what the value should be, consult your hardware documentation, or use the default value.

.topic 65536
Displays the name of the device you are configuring

.topic 132184
Device Properties Serial dialog box

Use this dialog box to view or configure the serial port binding, baud rate, data bits, parity, stop pits, and flow control settings for the highlighted serial device.

.topic 132187
Device Properties VXI dialog box

Use this dialog box to view or configure the logical address, manufacturer and model name, and location of the highlighted VXI device.

.topic 65584
Logical address of the VXI device. Each device in the system must have a unique logical address. The Resource Manager device must have Logical Address 0.

.topic 65585
Manufacturer name of the VXI device.

.topic 65586
Model name of the VXI device.

.topic 65587
Designates the chassis in which the VXI device is located.

.topic 65588
Designates the slot number where the VXI device is located in the specified frame.

.topic 132186
Device Properties Resources dialog box

Use this dialog box to view, add, or modify resource settings of the highlighted device and to troubleshoot resource conflicts.

.topic 65600
Resource Settings box where you can view, add, or modify the resource settings of the VXI device.

.topic 65601
Displays information about resource conflicts with the specified VXI device.

.topic 65602
Troubleshoot button. Click here for information about resource conflicts with the VXI device.

.topic 132185
Device Properties VME dialog box

Use this dialog box to enter information about your VME device so that the Resource Manager can integrate it into the VXI system.

.topic 65616
Pseudo logical address of the VME device. Assign a unique logical address (between 256 and 511) from the dropdown list to all VME devices you want to add to the VXI system.

.topic 65617
Manufacturer name of the VME device. Although the manufacturer names and model names typically do not correspond to those for VXI devices, the NI-VXI software uses this information to associate symbolic manufacturer and model names with the device.

.topic 65619
Manufacturer's model name of the VME device. Although the manufacturer names and model names typically do not correspond to those for VXI devices, the NI-VXI software uses this information to associate symbolic manufacturer and model names with the device.

.topic 65618
Click here to view a list of possible manufacturer names. If you do not see the manufacturer name of the specified VME device, type the name in the Manufacturer box.

.topic 65620
Click here to view a list of possible model names. If you do not see the model name of the specified VME device, type the name in the Model box.

.topic 65621
Name of the VXI or VME chassis where the specified VME device is located. This information should be the same as the frame that also contains either the parent-side extender device (in either an external CPU or multiple-chassis case) or the embedded controller (in an embedded CPU case).

.topic 65622
Slot number in the VXI or VME chassis where the specified VME device is located.

.topic 65632
Resource Settings list for the specified VME or VXI device.

.topic 132178
General preferences page in Preferences dialog box

Use this page to set startup checks and views.

.topic 65648
Check this box if you want the system startup procedure to check if VXI configuration information is up to date.

.topic 65633
Use the Add button to add a new or modified entry to the alphabetical list of entries in the Resource Settings box.

.topic 65634
Use the Delete button to remove the selected entry from the Resource Settings box.

.topic 65635
Use the Edit button to modify a selected entry in the Resource Settings box.

.topic 65636
Displays information about resource conflicts with the specified VME device.

.topic 65637
Troubleshoot button. Click here for information about resource conflicts with the specified VME device.

.topic 65649
Check this box if you want the system startup procedure to search for any dynamic GPIB devices in the system.

.topic 65650
Check this box if you want the system startup procedure to search for any dynamic serial resources in the system.

.topic 65651
Check this box if you do not want disabled devices to show up in any views of the system.

.topic 65652
Check this box if you want the Connection View to show all MXIbus connections.

.topic 132179
The Resource Manager page in the Preferences dialog box

Use this page to assign Resource Manager startup options.

.topic 65664
Check this box if you want the Resource Manager to run automatically at each computer startup.

.topic 65665
Check this box if you want a dialog box to come up during startup that indicates the progress of the Resource Manager startup operations.

.topic 65666
Check this box if you want MAX to start automatically if errors are detected during startup.

.topic 65667
This field specifies the time (in seconds) that the Resource Manager waits before accessing any other VXI or VME device's A16 configuration registers.

Note: This field is applicable only for the device that is the Resource Manager.

.topic 133077
The NI-VISA page in the Preferences dialog box

Use this page to set NI-VISA options to be performed automatically.

.topic 65680
Use this option to enable or disable invocation of the ibln NI-488 function. Ibln is invoked to test the device state during asynchronous read and write operations and trigger, poll, and clear operations.

.topic 65681
Use this option to set the amount of time VISA waits between automatic polls for SRQ on a GPIB device. Allowable values range from 50 to 1000 ms. This applies only when using a 16-bit GPIB driver with the NI-488.2 compatibility driver. For the native 32-bit GPIB driver, this value is ignored.

.topic 65682
Use this option to enable or disable automatic detection of GPIB-VXI controllers in a system. By disabling this option, only statically added GPIB-VXI controllers are detected.

.topic 65683
This option loads the GPIB-VXI code instrument in debug mode.

.topic 132181
Device Properties General dialog box

Use this page to view or modify general characteristics of your device and to troubleshoot problems.

.topic 65537
This field indicates the device type, such as message-based device or register-based device.

.topic 65539
This field shows the address string used to uniquely identify a VISA resource.

.topic 65540
This box displays the current status of the specified device.

.topic 65541
Click on this button for help with troubleshooting problems with your device.

.topic 65542
Use this box to enable or disable a device in your system manually.

.topic 131073
Device Properties GPIB dialog box

Use this page to view or edit the primary and secondary addresses of the GPIB device and identify the location of the controller device on the GPIB bus.

.topic 65552
Primary address of the GPIB device.

.topic 65553
Secondary address of the GPIB device.

.topic 65554
Specifies the location of the controller device on the GPIB bus.

.topic 132175
Model Name Editor dialog box

Use this editor to update the list of model names, along with their associated manufacturer names and ID numbers.

.topic 65712
Specifies the manufacturer name of your device.

.topic 65714
Press the New button to add an entry to the list of model names.

.topic 65715
Press the Change button to modify the selected entry in the list of model names.

.topic 65716
Press the Delete button to remove the selected entry from the list of model names.

.topic 65713
Lists all the current entries of model names.

.topic 132174
Manufacturer Name Editor dialog box

Use this editor to update the list of manufacturer names and ID numbers.

.topic 65696
Lists all the current entries of manufacturer names.

.topic 65697
Press the New button to add an entry to the list of manufacturer names.

.topic 65698
Press the Change button to modify a selected entry in the list of manufacturer names.

.topic 65699
Press the Delete button to remove the selected entry from the list of manufacturer names.

.topic 132173
Pop-up box where you can make changes to the selected entry.

.topic 65728
Displays the currently selected entry, or you can add a new name at this time.

.topic 65729
Displays the currently selected entry, or you can add a new number code at this time.

.topic 132183
Device Properties GPIB dialog box

Use this page to edit the primary and secondary addresses of the GPIB device and identify the location of the controller device on the GPIB bus.

.topic 132172
About dialog box

Click on the Software Info button to get version information about all components in the software.

.topic 132198
Unassigned VME Devices dialog box

Use this dialog box to view the VME devices that belong in frames that no longer exist. Use the Troubleshoot button to assign the devices to valid frames.

.topic 132200
Interrupt Handlers dialog box

Use this dialog box to view a list of interrupt handlers, which you can configure by using the Edit button.

.topic 66686
Displays the interrupt handler assignment for this frame.

.topic 66687
Click on the Edit button to change interrupt handler assignments for this frame.

.topic 131214
Configure VXI Device dialog box

Use this box to configure any device in your system using an available editor.

.topic 66672
Select the logical address of the device.

.topic 66673
Select an editor to use to configure the device.

.topic 131219
Interrupt Handlers dialog box

Use this dialog box to assign interrupt lines to devices.

.topic 66683
Check this option if you want the interrupt handler to automatically assign interrupt lines at startup.

.topic 66685
Check this option if you want the interrupt handler to assign a specific interrupt line to the device at this logical address.

.topic 132191
Add Device Wizard for serial devices

Use this dialog box to uniquely identify this serial device by defining its attributes so that MAX can add it to the system.

.topic 66541
Identifies the serial device.

.topic 66542
Identifies the serial port binding for this device.

.topic 132192
Add Device Wizard Alias page

Use this dialog box to assign a device name and resource name.

.topic 65745
Specify which resource to access by using a string that describes the resource.

.topic 65744
Specify the name of the device to be added to the VISA system.

.topic 132196
Add Device Wizard for VXI devices

Use this dialog box to assign manufacturer and model names to the selected device.

.topic 66619
Displays the name of the device to which you want to assign a manufacturer name and model name.

.topic 66622
Use the scroll list to select the manufacturer name of your VXI or VME device.

.topic 66623
Use the scroll list to select the manufacturer's model name of your VXI or VME device.

.topic 132193
Add Device Wizard for GPIB devices

Use this dialog box to uniquely identify this GPIB device by defining its primary and secondary addresses.

.topic 66585
Specify the primary address of this GPIB device.

.topic 66593
Specify the secondary address assigned to this GPIB device.

.topic 66554
Specify the identifying number of this GPIB controller.

.topic 132194
Add Device Wizard for GPIB-VXI devices

Use this dialog box to uniquely identify this GPIB-VXI device by defining its device number and VXI logical address.

.topic 66555
Specify the board number for this GPIB-VXI device.

.topic 66556
Specify the logical address for this GPIB-VXI.

.topic 132195
Add Device Wizard for VME devices

Use this dialog box to assign VXI characteristics to your VME device so it can be added to the system and treated as a VXI device.

.topic 66625
Assign a pseudo logical address to this VME device. The allowable range is from 256 to 511.

.topic 66675
Select the frame where this VME device is located.

.topic 66627
Select the slot in the frame where this VME device is located.

.topic 132197
Add Device Wizard for VXI resources

Use this dialog box to add, edit, or delete resources used by this VXI or VME device.

.topic 132177
Add Device Wizard Start page

Use this dialog box to select the type of device you want to add to your system.

.topic 66571
Select the type of device you want to add to your system from this list.

.topic 132176
Add Device Wizard Finish page

Use this dialog box to conclude this Add Device Wizard session. Click the Finish button to create the new device in your system.

.topic 132199
Signal Mappings dialog box

Use this page to configure signal mapping for this device.

.topic 66676
Select the signal group to map for this device.

.topic 66677
Displays the current signal mapping for this device.

.topic 66678
Click the Edit button if you want to modify the signal mapping for this device.

.topic 66544
Displays an icon to represent the type of device.

.topic 66668
Click the >> button to see the next device status message. If there are no further messages, this button is disabled.

.topic 66667
Click the << button to see the previous device status message. If the currently displayed message is the first message, this button is disabled.

.topic 66550
Click here to display the hardware settings of the selected device.

.topic 66606
Click here to see a list of the software components and their version numbers.

.topic 132182
Device Properties GPIB dialog box

Use this page to view the primary and secondary addresses of the GPIB device and identify the location of the controller device on the GPIB bus.

.topic 65684
Use this option to enable or disable automatic retry if a GPIB-VXI controller is not detected.

.topic 65685
Use this option to set the minimum ASYNC transfer value. Allowable values are 16 to 65535.

.topic 132210
Device Properties PXI dialog box

Use this page to view the manufacturer and model name for your PXI device, along with its bus, device, and function numbers.

.topic 73728
Bus number of the PXI device.

.topic 73729
Device number of the PXI device.

.topic 73730
Function number of the PXI device.

.topic 73744
The resource names and VISA aliases of all devices in your system.

.topic 73745
Select a device name and click here to edit an existing VISA alias for that device.

.topic 73746
Click here to create a new VISA alias for a device.

.topic 73747
Click here to delete the VISA aliases for all devices.

.topic 73760
Type in the resource name of the device to which you want to assign an alias.

.topic 73761
Type in the alias you want to assign to the device.

.topic 133076
Add Alias dialog box

Use this dialog box to assign an alias to a device in your system. Type in the resource name and alias and click on OK to assign the alias.

.topic 133074
VISA Alias Editor dialog box

Use this dialog box to create, modify, or delete VISA aliases for devices in your system.

To assign a new alias to a device, select the device name and click on Edit Alias. To modify an existing alias, select the device name and click on Add Alias to display the Add Alias dialog box. To delete all aliases, click on Clear All Aliases. When you finish, click OK to save your changes.

.topic 73731
Manufacturer name of the PXI device.

.topic 73732
Model name of the PXI device.

.topic 131174
Passport Registry Editor dialog box

Use this dialog box to add, remove, enable, or disable VISA library passports. Check or uncheck a passport in the list to enable or disable it. Click on Add to add a passport to the list. To remove a passport, select it and click on Remove.

.topic 73776
Displays a list of VISA library passports in your system. Check or uncheck a passport to enable or disable it.

.topic 73777
Click here to add a VISA library passport to the list.

.topic 73778
Select a VISA library passport and click here to remove it from the list.

.topic 73779
After adding, removing, enabling, or disabling a VISA library passport, click here to apply the change to the list. Press <F5> to refresh MAX after applying your changes.

.topic 65574
This section controls the settings for this port.

.topic 133081
Device Properties General dialog box

Use this page to view general characteristics of your device and assign a VISA alias.

.topic 65543
Specifies a VISA alias to the device. Applications on your local system can use this alias.

.topic 131318
VXI Options dialog box

Use this dialog box to configure VXI Resource Manager to run on startup and configure the NI-VXI 2.0 emulation layer.

.topic 73792
These options onfigure the VXI Resource Manager.

.topic 73793
Click here to run VXI Resource Manager on startup. Checking this box causes Resource Manager to run on all VXI systems connected to the computer on startup.

.topic 73794
Click here to display the progress bar when running VXI Resource Manager.

.topic 73795
Configures the NI-VXI 2.0 emulation layer.

.topic 73796
Selects the device you use with the NI-VXI 2.0 emulation layer.

.topic 73797
Click here to select the device you use with the NI-VXI 2.0 emulation layer.

.topic 73798
Sets the prioritized signal logical address.

.topic 73799
Displays the prioritized signal logical address.

.topic 73800
Click here to set the prioritized signal logical address.

.topic 131316
VME Profiles dialog box

Use this dialog box to edit VME profiles. A VME profile describes general characteristics and resource settings for a VME device in your VXI system, such as manufacturer, model name, and address range.

.topic 73824
Select the VME profile you want to edit from this list of available profiles.

.topic 73825
Press this button to display the Properties dialog box for a VME profile.

.topic 73826
Press this button to display the Copy VME Profile dialog box.

.topic 73827
Press this button to display the Rename VME Profile dialog box, which you can use to rename a VME profile.

.topic 73828
Press this button to delete a VME profile.

.topic 73808
The name of the VME profile you are copying or renaming.

.topic 73809
Type in the new VME profile name and press OK.

.topic 133085
VME Profile Properties General dialog box

Use this page to view or modify general characteristics of your device and to troubleshoot problems.

.topic 73840
Displays the name of the VME profile you are configuring.

.topic 73841
The VME profile icon.

.topic 133084
VME Profile Properties Resources dialog box

Use this dialog box to view, add, or modify resource settings of the highlighted device and to troubleshoot resource conflicts.

.topic 73845
This window lists the resource types and settings for the VME profile. Click on a resource type to delete or edit it.

.topic 73843
Displays the manufacturer name for the device associated with this VME profile.

.topic 73844
Displays the model name for the device associated with this VME profile.

.topic 133086
VXI System Settings dialog box

Use this dialog box to change the system number and Resource Manager delay and hide MXI buses on this system.

.topic 73856
Changes the system number of the VXI system.

.topic 73857
Changes the Resource Manager delay.

.topic 73858
Hides MXI buses on this system.

.topic 65603
Tells which VME profile represents the hardware settings for the VME device.

.topic 133082
VXI System Interrupt Levels dialog box

Use this dialog box to assign handlers for interrupts and map interrupts between frames automatically.

.topic 73872
Chooses the device that handles the interrupt.

.topic 73873
Chooses whether the interrupt is mapped toward or away from the root device.

.topic 73874
Brings up a dialog box for configuring your interrupt handlers and mappings.

.topic 73842
Tells which VXI systems the selected VME profile has been added to as a VME device.

.topic 133090
VISA Options Security dialog box

Use this dialog box to view the list of remote clients that have access to your VISA server, or to specify which clients have access to the VISA resources on your machine.

.topic 73888
The remote access list displays a list of a remote machine's permission levels to access VISA resources on this machine. An empty list means no remote client can access any resources on this machine. If there are duplicate entries in this list, the remote machine has the permission level of the latter entry.

.topic 73889
This box contains a choice of three permission levels for the selected remote address.

.topic 73890
This field displays the currently selected remote address for which you are editing permissions.

.topic 73891
Choose this permission level to give the remote client full access to your VISA resources, including the ability to configure its default settings and open VISA sessions to the resource.

.topic 73892
Choose this permission level to give the remote client access to open VISA sessions to your VISA resources, but not allow the client to configure the resource's default settings.

.topic 73893
Choose this permission level to deny the remote client access to your VISA resources. The client cannot find resources on your machine or open sessions to any resources on your machine.

.topic 73894
Click on this button to add a new entry to your remote access list and assign a permission for that client on your server.

.topic 73895
Click on this button to remove the selected remote address from your remote access list. Deleting a remote address does not necessarily revoke that client's access to your server if the remote address appears in another place on the list.

.topic 73896
Click on this button to change the remote address for an entry.

.topic 133088
NI-VISA Client Preferences General dialog box

Use this dialog box to view your preferences for accessing a remote VISA server.

.topic 73904
Check this box to enable viFindRsrc to search for resources on this remote system when using a search string that does not specify only local resources.

.topic 133091
NI-VISA Server Properties General dialog box

Use this dialog box to view properties for NI-VISA on the remote server.

.topic 73920
This field displays the remote address of the computer with the VISA server you are accessing.

.topic 73921
Click on this button to view your client preferences for accessing this remote server.

FIFO buffer support for the 16550 UART chip in the serial port properties improves performance of high-speed modems. If you are experiencing data loss, overrun errors, or other connection problems, you can try lower FIFO buffer settings or you can clear the option.

.topic 73952
Specifies the host name or IP address of the device.

.topic 73953
Specifies the port number of the device.

.topic 73954
Specifies the LAN device name of the device. The LAN Device name is often "inst0" or "gpib0,1".

.topic 73955
Click to test whether NI-VISA can access the resource. The device needs to be powered on and connected to the network.

.topic 73956
Click to look for VXI-11 resources (TCP/IP LAN instruments) on the local subnet.

.topic 73968
Lists the VXI-11 resources found on the local subnet.

.topic 73969
This display shows status information about the most recent action performed.

.topic 73970
Click to refresh the list of VXI-11 resources. This will take a few seconds to search the local subnet.

.topic 73971
Closes the dialog box and selects the highlighted VXI-11 resource.

.topic 73972
Closes the dialog box without selecting a VXI-11 resource.

.topic 65687
Use this option when finding devices to return only PXI/PCI devices that are registered with VISA, such as a device with a driver created using the VISA Driver Development Wizard.

.topic 65688
Use this option when finding devices to return any PXI/PCI device that is accessible to VISA.  The list of devices will include all PXI/PCI devices registered with VISA, as well as other PXI/PCI devices VISA can access.

.topic 74032
Displays information about resource conflicts with the specified device.

.topic 74031
Resource Settings box where you can view the resource settings of the device.

.topic 74030
Troubleshoot button. Click here for information about resource conflicts with the device.

.topic 65544
Specifies a VISA alias to the device on the remote system. Applications targeted to the remote system can use this alias.

.topic 74000
The settings below are currently used by VISA. Choose this option to select these settings and also apply them to Windows.

.topic 74001
The settings below are currently used by Windows. Choose this option to select these settings and also apply them to VISA.

.topic 74002
Specifies the baud rate for this port. This value is currently the setting used by VISA.

.topic 74003
Specifies the data bits for this port. This value is currently the setting used by VISA.

.topic 74004
Specifies the flow control for this port. This value is currently the setting used by VISA.

.topic 74005
Specifies the parity for this port. This value is currently the setting used by VISA.

.topic 74006
Specifies the stop bits for this port. This value is currently the setting used by VISA.

.topic 74010
Specifies the baud rate for this port. This value is currently the setting used by Windows.

.topic 74011
Specifies the data bits for this port. This value is currently the setting used by Windows.

.topic 74012
Specifies the flow control for this port. This value is currently the setting used by Windows.

.topic 74013
Specifies the parity for this port. This value is currently the setting used by Windows.

.topic 74014
Specifies the stop bits for this port. This value is currently the setting used by Windows.

.topic 74040
Specifies the port number that the NI-VISA server listens on. Allowable values are 0 to 65535.

.topic 74041
Restores the NI-VISA server port number to the default value of 3537.

.topic 74042
Enables the NI-VISA server to run on startup.

.topic 74043
Click here to start the NI-VISA server now.

.topic 74050
Displays a list of available remote systems. Checking a remote system enables VISA to search that system when finding resources.

.topic 74051
Click here to create a remote VISA system that is not already present in the list.

.topic 74052
Select a remote system and click here to change the port number used to connect to the remote system. This value should be the same port number that the NI-VISA server on that system is listening on.


About dialog box

Click the Software Info button to get version information about all components in the software.


Add Device Wizard Alias page

Use this dialog box to assign a device name and resource name.


Add Device Wizard Finish page

Use this dialog box to conclude this Add Device Wizard session. Click the Finish button to create the new device in your system.


Add Device Wizard for GPIB devices

Use this dialog box to uniquely identify this GPIB device by defining its primary and secondary addresses.


Add Device Wizard for GPIB-VXI devices

Use this dialog box to uniquely identify this GPIB-VXI device by defining its device number and VXI logical address.


Add Device Wizard for serial devices

Use this dialog box to uniquely identify this serial device by defining its attributes so that MAX can add it to the system.


Add Device Wizard Start page

Use this dialog box to select the type of device you want to add to your system.


Add Device Wizard for VME devices

Use this dialog box to assign VXI characteristics to your VME device so it can be added to the system and treated as a VXI device.


Add Device Wizard for VXI devices

Use this dialog box to assign manufacturer and model names to the selected device.


Add Device Wizard for VXI resources

Use this dialog box to add, edit, or delete resources used by this VXI or VME device.


Add Alias dialog box

Use this dialog box to assign an alias to a device in your system. Type in the resource name and alias and click OK to assign the alias.


VISA Alias Editor dialog box

Use this dialog box to create, modify, or delete VISA aliases for devices in your system.

To assign a new alias to a device, select the device name and click Edit Alias. To modify an existing alias, select the device name and click Add Alias to display the Add Alias dialog box. To delete all aliases, click Clear All Aliases. When you finish, click OK to save your changes.


Device Properties Serial dialog box

Use this dialog box to view or configure the serial port binding, baud rate, data bits, parity, stop bits, and flow control settings for the highlighted serial device.


Configure VXI Device dialog box

Use this box to configure any device in your system using an available editor.


Interrupt Handlers dialog box

Use this dialog box to assign interrupt lines to devices.


Pop-up box where you can make changes to the selected entry

Edit Entry

Pop-up box where you can make changes to the selected entry.


General preferences page in Preferences dialog box

Use this page to set startup checks and views.


Device Properties General dialog box

Use this page to view or modify general characteristics of your device and to troubleshoot problems.


Device Properties GPIB dialog box

Use this page to view or edit the primary and secondary addresses of the GPIB device and identify the location of the controller device on the GPIB bus.


Manufacturer Name Editor dialog box

Use this editor to update the list of manufacturer names and ID numbers.


Model Name Editor dialog box

Use this editor to update the list of model names, along with their associated manufacturer names and ID numbers.


Device Properties General dialog box

Use this page to view general characteristics of your device and assign a VISA alias.


Device Properties GPIB dialog box

Use this page to view the primary and secondary addresses of the GPIB device and identify the location of the controller device on the GPIB bus.


Device Properties GPIB dialog box

Use this page to edit the primary and secondary addresses of the GPIB device and identify the location of the controller device on the GPIB bus.


Interrupt Handlers dialog box

Use this dialog box to view a list of interrupt handlers, which you can configure by using the Edit button.


VXI System Interrupt Levels dialog box

Use this dialog box to assign handlers for interrupts and map interrupts between frames automatically.


Signal Mappings dialog box

Use this page to configure signal mapping for this device.


NI-VISA Client Preferences General dialog box

Use this dialog box to view your preferences for accessing a remote VISA server.


NI-VISA Server Properties General dialog box

Use this dialog box to view properties for NI-VISA on the remote server.


VME Profile Properties General dialog box

Use this page to view or modify general characteristics of your device and to troubleshoot problems.


VME Profile Properties Resources dialog box

Use this dialog box to view, add, or modify resource settings of the highlighted device and to troubleshoot resource conflicts.


VXI System Settings dialog box

Use this dialog box to change the system number and Resource Manager delay and hide MXI buses on this system.


Unassigned VME Devices dialog box

Use this dialog box to view the VME devices that belong in frames that no longer exist. Use the Troubleshoot button to assign the devices to valid frames.


Device Properties PXI dialog box

Use this page to view the manufacturer and model name for your PXI device, along with its bus, device, and function numbers.


Passport Registry Editor dialog box

Use this dialog box to add, remove, enable, or disable VISA library passports. Check or uncheck a passport in the list to enable or disable it.


The Resource Manager page in the Preferences dialog box

Use this page to assign Resource Manager startup options.


VISA Options Security dialog box

Use this dialog box to view the list of remote clients that have access to your VISA server, or to specify which clients have access to the VISA resources on your machine.


The NI-VISA page in the Preferences dialog box

Use this page to set NI-VISA options to be performed automatically.


VME Profiles dialog box

Use this dialog box to edit VME profiles. A VME profile describes general characteristics and resource settings for a VME device in your VXI system, such as manufacturer, model name, and address range.


Device Properties VME dialog box

Use this dialog box to enter information about your VME device so that the Resource Manager can integrate it into the VXI system.


VXI Options dialog box

Use this dialog box to configure VXI Resource Manager to run on startup and configure the NI-VXI 2.0 emulation layer.


Device Properties VXI dialog box

Use this dialog box to view or configure the logical address, manufacturer and model name, and location of the highlighted VXI device.


Device Properties Resources dialog box

Use this dialog box to view, add, or modify resource settings of the highlighted device and to troubleshoot resource conflicts.


Serial Binding

Identifies the serial port binding for this device.


ASRL Number

Identifies the serial device.


Device Type

Select the type of device you want to add to your system from this list.


Device Name

Displays the name of the device to which you want to assign a manufacturer name and model name.


Device Name

Specify the name of the device to be added to the VISA system.


Frame

Select the frame where this VME device is located.


GPIB Controller Number

Specify the identifying number of this GPIB controller.


GPIB-VXI Number

Specify the board number for this GPIB-VXI device.


Logical Address

Specify the logical address for this GPIB-VXI.


Manufacturer Name

Use the scroll list to select the manufacturer name of your VXI or VME device.


Model Name

Use the scroll list to select the manufacturer's model name of your VXI or VME device.


Primary Address

Specify the primary address of this GPIB device.


Pseudo Logical Address

Assign a pseudo logical address to this VME device. The allowable range is from 256 to 511.


Resource Name

Specify which resource to access by using a string that describes the resource.


Secondary Address

Specify the secondary address assigned to this GPIB device.


Slot

Select the slot in the frame where this VME device is located.


Alias

Type in the alias you want to assign to the device.


Resource Name

Type in the resource name of the device to which you want to assign an alias.


Add Alias

Click this button to create a new VISA alias for a device.


List of Resources and Aliases

The resource names and VISA aliases of all devices in your system.


Clear All Aliases

This deletes the VISA aliases for all devices. Unless you re-enter aliases, you will need to use traditional VISA resource names (for example, ASRL1::INSTR) in your application.


Rename Alias

Select a device name and click this button to edit an existing VISA alias for that device.


Validate

Click to test whether NI-VISA can access the resource with the specified configuration.


Assign to Logical Address

Check this option if you want the interrupt handler to assign a specific interrupt line to the device at this logical address.


Change Port...

Select a remote system and click this button to change the port number used to connect to the remote system. This value should be the same port number that the NI-VISA server on that system is listening on.


Editor

Select an editor to use to configure the device.


Logical Address

Select the logical address of the device.


Store Conflict Setting For All Interface Types

Check this box to store the information about the chosen VISA for all interface types, even when there is no conflict. If this box is unchecked, information regarding the chosen VISA for an interface type is stored only if there are multiple VISA implementations that can handle that interface type. If a new VISA is installed that can open a resource of an interface type that only one VISA could open previously, and this box is unchecked, either of these VISAs could be chosen for the interface type the next time a resource of that type is opened.


Set All To Preferred

Apply the preferred VISA as the chosen VISA for each conflict if the preferred VISA can handle that interface type.


Remove All Conflicts

Remove all conflicts from the list.


List of interface types and chosen VISA

All the interface types known to the Conflict Manager are listed here, along with the VISA currently chosen for each interface type. Click an interface type and choose a different VISA for it from the drop-down list. The chosen VISA is the only VISA used to open all the resources of the given interface type.


Disable VISA

Disable the VISA implementation currently selected in the list. If this VISA is the preferred VISA, another VISA is selected as the preferred VISA. All interface types that currently have this VISA as the chosen VISA have another VISA chosen for them if possible or are removed from the Conflict Manager settings.


Enable VISA

Enable the VISA implementation currently selected in the list.


Preferred VISA

You can set one of the enabled VISA implementations in your system as the preferred VISA. For any resource that you try to open, if it does not already have a chosen VISA, and the preferred VISA can open it, the preferred VISA is the chosen VISA for that resource.


Remove Conflict

Removes the currently selected conflict from the list. This button does not remove the VISA from the system and does not disable the interface. It removes only the association made between the given interface type and its chosen VISA implementation. The next time any resource of this interface type is opened, a new VISA is chosen from the list of currently enabled VISAs. If the preferred VISA can open resources of this interface type, it is the new chosen VISA.


Installed VISA implementations

This control lists all implementations of VISA detected in the system.


Conflict Manager Error

The Conflict Manager settings could not be loaded.


Create New System...

Click this button to create a remote VISA system that is not already present in the list.


Device Icon

Displays an icon to represent the type of device.


Device Name

Displays the name of the device you are configuring.


Entry Code

Displays the currently selected entry, or you can add a new number code at this time.


Entry Name

Displays the currently selected entry, or you can add a new name at this time.


Force peek/poke calls to appear in NI I/O Trace

Enabling this feature forces applications to use the low-level peek/poke register-based functions instead of dereferencing a pointer. Forcing an application to call the functions allows NI I/O Trace to capture the calls in its list. You should normally leave this option deselected, because enabling it could impact performance.


Device enabled

Use this box to enable or disable a device in your system manually.


Go

Clicking this button launches the application you chose to search for and download the driver for your device.


Instrument Driver Finder (IDFinder)

This section lets you search for and download instrument drivers for your device. Select whether you want to use the Instrument Driver Finder (IDFinder) in LabVIEW to search for and download a driver or browse the Instrument Drivers Network (IDNet) to search for a driver for your device.


LabVIEW Version

This drop-down lists all LabVIEW versions detected on the system that support IDFinder. Select the LabVIEW version you want to use to download the driver. The downloaded driver is installed automatically in the appropriate location for the chosen LabVIEW version.


Next message

Click the >> button to see the next device status message. If there are no further messages, this button is disabled.


Previous message

Click the << button to see the previous device status message. If the currently displayed message is the first message, this button is disabled.


IDFinder

Choose this radio button to use IDFinder in LabVIEW to search for and download a driver. Clicking the Go button with this option chosen launches the IDFinder for the LabVIEW version you selected in the drop-down below. This method downloads only LabVIEW-based drivers for the device. The downloaded driver installs automatically for the LabVIEW version you select in the drop-down.


IDNet

Choose this radio button to browse for all drivers on the Instrument Drivers Network (ni.com/idnet). Clicking the Go button with this option chosen launches a browser with the IDNet page loaded. Use this method to search for and download drivers for development environments such as LabVIEW, LabVIEW Real-Time, LabWindows/CVI, etc. You must manually install the driver to a suitable location to use it from your development environment.


Hardware Configuration

Click this button to modify the hardware settings of the selected device.


Device Status

This box displays the current status of the specified device.


Troubleshooting

Click this button for help with troubleshooting problems with your device.


Device Type

This field indicates the device type, such as message-based device or register-based device.


GPIB Controller Number

Specifies the interface number of the GPIB system on which this device or controller is located.


Primary Address

Primary address of the GPIB device.


Secondary Address

Secondary address of the GPIB device.


Edit

Click the Edit button to change interrupt handler assignments for this frame.


LAN Device Name

Specifies the LAN device name of the device. The LAN Device name is often "inst0" or "gpib0,1".


Change

Click the Change button to modify a selected entry in the list of manufacturer names.


Delete

Click the Delete button to remove the selected entry from the list of manufacturer names.


Manufacturer Names

Lists all the current entries of manufacturer names.


New

Click the New button to add an entry to the list of manufacturer names.


Edit

Click the Edit button if you want to modify the signal mapping for this device.


Signal Group

Select the signal group to map for this device.


Signal Mapping

Displays the current signal mapping for this device.


Change

Click the Change button to modify the selected entry in the list of model names.


Delete

Click the Delete button to remove the selected entry from the list of model names.


Model Names

Lists all the current entries of model names.


Manufacturer Name

Specifies the manufacturer name of your device.


New

Click the New button to add an entry to the list of model names.


Apply

After adding, removing, enabling, or disabling a VISA library passport, click this button to apply the change to the list. Click <F5> to refresh MAX after applying your changes.


Remove

Select a VISA library passport and click this button to remove it from the list.


Auto find every GPIB-VXI

If enabled, NI-VISA automatically detects controllers at the default GPIB-VXI address (primary 1, secondary 0) for each GPIB board. If disabled, NI-VISA detects only statically added GPIB-VXI controllers. Disable this option if you have a device at that address that does not support "*IDN?".


Auto Poll Time

Use this option to set the amount of time VISA waits between automatic polls for SRQ on a GPIB device. Allowable values range from 50 to 1000 ms. This applies only when using a 16-bit GPIB driver with the NI-488.2 compatibility driver. For the native 32-bit GPIB driver, this value is ignored.


Use ibln to test device state

Use this option to enable or disable invocation of the ibln NI-488 function. Ibln is invoked to test the device state during asynchronous read and write operations and trigger, poll, and clear operations.


Retry after failure

Use this option to enable or disable automatic retry if a GPIB-VXI controller is not detected.


Enable GPIB-VXI Debug mode

This option loads the GPIB-VXI code instrument in debug mode.


Minimum Async Transfer

Allowable range is 16 to 65535. If a Passport natively supports asynchronous transfers, NI-VISA ignores this option. For other Passports, NI-VISA creates a thread when the transfer count crosses this threshold.


Show all PXI/PCI devices accessible to VISA

Use this option when finding devices to return any PXI/PCI device that is accessible to VISA. The list of devices will include all PXI/PCI devices registered with VISA, as well as other PXI/PCI devices VISA can access.


Show only PXI/PCI devices registered with VISA

Use this option when finding devices to return only PXI/PCI devices that are registered with VISA, such as a device with a driver created using the VISA Driver Development Wizard.


PCI Bus Number

Specifies the bus number of the PXI/PCI device. This corresponds to the physical PCI bus that the device is on.


PCI Device Number

The physical PXI/PCI device number. This is an arbitrary number assigned by the operating system based on the specific system configuration.


Chassis

Designates the chassis in which the PXI device is located.


PCI Function Number

The logical device number. This is used when a single physical PXI/PCI device contains more than one logical device.


Local Bus Left

The slot number or special feature connected to the local bus left lines of this device.


Local Bus Right

The slot number or special feature connected to the local bus right lines of this device.


Manufacturer

Manufacturer name and vendor identification number of the PXI/PCI device.


Model

Model name and device identification number of the PXI/PCI device.


Slot

Designates the physical slot location where the PXI device is located in the chassis. If the slot number is not known, or you have not identified the PXI chassis, this value is –1.


Slot Path

Specifies the slot path of this PXI device. A slot path describes the PCI bus hierarchy in a manner independent of the PCI bus number. PXI slot paths are a sequence of values representing the PCI device number and function number of a PCI module and each parent PCI bridge that routes the module to the host PCI bridge (bus 0).


Trigger Bus

The trigger bus number of this device.


Remote server hostname

This field displays the remote address of the computer with the VISA server you are accessing.


Conflicting device list

Displays information about resource conflicts with the specified device.


Resource settings

Resource Settings box where you can view the resource settings of the device.


Troubleshoot

Troubleshoot button. Click this button for information about resource conflicts with the device.


Chassis

Designates the chassis in which the RIO device is located.


Manufacturer

Manufacturer name and number of the RIO device.


Model

Model name and number of the RIO device.


PCI Bus Number

Specifies the PCI bus number of the RIO device.


PCI Device Number

Specifies the PCI device number of the RIO device.


PCI Function Number

Specifies the PCI function number of the RIO device.


Serial Number

Serial number of the RIO device.


Slot

Designates the physical slot location where the RIO device is located in the chassis. If the slot number is not known, or you have not identified the chassis, this value is –1.


Receive Buffer

Adjusts the receive FIFO buffer size. Typically, larger buffer sizes improve computer performance by reducing the number of interrupts required to receive large amounts of data. Smaller sizes can help correct problems such as buffer overflows and reduce the system latency to receive small amounts of data.


Baud rate

Sets the rate, in bits per second (bps), that you want data to be transmitted through this port. Usually, this is set to the maximum rate supported by the computer or device with which you are communicating.


Data bits

Changes the number of data bits you want to use for each character transmitted and received. The computer or device you are communicating with must have the same setting that you choose here. Most characters are transmitted in seven or eight data bits.


Flow control

Specifies the flow control for this port. If you are unsure what the value should be, consult your hardware documentation and enable flow control only when used with devices that support it. Using flow control helps reduce buffer overflows and can help reduce communication problems.


Parity

Changes the type of error checking you want to use for the selected port. The computer or device you are communicating with must have the same setting that you choose here. Using parity helps detect corrupt data and is recommended if supported by your device.


Port binding

Specifies the port binding for the serial/parallel device. Use the drop-down list to select an alternate port to link to the ASRL resource. This does not change the logical port number (COMx) of the physical serial port. It just changes which COM port this VISA resource is binding to.

Note Note To change the port binding assignment for existing NI ports, use the COM Port Number control on the Advanced tab. To make this change for non-NI ports, use the Windows Device Manager.


VISA

The settings below are currently used by VISA. Choose this option to select these settings and also apply them to Windows.


Windows

The settings below are currently used by Windows. Choose this option to select these settings and also apply them to VISA.


Settings

This section controls the settings for this port.


Stop bits

Changes the time between each character being transmitted where time is measured in bits per second.


Use FIFO buffers

Uses the first-in, first-out (FIFO) buffers by default in a universal asynchronous receiver/transmitter (UART) chipset. UART is the main component in a serial port that contains buffers where incoming information can be stored until it is transferred to your computer. In these buffers, outgoing information can also be stored until it is transferred to an instrument. Most ports and devices use this chipset.

FIFO buffer support for the 16550 UART chip in the serial port properties improves performance of high-speed modems. If you are experiencing data loss, overrun errors, or other connection problems, you can try lower FIFO buffer settings or you can clear the option.


Transceiver Mode

The RS-485 hardware supports four modes of hardware transceiver control. You can use hardware transceiver control to enable and disable your transmitters and receivers so that they function on different bus topologies.


Actual IP address

Specifies the actual device IP address. If NI-VISA cannot communicate with the device (for example, if the device is offline or the address is incorrectly configured), this field is unknown.


Browse local subnet

Click to look for VXI-11 resources (TCP/IP LAN instruments) on the local subnet.


Firmware Revision

This is the firmware revision of the specified LAN device.


Hostname or IP address

Specifies the device hostname or IP address.


LXI Version

This is the LXI specification version the specified LAN device conforms to.


Manufacturer

This is the manufacturer of the specified LAN device.


Model Name

This is the model name of the specified LAN device.


Port Number

Specifies the port number of the device.


Serial Number

This is the serial number of the specified LAN device.


Validate

Click to test whether NI-VISA can access the resource. The device needs to be powered on and connected to the network.


VXI-11 List

Lists the VXI-11 resources found on the local subnet.


Refresh List

Click to refresh the list of VXI-11 resources. This will take a few seconds to search the local subnet.


Status

This display shows status information about the most recent action performed.


Transmit Buffer

Adjusts the transmit FIFO buffer size. Typically, larger buffer sizes improve computer performance by reducing the number of interrupts required to transmit large amounts of data. Smaller sizes can help correct problems such as buffer overflows and reduce the system latency to transmit small amounts of data.


488.2 Compliant

Specifies whether the device is 488.2 compliant.


Interface Number

The USB interface number used by the given session.


Manufacturer

Manufacturer name of the USB device.


Model

Model name of the USB device.


Serial Number

Serial number of the USB device.


VISA Alias on My System

Allows you to assign a user-defined name to this device or resource. Applications on your local system can use this alias. An alias can be up to 80 characters and contain alphanumeric characters, '_', and '-'.


VISA Alias on Remote System

Allows you to assign a user-defined name to this device or resource on the remote system. Applications targeted to the remote system can use this alias. An alias can be up to 80 characters and contain alphanumeric characters, '_', and '-'.


VISA client enabled for finding

This specifies whether viFindRsrc searches for resources on this remote system when using a search string that does not specify only local resources.


VISA client connects on port

Specifies the port number that the NI-VISA client will connect on. This must be the same value that the server is configured to listen on. Allowable values are 0 to 65535.


List of Passports

Displays a list of VISA library passports in your system. Check or uncheck a passport to enable or disable it.


Access only

Choose this permission level to give the remote client access to open VISA sessions to your VISA resources, but not allow the client to configure the resource's default settings.


Add

Click this button to add a new entry to your remote access list and assign a permission for that client on your server.


Deny all access

Choose this permission level to deny the remote client access to your VISA resources. The client cannot find resources on your machine or open sessions to any resources on your machine.


VISA Options >> Remote

This button browses to the local VISA options list of all remote systems. You can then enable or disable whether the local VISA remote client automatically searches this remote system when finding. You can also change the port that the local VISA remote client uses when attempting to connect to the server on this system.


Access and remote configuration

Choose this permission level to give the remote client full access to your VISA resources, including the ability to configure its default settings and open VISA sessions to the resource.


Permission

This box contains a choice of three permission levels for the selected remote address.


Remote Address

This field displays the currently selected remote address for which you are editing permissions.


Remote Access List

The remote access list displays a list of a remote machine's permission levels to access VISA resources on this machine. If there are duplicate entries in this list, the remote machine has the permission level of the latter entry.


Remove

Click this button to remove the selected remote address from your remote access list. Deleting a remote address does not necessarily revoke that client's access to your server if the remote address appears in another place on the list.


Rename

Click this button to change the remote address for an entry.


VISA server listens on port

Specifies the port number that the NI-VISA server listens on. Allowable values are 1 to 65535.


Restore default

Restores the NI-VISA server port number to the default value of 3537.


Run the VISA server on startup

Enables the NI-VISA server to run automatically when you log in. It does not run as an OS service.


Start server now

Click this button to start the NI-VISA server now.


Stop server now

Click this button to stop the NI-VISA server now.


Remote VISA systems

Displays a list of available remote systems. Checking a remote system enables VISA to search that system when finding resources.


Manufacturer Name

Displays the manufacturer name for the device associated with this VME profile.


Model Name

Displays the model name for the device associated with this VME profile.


Name

Displays the name of the VME profile you are configuring.


Copy

Click this button to display the Copy VME Profile dialog box.


Delete

Click this button to delete a VME profile.


Properties

Click this button to display the Properties dialog box for a VME profile.


Rename

Click this button to display the Rename VME Profile dialog box, which you can use to rename a VME profile.


Add

Use the Add button to add a new or modified entry to the alphabetical list of entries in the Resource Settings box.


Delete

Use the Delete button to remove the selected entry from the Resource Settings box.


Edit

Use the Edit button to modify a selected entry in the Resource Settings box.


Chassis

Name of the VXI or VME chassis where the specified VME device is located. This information should be the same as the frame that also contains either the parent-side extender device (in either an external CPU or multiple-chassis case) or the embedded controller (in an embedded CPU case).


Manufacturer

Manufacturer name of the VME device. Although the manufacturer names and model names typically do not correspond to those for VXI devices, the NI-VXI software uses this information to associate symbolic manufacturer and model names with the device.


Manufacturer Names

Click this button to view a list of possible manufacturer names. If you do not see the manufacturer name of the specified VME device, type the name in the Manufacturer box.


Model

Manufacturer's model name of the VME device. Although the manufacturer names and model names typically do not correspond to those for VXI devices, the NI-VXI software uses this information to associate symbolic manufacturer and model names with the device.


Model Names

Click this button to view a list of possible model names. If you do not see the model name of the specified VME device, type the name in the Model box.


Pseudo logical address

Pseudo logical address of the VME device. Assign a unique logical address (between 256 and 511) from the drop-down list to all VME devices you want to add to the VXI system.


Slot

Slot number in the VXI or VME chassis where the specified VME device is located.


Troubleshoot

Click this button for information about resource conflicts with the specified VME device.


Resource Settings

Resource Settings list for the specified VME or VXI device.


Settings based on

Tells which VME profile represents the hardware settings for the VME device.


Cancel

Closes the dialog box without selecting a VXI-11 resource.


Select

Closes the dialog box and selects the highlighted VXI-11 resource.


Frame

Designates the chassis in which the VXI device is located.


Logical Address

Logical address of the VXI device. Each device in the system must have a unique logical address. The Resource Manager device must have Logical Address 0.


Manufacturer

Manufacturer name of the VXI device.


Model

Model name of the VXI device.


Slot

Designates the slot number where the VXI device is located in the specified frame.


Hide MXI Buses

Hides MXI buses on this system.


System number

Changes the system number of the VXI system.


Resource Manager delay

Changes the Resource Manager delay.


Logical Address

Displays the prioritized signal logical address.


Logical Address

Sets the prioritized signal logical address.


Logical Address

Click this button to set the prioritized signal logical address.


Resource Conflicts

Displays information about resource conflicts with the specified VXI device.


Resource Settings

Resource Settings box where you can view, add, or modify the resource settings of the VXI device.


Troubleshoot

Click this button for information about resource conflicts with the VXI device.


GPIB-VXI Device Basics

What do you want to do?

Rename my device

Right-click on your GPIB-VXI device name in the configuration tree and select Rename.

Communicate with my device

Right-click on your GPIB-VXI device name in the configuration tree and select Open VISA Test Panel. This allows you to communicate with the GPIB-VXI device.

View and edit properties for my device

Click on the tabs to view and edit the properties.

Save pending changes

To save your changes to this item, click Save.

Discard pending changes

To discard your changes to this item, click Revert. Revert is available only if you have made at least one change to this item, and it will undo any changes you have made and restore the item to the most recently saved state.


GPIB-VXI Frame Basics

What do you want to do?

Communicate with my resource

Right-click on your GPIB-VXI frame name in the configuration tree and select Open VISA Test Panel. This allows you to communicate with the GPIB-VXI frame.


GPIB-VXI System Basics

What do you want to do?

Configure my GPIB-VXI controller

Right-click on your GPIB-VXI system or your GPIB-VXI controller in the configuration tree and select Hardware Configuration.

Save pending changes

To save your changes to all items in this category, click Save All GPIB-VXI.

View and edit properties for my GPIB-VXI device

To view and edit the properties for a given device, either double-click the item in the system view in the middle pane or select the item in the configuration tree.


MXI Bus Basic

What do you want to do?

Communicate with my resource

Right-click on your MXI bus name in the configuration tree and select Open VISA Test Panel. This allows you to communicate with the MXI bus.

View and edit properties for my MXI bus

Double-click the resource name or select the resource name and click Go to Resource. Click on the tabs to view and edit the properties.


PXI Device Basics

What do you want to do?

Rename my device

Right-click on your PXI device name in the configuration tree and select Rename.

Communicate with my device

Right-click on your PXI device name in the configuration tree and select Open VISA Test Panel. This allows you to communicate with the PXI device.

View and edit properties for my device

Click on the tabs to view and edit the properties.

Save pending changes

To save your changes to this item, click Save.

Discard pending changes

To discard your changes to this item, click Revert. Revert is available only if you have made at least one change to this item, and it will undo any changes you have made and restore the item to the most recently saved state.


PXI System and Bus Basics

What do you want to do?

View and edit properties for my device

To view and edit the properties for a given device, either double-click the item in the system view in the middle pane or select the item in the configuration tree.

Save pending changes

To save your changes to all items in this category, click Save All PXI.


Remote VISA System Basics

What do you want to do?

Refresh my remote VISA system

Right-click on your remote VISA system in the configuration tree and select Refresh. When you refresh your remote system, resources available on your remote VISA system appear in the configuration tree beneath your remote system. To view newly found resources, expand your remote system by clicking the plus sign.

Note The first time that you detect your remote system using the MAX Create New Wizard, MAX automatically detects and displays all remote resources available on your remote VISA system. Use Refresh to detect any new VISA resources that you may have added to your remote VISA system since you initially detected the remote system. Refer to Create a new remote VISA system below for more information about detecting a remote VISA system in MAX.

Assign a local alias to my remote VISA system

Right-click on your remote VISA resource name in the configuration tree and select Rename.

Create a new remote VISA system

Right-click on Remote Systems in the configuration tree and select Create New. Select Remote VISA System and follow the wizard instructions to add your new remote VISA system.

Delete my remote VISA system

Right-click on the remote VISA system in the configuration tree and select Delete. Deleting a remote VISA system does not delete any of the local aliases associated with the remote resources on the deleted system. To delete local aliases, select Tools»NI-VISA»Alias Editor from the MAX menu. Select the alias that you want to delete, and click Delete.

View and edit properties for my remote VISA system

To view and edit the properties for a given device, either double-click the item in the system view in the middle pane or select the item in the configuration tree.

Save pending changes

To save your changes to all items in this category, click Save All Remote VISA.


Serial and Parallel Port Basics

What do you want to do?

Rename my device

Right-click on your serial or parallel port name in the configuration tree and select Rename.

Communicate with my device

Right-click on your serial or parallel port name in the configuration tree and select Open VISA Test Panel.

View and edit properties or baud rates for my serial ports

Click on the tabs to view and edit the properties.

Remove a serial resource

Right-click on the serial port name in the configuration tree and select Delete. You can delete serial resources only if you have added them statically.

Save pending changes

To save your changes to this item, click Save.

Discard pending changes

To discard your changes to this item, click Revert. Revert is available only if you have made at least one change to this item, and it will undo any changes you have made and restore the item to the most recently saved state.


Serial and Parallel Port Basics

What do you want to do?

View and edit properties or baud rates for my serial ports

Double-click the resource name in the system view in the middle pane or select the resource name and click Go to Resource. Alternately, you can select the item in the configuration tree.

Save pending changes

To save your changes to all items in this category, click Save All Serial.

Create a new port

Click the Create New Port button to add a port that VISA could not automatically detect.

Remove a serial resource

Right-click on the serial port name in the configuration tree and select Delete. You can delete serial resources only if you have added them statically.


Unknown VME Resource Basics

What do you want to do?

Add a VME device to my system

Right-click on Devices and Interfaces in the configuration tree and select Create New. Select VME Device and complete the wizard.


USB System Basics

What do you want to do?

View and edit properties for my device

To view and edit the properties for a given device, either double-click the item in the system view in the middle pane or select the item in the configuration tree.

Save pending changes

To save your changes to all items in this category, click Save All USB.


VISA Resource Basics

What do you want to do?

Rename my resource

Right-click on your VISA resource name in the configuration tree and select Rename.

Communicate with my resource

Right-click on your VISA resource name in the configuration tree and select Open VISA Test Panel. This allows you to communicate with the VISA resource.

View and edit properties for my resource

Click on the tabs to view and edit the properties.


VISA TCP/IP Resource Basics

What do you want to do?

Rename my device

Right-click on your TCP/IP device name in the configuration tree and select Rename.

Communicate with my device

Right-click on your TCP/IP device name in the configuration tree and select Open VISA Test Panel. This allows you to communicate with the TCP/IP device.

View and edit properties for my device

Click on the tabs to view and edit the properties.

Save pending changes

To save your changes to this item, click Save.

Discard pending changes

To discard your changes to this item, click Revert.

Remove a TCP/IP resource

Right-click on the resource name in the configuration tree and select Delete.


VISA TCP/IP Resource Basics

What do you want to do?

View and edit properties for my TCP/IP resource

To view and edit the properties for a given device, either double-click the item in the system view in the middle pane or select the item in the configuration tree.

Save pending changes

To save your changes to all items in this category, click Save All TCP/IP.

Create a new resource

Click the Create New TCP/IP Resource button to add a resource so that VISA can include it in its list of known devices.


VXI Device Basics

What do you want to do?

Rename my device

Right-click on your VXI device name in the configuration tree and select Rename.

Communicate with my device

Right-click on your VXI device name in the configuration tree and select Open VISA Test Panel. This allows you to communicate with the VXI device.

View and edit properties for my device

Double-click the resource name or select the resource name and click Go to Resource. Click on the tabs to view and edit the properties.

Save pending changes

To save your changes to this item, click Save.

Discard pending changes

To discard your changes to this item, click Revert. Revert is available only if you have made at least one change to this item, and it will undo any changes you have made and restore the item to the most recently saved state.


VXI Frame Basics

What do you want to do?

Communicate with my resource

Right-click on your VXI frame name in the configuration tree and select Open VISA Test Panel. This allows you to communicate with the VXI resource.

View and edit properties for my VXI frame

Double-click the resource name or select the resource name and click Go to Resource. Click on the tabs to view and edit the properties.


VXI System Basics

What do you want to do?

Add a VME device to my system

Right-click on Devices and Interfaces in the configuration tree and select Create New. Select VME Device and complete the wizard.

Run Resource Manager

Right-click on VXI System <X> in the configuration tree and select Run VXI Resource Manager to run Resman whenever you configure your VXI instruments or power cycle your VXI chassis.

Configure a VXI controller

Right-click on the VXI controller name in the configuration tree and select Hardware Configuration.

Remove a VME resource

Right-click on the VME device name in the configuration tree and select Delete. Click Run VXI Resource Manager to run Resman after removing the VME device.

View and edit properties for my VXI device

To view and edit the properties for a given device, either double-click the item in the system view in the middle pane or select the item in the configuration tree.

Save pending changes

To save your changes to all items in this category, click Save All VXI.


Aliases

Use this page to create, modify, or delete VISA aliases for devices in your system. An alias is a user-defined name for a device or resource, and can be up to 80 characters and contain alphanumeric characters, '_', and '-'.

To assign a new alias to a device, select the device name and click Edit Alias. To modify an existing alias, select the device name and click Add Alias to display the Add Alias dialog box. To delete all aliases, click Clear All Aliases. When you finish, click Save to save your changes.


Conflict Manager

This is an advanced settings page. The settings from this page are used for all 64-bit VISA applications and also 32-bit VISA COM applications.

Use the Conflict Manager to enable or disable VISA implementations installed on your system, choose an enabled VISA as the preferred VISA on your system, or assign an enabled VISA to a resource of a given interface type.

You can also choose whether the Conflict Manager always stores settings for an interface type even if there is no conflict (recommended). Otherwise, it stores such settings for the interface type only if there is a conflict. A conflict exists for an interface type if there is more than one installed implementation of VISA that can open a resource of that type.


Passports

Use this page to configure the Passports that NI-VISA should use.

Check or uncheck a Passport in the list to enable or disable it.

When you are finished, click Save to save your changes.


Remote

Use this page to configure which systems VISA searches when finding resources.

To enable a remote system for finding, check the box next to the remote system address. If the remote system's VISA server is listening on a custom port number, select the system and click Change Port.

To add a remote system not listed, right-click Remote Systems and select Create New.... Follow the instructions in the dialog for creating a new remote VISA system.

When you are finished, click Save to save your changes.


Security

Use this page to specify which clients have access to VISA resources on this system.

Valid Address Values

Valid network addresses include letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and periods (.), but no spaces. IP addresses (xxx.xxx.xxx.xxx) or their equivalent DNS names (machine.domain.com) are also valid remote addresses. Other valid entries include "*" for all network addresses, "xxx.xxx.xxx.*" or "xxx.xxx.*" for subnets, and "*.com" or "*.somedomain.com" for domains..

List Order

The order of the permissions matters. The VISA server searches through permissions looking for a match starting from the top of the list of permissions. When the VISA server determines whether to allow or deny a remote system access to resources on the system, it uses the last entry in the remote access list that matches the remote address. If a match cannot be found, the remote address is denied access by default.

To add a new remote permission, click Add or <Click here to add new permission>. Type in the new permission and check whether you want to allow or deny access from the remote address. To change a permission, select the remote address and click Rename. To remove a permission, select the remote address and click Remove. When you are finished, click Save to save your changes.

If the server is running, any new permissions will take effect as soon as you save the changes.


VISA Server

Use this page to configure the port number the VISA server listens on, and whether to run the VISA server on startup.

To change the port number, type in the port number on which you want the VISA server to listen. To restore the default port number, click Restore default. To run the VISA server on startup, check Run the VISA server on startup. The VISA server automatically runs on startup on remote systems that have the VISA server installed. Click Save to save your changes. Any changes you make to the port number require the VISA server to be restarted if the server is currently running. To restart the VISA server on a remote machine, reboot the remote machine. When configuring your local server, you can start the VISA server by clicking Start server now.


VISA Settings

Use this page to set NI-VISA options to be performed automatically. Right-click each option to get help for that option. Click Save to save your changes.