7. Instrument Error Checking
Instrument error checking (further referred to as error checking) is the second most important aspect of your remote-control application. The goal of error checking is to assure error-free communication with your instrument, so that all desired settings have been correctly performed, and the measurement results obtained have been acquired using the desired settings.
A part of the instrument status subsystem is a error messages buffer called Error Queue. If you, for example, send a SCPI command that the instrument does not recognize, it generates a new entry in the Error queue. Error queue has a finite length, usually 10 entries and the oldest entry is discarded to make space for a new one.
Explained in chapter Measurement Sychronization, the Status Byte contains Bit 2 - Error Message Available. To find out whether the Error queue is empty, query the *STB? bit 2. If its value is 0, continue further with no additional actions. Otherwise, use the SCPI query SYSTem:ERRor?. The instrument returns the last generated error e.g. -113,”Undefined Header”. At the same time, this entry is deleted from the Error queue. To read all the entries, you need to call the SYSTem:ERRor? in a loop until you receive the response 0,”No Error” indicating that there are no more errors pending.
The following VISA Trace shows error checking in action:
- The first command *RST is sent correctly, resulting in no error being generated.
- The second command *RSaT is misspelled, which generates -113, "Undefined Header" error. The SYST:ERR? query is sent in a loop until the response is 0,"No Error"