Anda di halaman 1dari 5

Error de tiempo de espera

de lectura o escritura VISA -


1073807339
Actualizado 21 de agosto de 2018


Reportado en
Software
 LabVIEW
 LabWindows / CVI

Conductor
 NI-VISA
 NI-Serial
 NI-488.2

Detalles del problema


 Cuando realizo una operación de escritura VISA o VISA , recibo el
error -1073807339 :

El error -1073807339 ocurrió en VISA Read o VISA


Write.
Posibles razones):
VISA: (Hexagonal 0xBFFF0015) El tiempo de espera
expiró antes de completar la operación.

 Yo era capaz de comunicarse con mi instrumento con un panel de


prueba VISA, pero cuando se utiliza VISA Write y Read en LabVIEW, me
sale el error de tiempo de espera -1073807339.

Solución
Hay varias razones por las que puede recibir este mensaje de error, el más
común de los cuales se detalla a continuación:

A) Es posible que no tenga instalado el controlador correcto. Asegúrese de


tener el controlador adecuado para su hardware. Algunos comunes son:

 NI-VISA (para instrumentos que usan comunicaciones serie o GPIB)


 NI-Serial (para instrumentos que utilizan comunicación en serie como
RS232, RS422, RS485, etc.)
 NI-488.2 (para instrumentos que utilizan comunicaciones GPIB)
Nota : Debe instalar el software del controlador NI-488.2 antes de
instalar cualquier dispositivo de hardware NI GPIB nuevo para que
Windows pueda detectarlos.

B) El puerto no está conectado, el puerto incorrecto está seleccionado o el


puerto no puede enviar / recibir datos. Verifique que el instrumento esté
enchufado correctamente al puerto que está utilizando.

C) Pruebe un sistema diferente con los mismos controladores. Los puertos


COM podrían estar dañados o no funcionar en la máquina original.

D) También podría producirse un error de tiempo de espera a partir de las


cadenas de comando incorrectas escritas en los controladores. Compruebe las
cadenas de comandos enviadas a las llamadas VISA de lectura y escritura
VISA y asegúrese de que estén escritas con la sintaxis adecuada para su
instrumento.

Nota : a menudo se requiere una nueva línea o retorno de carro al final


de un comando. Una buena forma de probar esto en LabVIEW es
hacer clic conel botón derecho en el control de cadena de comando en
el panel frontal y cambiar la pantalla al modo de visualización de
códigos '\' . En este modo, un retorno de carro es \ r , un avance de
línea es \ n , y un final de línea es \ r \ n . Consulte el manual de su
producto para saber qué se espera y asegúrese de usar de manera
consistente la opción adecuada.

E) La configuración de comunicación del puerto puede no estar configurada


correctamente. Verifique que la velocidad en baudios, los bits de datos, la
paridad, los bits de parada y el control de flujo estén configurados
correctamente para que se correspondan con sus requisitos de hardware.

Nota : Puede cambiar estas configuraciones mediante programación


durante el tiempo de ejecución con VISA VIs, o en NI-MAX como en el
siguiente ejemplo:

F) Este error puede ser inducido al intentar leer más bits de los que están
disponibles en el puerto serie.

F.1) El nodo de propiedad de VISA para Bytes en el puerto debería


implementarse para garantizar que los datos leídos por VISA se limiten
exactamente a la cantidad de datos disponibles.
F.2) Además, puede verificar que no está tratando de leer demasiados bytes
leyendo solo 1 byte a la vez. Si no obtiene el error al hacerlo, incremente el
número de bytes que lee hasta que obtenga el error de tiempo de espera
nuevamente. Esto le dice cuántos bytes devuelve ese comando.

Nota : Si aún recibe el error al leer solo 1 byte, verifique el comando para
asegurarse de que haya sido escrito correctamente y que también haya
terminado la cadena de comando correctamente (como se mencionó en
la solución C).

G) La instrumentación anterior puede no responder rápidamente a los


comandos escritos en el puerto, lo que causa un gran retraso entre
los comandos VISA Write y VISA Read . Las aplicaciones diseñadas para
interactuar con este tipo de instrumentación deben anticipar este retraso e
implementar una función de espera entre VISA Write y Read para evitar de
manera efectiva un posible error de tiempo de espera.

H) Los tiempos de espera también pueden ocurrir cuando lee o escribe grandes
cantidades de datos, ya que los grandes conjuntos de datos a menudo toman
más tiempo que el período de tiempo de espera predeterminado de 2000 ms
para transferirlos a través del puerto serie. Puede designar manualmente el
tiempo de espera de la sesión de VISA de diferentes maneras, según su
sistema de desarrollo. Consulte a continuación para obtener instrucciones
sobre cómo configurar el tiempo de espera VISA:

LabVIEW : Puede usar el Tiempo de Espera establecido de VISA ubicado en


la paleta de Funciones bajo Instrument I / O »VISA» VISA
Advanced . Consulte Configuración del tiempo de espera para las sesiones
VISA .
LabWindows / CVI : puede usar la función viSetAttribute con
su parámetro Attribute_Name configurado en VI_ATTR_TMO_VALUE .

Nota : Cambiar el valor de Tiempo de espera para su sesión VISA


afectará todas las escrituras y lecturas VISA en su sesión. Sin embargo,
puede establecer esta propiedad / atributo en cualquier punto durante la
sesión, lo que le permite configurarlo según sea necesario.

Información Adicional