Error Checking
To develop programs you will need to create one or more error checking routines. For example, you will need routines to check for errors in the following operations:
–I/O operations to the VXIbus, and
–SCPI commands to the module.
I/O Error Checking
SCPI Error
Checking
I/O error checking is specific to the type of I/O library you are using to communicate with the VXIbus. In this manual and on the CD, the HP VISA Transition Library is used.
Function calls to the HP VISA Transition Library (VTL) typically begin with a lower case vi. For example, viPrintf is a VTL output function call. The HP VTL I/O function calls return a variable that can be tested for errors against the VTL variable VI_SUCCESS. In the examples, the variable err is used to trap the VTL errors and is declared as a global variable of the ViStatus type (defined in visa.h).
I/O error checking is illustrated in the following program example. The VTL error checking function is named error_handler. Errors found are reported to the standard output device.
You must also check for errors reported by the SCPI driver. The SCPI driver reports errors in response to the SYSTem:ERRor? query.
/* Repeat ¼ | */ |
SYST:ERR?
/* ¼until no errors found */
The query returns two values: an integer error code and an error description string. The integer value returns +0 and the string returns “ No Error” if no errors are found.
SCPI errors are reported in an error queue. The error queue is a first in, first out queue. Each response to the SYSTem:ERRor? query removes one error from the queue. Multiple SCPI errors may be generated by a single incorrect command and the error queue should be read until it reports +0, "No Error".
Chapter 2 | Programming Examples 47 |