PXI Overview

This section contains information specific to the Windows product.

PXI is a rugged, high-performance modular instrumentation platform designed for industrial measurement and automation applications. PXI allows you to use modules from multiple vendors and easily integrate them into a PXI system.

A PXI device is identified by the PCI bus number where it is located, the assigned PCI device number, and the device's function number. For single-function devices, the function number is 0 and is optional. For multi-function devices, the function number is device specific and ranges from 1 to 7.

The address string for a PXI device is defined as shown below (optional parameters are shown in square brackets []):

"PXI[bus]::device[::function][::INSTR]"

Some examples of PXI device addresses are:

PXI0::3-18::INSTR

PXI device 18 on bus 3

PXI0::3-18.2::INSTR

Function 2 on PXI device 18 on bus 3

PXI0::21::INSTR

PXI device 21 on bus 0

PXI0::CHASSIS1::SLOT4::INSTR

PXI device in slot 4 of chassis 1

PXI0::MEMACC 

Access to system controller memory available to devices in the PXI system.

PXI0::1::BACKPLANE

Mainframe resource for PXI chassis 1

Finding PXI Devices

You can use viFindRsrc() to search for specific resources, such as PXI resources. The VisaFindRsrc() function in the PXIVisaSample program demonstrates how to find all VISA PXI resources.

Each PXI device has a vendor code and model code. You can create a more refined search by adding a vendor and/or model code to the search using the VI_ATTR_MANF_ID attribute . For example, search for a Keysight E2929A PCI/PCI-X Bus Analyzer using Keysight's PCI vendor code (0x15BC) and the model code (0x2929) as follows:

"PXI?*INSTR{VI_ATTR_MANF_ID==0x15BC && VI_ATTR_MODEL_CODE==0x2929}"

PXI Device Types

PXI devices are register based.  Programming a PXI device directly from VISA requires a knowledge of the register map of the device and must be done using the VISA memory functions. A PXI device typically does not have a processor to interpret high-level commands. Therefore, the device must be programmed with register peeks and pokes directly to the device's registers. VISA provides two different methods you can use to program register-based devices: high-level memory functions and low-level memory functions.

The Keysight Modular Driver Wizard

The Keysight Modular Driver Wizard generates device-specific .ini, .inf, and .sys files for a PXIe or AXIe device.These files enable the Keysight IO Libraries Suite to communicate with the device. You can launch the wizard from <drive>:\Program Files\Keysight\IO Libraries Suite\bin\Modular\ModularDriverWizard.exe.

Important: This wizard is intended for use by modular hardware development engineers. It requires knowledge of hardware interrupts and the hardware memory map. If you are an end user (not a module designer) and need a driver for a module, you should refer to the installation software that came with your modular device instead of using the wizard.If, however, you need to regenerate installation files for the device, you can import the device's vendor-supplied .ini file in the first step of the wizard. After importing, the wizard can generate and install the files for that device.