VISA is a standard I/O API for instrumentation programming. NI-VISA is NI's implementation of the VISA standard.

Versatility of VISA

VISA can control the following types of instruments:

  • GPIB
  • Serial
  • USB
  • Ethernet
  • PXI
  • VXI

VISA makes the appropriate driver calls depending on the type of instrument you use so you do not have to learn instrument-specific communication protocol.

VISA is platform independent, bus independent, and environment independent. In other words, the same API is used regardless of device type, platform, or programming language.

Before you begin using VISA, make sure you choose the appropriate method of instrument control.

Message-Based Communication

You program message-based instruments with high-level ASCII character strings. The instrument has a local processor that parses the command strings and sets the appropriate register bits to perform the operations you want.

The following instruments use message-based communication:

  • GPIB
  • Serial
  • USB
  • Ethernet
  • VXI (some)

The Standard Commands for Programmable Instruments (SCPI) standardizes the ASCII command strings used to program compliant instruments. Similar instruments often use similar commands. Instead of learning different command messages for each type of instrument from each manufacturer, you need to learn only one command set.

The most common message-based functions are VISA Read, VISA Write, VISA Assert Trigger, VISA Clear, and VISA Read STB.

Register-Based Communication

You program register-based instruments at a low level using binary information that you write directly to the instrument control registers.

The following instruments use register-based communication:

  • PXI
  • VXI (many)

Speed is the advantage of this type of communication. With register-based communication, an instrument does not need to parse the command strings and convert the information to register-level programming. Register-based instruments literally communicate at the level of direct hardware manipulation.

The most common register-based functions are VISA In, VISA Out, VISA Move In, and VISA Move Out.

NI-VISA

NI-VISA is the instrument driver that is NI's implementation of the VISA I/O standard.

Typical LabVIEW installations include NI-VISA. You can also download NI-VISA from ni.com/downloads and install it independently if needed.