Archivado:Solución de Problemas de Network-published shared variables

Actualizado el Feb 26, 2024

NI no mantiene activamente este documento.

Este contenido provee soporte para productos y tecnología antiguos de forma que podría notar enlaces no actualizados o información obsoloeta acerca de sistemas operativos u otros productos relevantes.

Reportado en

Hardware

  • FP-2000
  • FP-2010
  • FP-2015

Software

  • LabVIEW Real-Time Module
  • LabVIEW

Controlador

  • NI-RIO

Detalles del problema

  • Tengo problemas para comunicarme con mis Network-published shared variables. Mis variables compartidas funcionan en el entorno de desarrollo, pero no cuando están integradas en un ejecutable.
  • Mis Network-published shared variables no funcionan como yo las esperaba. Existe una discrepancia entre los valores que se escriben en las variables y los valores que se leen en ellas.
  • Cuando intento acceder a una variable compartida en mi código, recibo un error: Error -1950679034: The shared variable has no value.

Solución

Hay varias cosas que pueden evitar que las Network-published shared variables se actualicen en otras máquinas de la red.

Solución de problemas generales
  • Asegúrese de que la variable compartida esté establecida en Network-Published. Para comprobar esto, haga clic derecho en la variable y seleccione Properties .
  • Asegúrese de que las variables compartidas se inicialicen de forma secuencial y no de forma paralela.
  • Asegúrese de que la biblioteca que contiene la variable compartida se haya implementado. Para verificar esto, haga clic con el botón derecho en la biblioteca que alberga la variable compartida y seleccione una de las opciones de implementación. Puede usar Distributed System Manager para verificar si las variables se han implementado al navegar a Tools » Distributed System Manager. Si está utilizando LabVIEW 8.5 o anterior, puede usar el administrador de variables, al que se puede acceder seleccionando Tools » Shared Variable » Variable Manager.
    • Desde el administrador de sistemas distribuidos podrá verificar el estado de su variable compartida. También podrá verificar la marca de tiempo para determinar si la variable se está escribiendo en los momentos correctos. Esto puede ayudarlo a determinar si una escritura está fallando o si se está escribiendo más a menudo de lo esperado.
  • Asegúrese de que no haya un firewall personal habilitado en ninguna computadora que pueda estar bloqueando los paquetes NI-PSP. Puede verificar el estado del firewall yendo al Security Center  en el Panel de control. Para obtener más información sobre los posibles problemas de firewall, consulte Configuración de firewalls de software y hardware para admitir productos de National Instruments (link en inglés)  . Los problemas con el firewall darían como resultado el error -1950679034: The shared variable has no value.
  • Si su software antivirus tiene un firewall, asegúrese de deshabilitarlo o incluir excepciones allí también.
  • Verifique si la variable compartida está alojada en una computadora que está en la misma subred IP. Si no lo está, puede registrar la computadora remota yendo a Tools » Shared Variable » Register Computer... 
  • Si hay varias tarjetas de red en la PC que intentan acceder a la variable compartida, intente deshabilitar las tarjetas de red que no se están utilizando. Además, verifique que la tarjeta de red adecuada esté configurada como la red primaria consultando " ¿Cómo me conecto a los destinos de Ethernet con varias tarjetas de red en el host? (link en inglés)
  • Asegúrese de que el motor de variables compartidas se esté ejecutando. Navegue a los servicios de Windows y verifique que el proceso del motor variable de NI esté presente y en ejecución. Si no está presente, instale LabVIEW Run-Time. Si está presente y no se está ejecutando, haga clic con el botón derecho en el proceso e inícielo. Para asegurarse de que se inicie automáticamente, ingrese las propiedades de los servicios y asegúrese de que el Startup Type esté configurado en Automatic. En la pestaña Recovery de las propiedades del servicio, también puede configurar el motor de variables para que vuelva a intentarlo en el primer, segundo y todos los intentos posteriores si falla el inicio del motor de variables compartidas.
  • Reinicie sus servicios de NI.

Solución de problemas para un sistema de Real-Time (RT)
  1. Verifique que los interruptores DIP estén configurados correctamente en su objetivo en tiempo real. Si las variables compartidas funcionan cuando se ejecutan desde el entorno de desarrollo, pero no cuando se configura un ejecutable de inicio, asegúrese de que el interruptor de No Startup App esté desactivado.
  2. Asegúrese de que las variables se implementen en el sistema en tiempo real haciendo clic derecho en la biblioteca y seleccionando Deploy All.
  3. Compruebe la IP del DNS en el objetivo RT. Si esta IP se configura en algo que no es un servidor DNS válido, las variables compartidas se actualizarán lentamente debido a los tiempos de espera de DNS que se producen. Al cambiar esta entrada a 0.0.0.0 , las variables compartidas deben actualizarse a la tasa apropiada.
  4. Ajuste el tiempo o agregue una Wait los Timed Loop  que escriben en las variables compartidas. Si el Timed Loop  se ejecuta a una frecuencia alta y deja de lado otros procesos, la variable parecerá que se está actualizando muy lentamente o que no se realiza en absoluto.
  5. Si utiliza variables compartidas con un ejecutable en tiempo real, asegúrese de que ningún objeto del panel frontal esté vinculado a variables compartidas. Los objetos del panel frontal se eliminan cuando se genera un ejecutable en tiempo real, lo que hace que las variables compartidas no se actualicen. Si tiene la intención de implementar su aplicación como un ejecutable, use nodos de variables compartidas en el diagrama de bloques.
  6. Si está intentando leer una variable compartida desde un destino en tiempo real, asegúrese de que el Variable Client Support se haya instalado en el destino. Esto se puede verificar en Measurement & Automation Explorer expandiendo el [+] al lado del objetivo en tiempo real bajo Remote Systems, y expandiendo el [+] al lado del Software . Si la variable compartida está siendo alojada por el objetivo en tiempo real, asegúrese de que el Network Variable Engine se instale utilizando el mismo método. El Network Variable Engine no funcionará correctamente en los controladores FieldPoint 2000, 2010 y 2015 porque no tienen suficiente memoria.