Códigos de Error GPIB y Soluciones Comunes (Parte 2)

Visión General

Este artículo proporciona soluciones para códigos de error GPIB.

Contenido

Gran parte del siguiente texto se deriva del Manual de Usuario NI-488.2 para Windows (vea Recursos Adicionales).

 

EDMA  (8)

Condición de Error: Se produce un error al utilizar DMA para transferencias de datos.

Descripción: EDMA ocurre si se encuentra un error de DMA en el sistema cuando el controlador NI-488.2 intenta transferir datos a través del GPIB utilizando DMA.

Soluciones:

  • Puede corregir el problema de EDMA en el hardware utilizando la utilidad de configuración GPIB para reconfigurar su tarjeta GPIB, de modo que no use un recurso DMA.
  • Puede corregir el problema de EDMA en el software utilizando la función ibdma para deshabilitar DMA.

 

EOIP (10)

Condición de Error: la función no está permitida mientras la E/S asíncrona está en curso.

Descripción: EOIP se produce cuando una operación de E/S asíncrona no ha finalizado antes de que se realice alguna otra llamada GPIB. Solo puede utilizar las funciones ibstop, ibnotify, ibwait o ibonl durante las operaciones de E/S asíncronas. Si se intenta alguna otra llamada GPIB, se devuelve EOIP.

Causa posible: llamar a cualquier función GPIB no soportada durante una E/S asíncrona.

Solución:

  • Vuelva a sincronizar el controlador y su aplicación antes de realizar más llamadas GPIB. La resincronización se realiza mediante una de las siguientes funciones: ibnotify (si el valor de ibsta que pasó al callback ibnotify contiene CMPL, se vuelven a sincronizar el controlador y la aplicación), ibwait (si el ibsta devuelto contiene CMPL, entonces se vuelven a sincronizar el controlador y la aplicación), ibstop (esto cancela la operación de E/S asincrónica, de modo que el controlador y su aplicación se vuelven a sincronizar de inmediato), o ibonl (esto cancela la operación de E/S asincrónica y la interfaz se restablece, para que el controlador y su aplicación se vuelvan a sincronizar de inmediato).

 

ECAP (11)

Condición de Error: No hay capacidad para la operación.

Descripción: Los resultados de ECAP se producen cuando su tarjeta GPIB carece de la capacidad para realizar una operación, o cuando se ha deshabilitado una capacidad particular en el software y se realiza una llamada que requiere esa capacidad.

Solución:

  • Verifique la validez de la llamada o asegúrese de que la tarjeta de interfaz GPIB y el controlador tengan la capacidad necesaria.

 

EFSO (12)

Condición de Error: Error del sistema de archivos.

Descripción: EFSO resulta cuando una llamada a ibrdf o ibwrtf encuentra un problema al realizar una operación de archivo. Específicamente, este error indica que la función no puede abrir, crear, buscar, escribir o cerrar el archivo al que se accede. El código de error específico del sistema operativo para esta condición se encuentra en ibcntl.

Soluciones:

  • Asegúrese de que el nombre de archivo, la ruta y el controlador que especificó sean correctos.
  • Asegúrese de que el modo de acceso del archivo es correcto. Por ejemplo, no intente escribir en un archivo de solo lectura.
  • Asegúrese de que haya suficiente espacio en la unidad para guardar el archivo.

 

EBUS (14)

Condición de Error: Error de transferencia de bytes de comando.


Descripción: EBUS se produce cuando se producen ciertos errores de bus GPIB durante las funciones del dispositivo. Todas las funciones del dispositivo envían bytes de comando para realizar direccionamiento y otras operaciones de administración de bus. Se espera que los dispositivos acepten estos bytes de comando dentro del límite de tiempo especificado por la configuración predeterminada o la función ibtmo. EBUS resulta si se produjo una interrupción al enviar estos bytes de comando.

Causa Posible: no hay dispositivos GPIB conectados a su controlador GPIB. Esto puede deberse a que todos sus instrumentos están apagados, uno de sus instrumentos tiene un error y está afirmando una línea de intercambio, su cable GPIB está desconectado de su tarjeta, o su cable GPIB está roto.

Soluciones:

  • Verifique que todos los instrumentos estén funcionando correctamente y que los que desea comunicarse estén encendidos.
  • Desconecte todos los instrumentos y conéctelos uno por uno para determinar si un instrumento está causando el problema.
  • Compruebe si hay cables sueltos o defectuosos, y asegúrese de que al menos 2/3 de sus instrumentos estén encendidos (esto es un requisito de la especificación IEEE 488).
  • Si el periodo de interrupción es demasiado corta para que el controlador envíe bytes de comandos, aumente el período de interrupción.

 

ESTB (15)

Condición de Error: Pérdida de byte(s) de estado de consulta serial..

Descripción: ESTB es reportado solo por la función ibrsp. ESTB indica que uno o más bytes de estado de consulta serial recibidos de sondeos desde consultas seriales automáticas se han descartado debido a la falta de espacio de almacenamiento. Varios bytes de estado más antiguos están disponibles; sin embargo, el más antiguo está siendo devuelto por la llamada ibrsp.

Causa posible: El instrumento está insistiendo repetidamente en la línea SRQ.

Soluciones:

  • Llame a ibrsp con más frecuencia para vaciar la cola.
  • Desactive la función de consulta automático con la función ibconfig (opción IbcAUTOPOLL) o desactive la función de consulta automática en la Utilidad de Configuración GPIB.

 

ESRQ (16)

Condición de Error: SRQ atascado en la posición ON.

Descripción: ESRQ solo puede ser devuelto por una llamada de ibwait a nivel de dispositivo, en la cual ha configurado la función ibwait para que regrese una vez que el bit RSQ de la palabra de estado (ibsta) insiste. ESRQ indica que no es posible esperar por RQS, porque la línea GPIB SRQ está bloqueada en ON.

Causa posible: esta situación puede deberse a los siguientes eventos: un problema de cableado puede estar causando que la línea SRQ permanezca activada; un dispositivo desconocido para el software está insistiendo en la línea SRQ; debido a que el software no conoce este dispositivo, nunca puede consultar en serie el dispositivo para anular la verificación de la línea SRQ; o un probador de bus GPIB (o un equipo similar) puede estar forzando la verificación de la línea SRQ.

Soluciones:

  • Verifique si uno de los dispositivos en el bus (incluso los que no utiliza su aplicación) está insistiendo en la línea SRQ. Desconéctelos del GPIB, si es necesario.
  • Inspeccione los cables GPIB y asegúrese de que los conectores estén bien asentados.

 

ETAB (20)

Condición de Error: problema de la tabla.

Descripción: ETAB se produce solo durante las funciones FindLstn y FindRQS. ETAB indica que hubo algún problema con una tabla utilizada por estas funciones.

Causa posible: en el caso de FindLstn, ETAB significa que la tabla dada no tuvo suficiente espacio para contener todas las direcciones de los Receptores encontrados. En el caso de FindRQS, ETAB significa que ninguno de los dispositivos en la tabla dada estaba solicitando el servicio.

Soluciones:

  • En el caso de FindLstn, aumente el tamaño de las matrices de resultados.
  • En el caso de FindRQS, verifique si otros dispositivos no utilizados por su aplicación están insistiendo en SRQ. Desconéctelos del GPIB, si es necesario.

 

Esta información para solución de problemas continúa en Códigos de Error GPIB y Soluciones Comunes (Parte 1) y Códigos de Error GPIB y Soluciones Comunes (Parte 3).