PXI software enables the user to develop software for the overall system to enable it to perform the functions required of it.
The software can be developed in many ways and allows a considerable degree of functionality to be contained within the overall system.
PXI software basics
The software for PXI systems is relatively easy to develop, and in addition to this, the fact that PXI is based on the PCI standard means that many routines can be simply imported into the PXI environment.
The PXI standard relies not only on a standardised hardware environment, but also on a standard PXI software environment.
As the modules cannot be controlled from a front panel, software control via the backplane is required, and in turn this requires software control.
The PXI software environment uses a 32-bit Windows system framework and also the system controller module is required to be based upon the 80x86 processor architecture.
PXI software operating systems
In view of the fact that the software as well as the hardware is standardised, the PXI standard defines that manufacturers of PXI equipment must support a number of WIN32 operating systems.
The PXI software operating systems are fundamentally Windows software.
Apart from the Windows based software systems, some other systems including Linux, Mac OS or Unix may be used where there are available drivers and other interface software.
The main requirements are that the operating system is able to connect to the PXI bus, and that the drivers, development environment and other software should be able to support the operating system in question.
Register based system
There are two way in which modules such as PXI modules can operate within the software environment:
- Message based: Using this form of environment, control and communication is achieved by sending a message to the instrument, and it then replies with another message. The software could instruct the instrument to set to a given condition. This is done by sending a message to the instrument which it then interprets and applies the settings accordingly. Any response, including readings is sent via a message in the reverse direction. These messages have a defined format so that the instrument and the software can interpret the contents of the message accordingly.
- Register based: Using a register based system, the software from the PXI controller, directly accesses the registers of the modules. These registers control the operation of the instrument and also contain the stored data for the measurement or other results.
In order to provide a manageable method of controlling these instruments and extracting and if necessary displaying the readings, software interfaces are needed. These interfaces, called drivers are located within the controller which may located either in slot 1, or in a computer connected to slot 1. These drivers enable the instrument to easily interface with the operation of the system, and often enable readings to be displayed and a soft front panel to be used for the system.
In some instances the PXI software within the modules provides very complex processing, and under these circumstances the module software may provide a very much higher level interface than would be expected for many simpler modules. In essence these modules provide a higher level interface with functions similar to those used with message based instruments. However the interface level and operation is mainly hidden from the user.
PXI software development
To develop programmes, software tools are now widely used. The same is true for automated programmes to run and control PXI systems.
The PXI software specification recommends, but does not mandate support for several commonly used software development environments.
- ATEasy, Geotest-Marvin Test Systems
- LabVIEW, National Instruments
- LabWindows/CVI, National Instruments
- Visual Basic, Microsoft
- Visual C/C++, Microsoft
The actual versions used can be found in the PXI Software Specification and will change as new versions of the development environments are released.
Instrument drivers play a very important role within the PXI software environment, enabling much easier communications with the various instruments used within the overall system.
The instrument drivers provide a high level method of communicating with the test instrument modules without the need to communicate directly with the registers of the test instrument in the low level command syntax.
There are two main types of driver that may be used:
- VISA drivers: VISA stands for Virtual Instrument Software Architecture, and it was originally designed for VXI systems. However VISA has also been adopted for use in PXI software. In fact the PXI standard encourages the use of VISA.
VISA provides a way of developing instrument drivers with a common approach, and this makes interoperability far easier when instruments from a variety of manufacturers are used within the same rack.
- IVI drivers: The abbreviation IVI stands for Interchangeable Virtual Instruments, and it is another standard for virtual instrumentation. IVI is supported by the IVI Foundation and it builds on top of VISA. It provides some interchangeability between instruments without the need for software reprogramming, if, for example there is a need to change from one instrument to another of the same class or type, e.g. if a change between two DC power supply types is required.
The use of IVI drivers, although not mandated by the PXI standard can provide additional flexibility when building a system, because it enables some interchangeability of modules, should one type become obsolete, and another be required, or if a system requires repair and the original module type is not available and a near alternative could be used.
The PXI software enables test systems in a small rack to be built with very high levels of functionality. Very powerful software in the form of programmes like LabVIEW can be used to drive the PXI systems and the software developed in a graphical environment. In this way programmes can be developed in the most cost effective manner, while still supplying very high levels of capability and speed.