Error -1073807339 al utilizar "VISA Read" o "VISA Write" en un VI Serial



Software Primario:
Versión de Software Primario: 2.6
Versión de Software Primario Corregido: N/A
Software Secundario: N/A

Problema:

Cuando trato de hacer una lectura o escritura con VISA, obtengo el error de VISA -1073807339:

"VISA:  (Hex 0xBFFF0015) Timeout expired before operation completed."

¿Cómo puedo corregir este error?



Solución:

Sigue los siguientes pasos para eliminar este u otros errores de  “timeout” (error que surge cuando se ha cumplido el tiempo de espera para que suceda algún evento específico) serial.

1.     Verifica que todos los parámetros de la configuración serial sean correctos (por ejemplo, razón de baudio, bits de datos y bits de parada). Tanto el dispositivo como el puerto serial deben tener la misma configuración.

 

2.     Intenta incrementar el valor de “timeout” de la sesión de VISA. Este error ocurre frecuentemente  cuando estás leyendo o escribiendo grandes cantidades de datos y toma un tiempo mayor que el tiempo preestablecido para enviar o recibir datos.

 

3.     Si este error surge al hacer una lectura VISA, verifica que no estés tratando de leer demasiados bytes. Lee solamente 1 byte a la vez durante la detección de errores.

 

Nota: Si no obtienes el error ahora, incrementa el número de bytes que lees hasta que obtengas el error nuevamente. Esto te dirá cuantos bytes regresa dicho comando.

 

También puedes utilizar un Nodo de Propiedad para leer el Número de Bytes en el Puerto Serial. Haz click derecho sobre el Nodo de Propiedad y selecciona “Select VISA Class>>I/O Session>>Serial Instr”. Posteriormente haz click derecho en el Nodo de Propiedad y selecciona “Properties>>Serial Settings>>Number of Bytes at Serial Port”.

 

4.     Si aún recibes el error mientras lees un solo byte, verifica el comando para asegurarte que ha sido escrito correctamente.

Nota: Verifica que has terminado el comando de caracteres correctamente. Una nueva línea o un retorno de carrete usualmente se requieren al final de un comando. Una buena forma de probar esto en LabView es hacer click derecho en el control de “string” en el panel frontal y cambiar la forma en que se despliega al modo '\' Codes Display. En este modo, el retorno de carrete es “\r”, una nueva línea es “\n”, y un fin de línea es “\r\n”.   Verifica que el comando enviado al dispositivo serial tiene el carácter de terminación que el dispositivo requiere.

 



Ligas Relacionadas:
KnowledgeBase 3F4AG87U : Default Time-out for VISA Read and Write VIs

Archivos Adjuntos:





Día del Reporte: 08/13/2002
Última Actualización: 07/01/2014
Identificación del Documento: 2OCB65LA