Abstract - The VXIplug&play Systems Alliance
is as organization formed in September, 1993 that is committed to increasing
the ease of use and cost-effectiveness of VXI systems. This paper will
give you some insight into the objectives of this organization, the technology
and standards that have been produced, and the benefits that VXIplug&play
offers to instrumentation users.
WHAT IS VXIplug&play?
The founding members of the VXIplug&play Systems Alliance
are GenRad, National Instruments, Racal Instruments, Tektronix, and Wavetek.
These members formed the organization because they shared a common vision
for open, multivendor system architectures, including both hardware and
system-level software.
The founding members felt that this common vision would enable
them to work together to define and implement standard guidelines and practices
for system-level issues beyond the scope of the baseline VXIbus Specifications.
These founding members believe that such additional standards increase
the ease-of-use and cost-effectiveness of VXI technology and therefore
result in more rapid growth and acceptance of VXI. At the time this paper
was written, approximately 45 companies have joined the alliance and endorsed
its objectives, guiding principles and technologies, including Hewlett-Packard.
A complete vendor membership roster is available from the alliance.
VXIplug&play HISTORY AND RATIONALE
In 1987, the VXI Consortium was formed with a charter of producing
specifications for a multivendor instrument-on-a-card standard. Key to
VXI's success was the ConsortiumÕs ability to define baseline technology
that can stand the test of time. To achieve this, the Consortium was very
careful to define only those aspects required for baseline interoperability
of components, and not place unnecessary restrictions that might inadvertently
narrow the scope of VXI system-level technology and applications. Because
of this foresight, VXI has been adopted by a wide range of hardware and
software vendors, and is being used in a wide range of applications.
Since its inception, VXI has enjoyed tremendous growth, with a
five year compound annual growth rate of over 100 percent. By 1993, market
studies indicated that VXI system sales surpassed the sales of individual
VXI modules. A positive interpretation was that system integrators were
having increased success with VXI. Some felt, however, that this was also
an indication that self-integrating end-users felt overwhelmed by VXI system
considerations.
Many users had expressed their opinion on this issue for quite
some time. Although the baseline VXIbus hardware specifications are certainly
essential and useful, many users wanted more comprehensive definitions
regarding the interoperability of system components, especially software.
These users did not want to limit the overall application for VXI technology.
Rather, they needed more guidelines and more multi-vendor tools targeted
at making VXI easier to use in their particular application area.
VXIplug&play IMPLEMENTATION
The goal of the Alliance is to improve ease-of-use and cost-effectiveness
of VXI technology and maintain VXI as a true, open multivendor architecture
at the system level. Thanks to the comprehensive specifications produced
by the VXI Consortium, all VXI hardware that is compatible with the VXI
specifications is applicable to VXIplug&play. By building on
existing VXI standards, multi-vendor VXIplug&play software components
can be supplied from a variety of sources and used in the same system.
The procedures and guidelines of the alliance are detailed in a
document entitled "VPP-B: Procedures and Guidelines." The direction, scope
and progress of the alliance work is established and evaluated by the vendor
members during general membership meetings and via electronic mechanisms
such as phone, email and faxes. The technical work in the alliance is accomplished
in formal technical working groups, each of which has a chairman, and results
in published formal specifications that are voted on by the vendor membership.
Regular interoperability testing workshops are also conducted during which
vendor members test products designed to these specifications to verify
interoperability and prove the viability of the technology, products, and
associated specifications.
VXIplug&play CHARTER
To work productively in a multi-vendor alliance, it is mandatory
that the members share a common vision and objective. The first specification
produced by the alliance, therefore, was its charter document (VPP-1).
The Charter Document was developed by the founding members and was distributed
for the first time on the day the formation of the alliance was publicly
announced. The Charter Document is the 'heart' of the Alliance, and describes
the purpose of the Alliance, its guiding principles, core technologies,
types of membership and other basic precepts of the organization.
The Charter Document helps guide the alliance activities and decision
process because it eliminates potentially conflicting objectives, principles,
or technologies before joining. Having a common set of guiding principles
helps set priorities and evaluate tradeoffs, while a common set of core
technologies provides the foundation upon which the standards are built.
From a user's standpoint, the Charter Document gives insight into the priorities
and guiding principles of future work and assurance that backward compatibility
with the installed base will be maximized in the future.
VXIplug&play SYSTEM FRAMEWORKS
In order to achieve "plug&play" interoperability for
multi-vendor system software, the alliance uses the concept of standardized
system frameworks. Each framework has a name so it can be easily identified
by users. Requirements for all system components, such as computer, operating
system, programming language, I/O drivers, instruments and instrument drivers,
soft front panels and higher-level application software tools, are carefully
specified to ensure that all system components will be interoperable within
each framework.
The VPP-2 specification currently defines VXIplug&play
System Frameworks for the DOS and Windows operating systems, with UNIX
and Windows 95 frameworks underway. A product that is VXIplug&play
compatible is required to support one or more frameworks and clearly identify
the framework(s) it supports. In this way, system designers can select
the framework which supports his or her system architecture, and then select
components with the assurance that they are compatible and interoperable
within that framework.
VXIplug&play KNOWLEDGE BASE
One of the most interesting aspects of VXIplug&play
is that each system component is required to have a special database file
called a Knowledge Base. Defined in the VPP-5 specification, this knowledge
base file contains important configuration information as well as specifications
and special requirements of the component. The Knowledge Base file is shipped
with the VXIplug&play component to the user. In addition, the
Knowledge Base file is registered with the alliance before the component
can be officially promoted as VXIplug&play compliant.
The alliance, as well as VXIplug&play component vendors,
plan to make these Knowledge Base available prior to purchase of the component
itself. In this way, users have access to important configuration and specification
information for each component of the system beforehand. Because the format
and content of the Knowledge Base file is standardized, the alliance expects
a variety of computer-based tools to emerge that will assist users in designing
and verifying their systems before purchasing a single component.
VXIplug&play INSTRUMENTS
Much of the alliance's focus has been regarding instruments themselves.
To claim that an instrument is VXIplug&play compliant, a vendor
is required to ship a variety of standardized software components with
that instrument. These software components include a soft front panel for
operating the instrument immediately, without writing any software, an
instrument driver for controlling the instrument from within an application
program, and the Knowledge Base file mentioned previously.
Soft Front Panels
VXIplug&play instruments include a live, interactive
front panel that can be used stand-alone without purchasing an application
software package from any vendor. The requirements for soft front panels
are documented in the VPP-7 specification. A stand-alone soft front panel
provides verification that the instrument is installed and functioning
properly before the user begins his or her programming task. This saves
valuable time during installation and allows the user to build familiarity
with its functions before beginning programming. It is also helpful during
debugging and support, because it provides a known functional application
that can always verify that the connection to the instrument and the instrument
itself are working.
Instrument Drivers
The alliance has a guiding principle to treat instrument drivers
as part of the instrument. As such, all VXIplug&play instruments
include a pre-written instrument driver to assist the user in controlling
the instrument from their application program.
VXIplug&play instrument drivers provide a high level
control interface for each instrument, thereby reducing the level of instrument-specific
knowledge required to program the instrument. The instrument command interface
is abstracted to functions which are more closely related to the goals
of the system designer such as measuring a voltage or retrieving a waveform.
The instrument driver embodies the knowledge required to manage the instrument
through the necessary steps required to make a measurement. This allows
the programmer to focus on the test parameters and not becoming an expert
in the manipulation of a particular instrument command set.
VXIplug&play instrument drivers are designed to support
today's most popular application development environments. If an application
software product claims conformance to a particular framework, the user
is assured that the VXIplug&play instrument driver included
with the instrument can be used from within that application software product.
When evaluating competing higher level software packages, users can finally
focus on understanding the differences in the methodology of higher level
software tools themselves, rather than worrying about subtle undocumented
differences in the different instrument drivers used in the different packages.
Formal specifications for standardized instrument drivers (VPP-3.x)
describe the purpose and objectives of VXIplug&play instrument
drivers and the guidelines for implementation by developers and use by
end-users. Instrument drivers are provided in source code whenever possible
so users can customize and optimize their operation. The architecture is
modular and conforms to a standard model, providing multiple levels of
access to functionality, so that users can use functional subsets of individual
drivers. The structure of all instrument drivers is consistent between
drivers from different vendors, so that users who understand how to use
one driver know how to use them all.
The instrument driver specifications define the architecture, structure,
and packaging of every instrument driver, but leave it to individual developers
to implement the appropriate functionality to best deliver the benefits
of particular instruments. Some of the other issues covered in the instrument
driver specifications include consistent error handling, help information,
documentation, revision control, distribution, maintenance, installation
and use.
VXIplug&play CONTROLLERS
In addition to defining standards for instrument software, the
alliance has also defined standards for the software that must be included
with a VXIplug&play-compliant computer or system controller.
This software includes the operating system for the particular framework,
as well as the standardized VISA I/O interface software that handles the
details of the hardware interface between the computer and the instruments
in the system. These standards ensure that software included with VXIplug&play
instruments will operate properly when installed on a VXIplug&play
controller.
In the past, different vendors of VXI controllers offered different,
vendor-specific I/O interface libraries. Software written to run on a controller
from one vendor, therefore, may not be able to execute on a controller
from a different vendor. In order to realize the goal of delivering pre-written
instrument drivers and soft front panels with the instruments, a standard
I/O interface library was required to ensure that VXIplug&play
instrument drivers and soft front panels would operate correctly on controllers
from different vendors. Such a standard also ensures that users' application
software is also portable across controllers.
To address this need, National Instruments developed the Virtual
Instrument Software Architecture (VISA) specification, which is now standardized
by the alliance in the VPP-4.x series specifications. VISA provides a unified
foundation for the entire industry and is a superset of existing implementations,
with such features as platform and interface independence, and offers complete
backward compatibility with the entire installed base. VISA can accommodate
all existing I/O library interfaces, including National Instruments NI-VXI
and NI-488.2 and Hewlett-PackardÕs SICL, in a single I/O library.
VISA is written to work across languages and operating systems.
In PC environments, VISA is delivered as a dynamic link library (DLL) callable
by any language. UNIX-based implementations are delivered as a shared library.
VISA uses a language-independent syntax that is usable by text-based languages
such as LabWindows/CVI, C, C++ or Visual Basic, as well as by graphical
programming languages such as LabVIEW.
VISA features a single set of core functions that control all types
of instruments regardless of physical interface, along with a small number
of interface-specific functions. This feature is of particular interest
to VXI users, because it gives users the opportunity to write software
for GPIB, VXI, serial, and other types of instruments using the same set
of I/O calls, independent of how the computer is connected to the instruments.
This single set of I/O calls is of significant benefit to vendors and users
who write software to control instruments because they can learn VISA once
rather than learning several proprietary I/O software calls from several
vendors, or different calls for different interface types. In addition,
software written with VISA is more portable and supportable than in the
past, because VISA works on a wide variety of platforms from several vendors,
and also because the same code works with a variety of interface types
to the instruments.
VXIplug&play MAINFRAMES
Although much of the alliance's activity is software oriented,
the scope of the alliance is not limited to software. For years, VXI users
have expressed an interest in common approaches for fixturing. The Fixturing
Working Group is evaluating opportunities in this area, with the first
result being a specification describing standards for mounting fixture
receivers from various vendors to a VXI mainframe. VXIplug&play
mainframes must conform to this specification, and must also include the
standard Knowledge Base file.
VXIplug&play INSTALLATION
The alliance has also defined and implemented a standard installation
procedure, documented in the VPP-6 specification, as well as a standard
installation program to be shared by members and maintained in the alliance.
This ensures diskettes included with VXIplug&play components
from different vendors are used in the same way regardless of supplier,
and can install easily in the same system. Even the label on the install
disks are defined to ensure easy identification and usage.
This is a tremendous, immediate benefit to end-users. Such standardization
avoids common headaches experienced by users of multi-vendor software in
the past, such as naming conflicts for multi-vendor files. Each VXIplug&play
names their files using a unique two-letter prefix defined in the VPP-9
specification, and the standard installation procedure ensures that installation
directories and paths are handling properly by all vendors. The install
program automatically installs each of the software components in a standard
directory structure which can be easily found by other VXIplug&play
applications.
VXIplug&play BENEFITS
The VXIplug&play specifications are designed primarily
for vendors. Vendors must understand the complexities and guidelines of
the specifications in order to deliver compatible products. While users
are free to read the VXIplug&play specifications themselves,
the idea is to simply VXI for users and deliver real benefits to users
through increased ease of use. Users need only select their framework and
then choose components within that framework. By choosing VXIplug&play
components, users can realize benefits during all phases of using VXI,
including system specification and design, system integration and programming,
and system maintenance, modification, and phase-out. These benefits include
lower design costs, programming costs, maintenance costs, modification
costs, and reusability of hardware and software components from one system
to the next.
System Specification and Design
During system specification and design, VXIplug&play
gives new tools to users in the form of system frameworks and standard
Knowledge Base files. Users can evaluate components and understand their
configuration issues and interoperability with other system components
ahead of time. An entire system can be designed and evaluated, perhaps
even with the aid of computer-based tools, before a single component is
purchased. VXIplug&play gives understanding of the availability
of interoperable components and system-level integration issues during
the specification phase of the project. More system component choices allow
a better match to system requirements and specifications.
System Integration and Programming
VXIplug&play also delivers lower costs and fewer problems
during system integration and programming. Consistent installation across
vendors and system components decreases learning time and interoperability
problems. Soft Front Panels allow for immediate verification of installation
and instrument measurement capabilities. Compatibility problems between
application software environments, instrument drivers, and controllers
are eliminated. Multiple application software tools can be used in the
same system for various tasks. Instrument drivers included with the instruments
integrate smoothly with the selected computer and the selected application
software development environment. The standard architecture of instrument
drivers decreases both learning and programming time, and results in fewer
operational problems because they are manufacturer supplied, validated
and supported. The VISA standard ensures that all instrument types, whether
VXI, GPIB, serial, or other, are programmed in a consistent manner with
the same VISA API. In fact, many GPIB and other types of instruments may
also feature VXIplug&play instrument driver compatibility. In
addition, VISA ensures that the same system software works whether an embedded,
MXI-equipped or GPIB-equipped computer is used.
System Operation, Modification and Phase-out
VXIplug&play also delivers benefits for system operation,
modification, and phase-out. Soft Front Panels provide interactive control
of individual instruments, and standard instrument drivers allow the user
to choose from a variety of application software packages and test executives
to use for their operator
interface. Integrated self-test capabilities, required in all instrument
drivers, allow for easy system diagnostics, and the VISA standard eliminates
the need for multiple controller to instrument interfaces for service and
calibration labs. Re-usable software and hardware components decrease time
and effort to modify existing systems and software and allow for easy re-use
of both hardware and software components from one system to the next.
CONCLUSIONS
VXIplug&play Systems Alliance members believe VXIplug&play
makes VXI much easier to use, even for novice users, than any other technology
available today. Delivering on this potential has required cooperation
between vendors not just at the individual module level, but in the context
of a complete system. The focus of VXIplug&play is product oriented,
with the goal being complete system-level interoperability of both hardware
and software components.
VXIplug&play members have made a commitment to multi-vendor,
system-level standards within their own product lines. As a result, VXIplug&play
delivers real value to end users in the form of VXI products that are much
easier to integrate and use, saving time and money in all phases of system
design and use.