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"
RsVisaTraceTool log with error checking
RsVisaTraceTool log with error checking
Abrir Lightbox

If you use instrument drivers, the error checking is already implemented and performed in every function and after setting every Property (Attribute). This is very convenient, since you are immediately informed that the error that has occurred and after which command it has occurred. If you require maximum speed, the drivers offer the possibility to switch this feature OFF (see the first tip of the next Chapter 8: Speed Optimization).

If you use direct SCPI commands, you need to take care of the error checking yourself. We recommend to do the error checking after logical block of commands. Here, keep in mind that the more commands you send in one block, the harder it is to point to a specific command that has generated the error.

Let us take the example from the previous Chapter 6: Measurement Synchronization and focus only on the actions in the PC. Practical implementation of error checking we show in the examples that are linked in that chapter. The picture below shows the error checking performed after logical blocks of commands:

Solicitar información

¿Tiene preguntas o necesita información adicional? Simplemente complete este formulario y nos pondremos en contacto con usted.

Deseo recibir información de Rohde & Schwarz por

Permiso de marketing

¿Qué significa esto exactamente?

Estoy de acuerdo con que ROHDE & SCHWARZ GmbH & Co. KG y la entidad o subsidiaria ROHDE & SCHWARZ que figure en la Declaración de confidencialidad del sitio web se ponga en contacto conmigo a través del canal elegido (correo electrónico o correo postal) para fines de marketing y publicitarios (p. ej., información sobre ofertas especiales y promociones de descuentos) en relación con, pero sin limitarse a, productos y soluciones para test y medida, seguridad en las comunicaciones, monitorización y medidas de redes, broadcast y multimedia así como ciberseguridad.

Sus derechos

Esta declaración de consentimiento se puede retirar en cualquier momento enviando un correo electrónico a news@rohde-schwarz.com con el asunto «Cancelar mi suscripción». Además, en cada correo electrónico enviado se incluye un enlace para cancelar por correo electrónico la suscripción a futuros anuncios. En la Declaración de privacidad encontrará información adicional sobre el uso de los datos personales y el procedimiento de retirada.

Se ha enviado su solicitud. Nos pondremos en contacto con usted lo antes posible.
An error is occurred, please try it again later.