Error -1073807246 Al Usar NI-VISA

Actualizado el Jul 16, 2021

Reportado en

Hardware

  • CompactRIO Controller
  • Serial Interface Device
  • PXI Serial Interface Module
  • C Series Serial Interface Module
  • USB Cable

Software

  • LabVIEW

Controlador

  • NI-VISA

Detalles del problema

Estoy tratando de comunicarme con mi instrumento de terceros. Recibo el siguiente error cuando uso los VISA VIs:

-1073807246: The resource is valid, but VISA cannot currently access it.
 
¿Por qué recibo este error y cómo puedo eliminarlo?

Recibo el Error 37: Device Not Found al usar los VIs de compatibilidad de serie. ¿Cómo resuelvo el error?

Solución

Puede obtener este error tanto en el entorno de desarrollo de LabVIEW como desde un ejecutable construido. Indica que LabVIEW no pudo tomar el control del puerto serie.

Las siguientes son las causas posibles, así como las soluciones a estos errores:
  • Otro programa tiene control sobre el puerto serie. Solo un programa puede usar el puerto serie a la vez. Cierre otros programas que puedan estar usando el puerto serie, como HyperTerminal o cualquier panel de prueba NI MAX VISA.
  • Si está ejecutando un ejecutable integrado en LabVIEW y LabVIEW está abierto, es posible que LabVIEW ya tenga control del puerto serie. Después de usar un VI en serie, el comportamiento predeterminado de LabVIEW es no liberar el puerto en serie. Todavía puede ejecutar otro VI usando serial de LabVIEW, pero no un ejecutable. Para liberar el puerto serie, debe realizar una de las siguientes acciones:
    • Cerrar LabVIEW. Cerrar todos los VIs que usan VIs en serie no es suficiente para liberar el puerto. Al cerrar LabVIEW por completo, está forzando el cierre de todas las sesiones abiertas por LabVIEW.
    • Use el VISA Close VI en la paleta de VISA Advanced.
  • Si está utilizando un convertidor en serie (en inglés) o ha creado su propio convertidor en serie personalizado, asegúrese de haber conectado correctamente las líneas del puerto en serie .
  • El archivo serpdrv no está disponible (solo para LabVIEW 6.1 y anteriores VIs de compatibilidad en serie).
    • Al ejecutar el VI desde LabVIEW, serpdrv debe estar ubicado en el directorio especificado por libdir (generalmente National Instruments \ LabVIEW \ )
    • Cuando se usa un ejecutable creado a partir de LabVIEW, serpdrv debe estar en el mismo directorio que el ejecutable o en el mismo directorio que el motor de tiempo de ejecución. El directorio común del motor de tiempo de ejecución es: National Instruments \ Shared \ LabVIEW Run-Time
  • Para ejecutables, copiar el archivo labview.ini (que se encuentra en Archivos de programa \ National Instruments \ LabVIEW 20 [XX] \ labview.ini) a la carpeta del ejecutable. Cámbiele el nombre para que tenga el mismo nombre que el ejecutable ( nombre .ini ) y edite la primera línea de [LabVIEW] a [ nombre ] .
  • Verifique la compatibilidad de su sistema operativo (SO) y el controlador NI-VISA. Esto se puede encontrar en el archivo readme  para su versión de NI-VISA. Si su versión de NI-VISA no es compatible con su sistema operativo, esto puede estar causando el error y usted necesita actualizar su controlador.   
  • Este error también puede ocurrir si el controlador no reconoce adecuadamente el puerto COM debido a un problema del controlador. Intente forzar la reinstalación de NI-VISA (en inglés).

Información adicional

Estas soluciones también ayudan a resolver el Error 37: Device Not Found  que ocurre cuando se usan VIs de compatibilidad en serie. Estos VIs han sido desaprobados por lo que el error solo se menciona aquí como una nota. Si recibe el mismo mensaje de error en NI MAX, o para pasos adicionales de solución de problemas, consulte el artículo titulado Puerto COM en MAX Muestra un signo de exclamación (en inglés) .

Si está utilizando CompactRIO, esto se debe a la activación de Console Out. Compruebe la configuración de inicio o el interruptor DIP de cRIO.