Cómo determinar si una aplicación se está ejecutando como un VI o como un ejecutable

Actualizado el Jan 6, 2020

Reportado en

Software

  • LabVIEW

Detalles del problema

Cómo determinar mediante programación si una aplicación se ejecuta como un VI o un ejecutable.

Solución

  • SO de uso general (por ejemplo, Windows OS)
Para determinar mediante programación el estado de su aplicación, use el Nodo de propiedad de tipo de aplicación.
 
  1. Descarte un Property Node de la paleta Application Control en el diagrama de bloques.
  2. Seleccione la propiedad Kind como en la imagen de abajo.
  1. La salida del nodo de propiedad devolverá una enumeración con el entorno operativo actual. Esta enumeración se puede utilizar como el selector de una estructura de caso para implementar el código en consecuencia.
  • Sistema operativo en tiempo real
En el sistema operativo en tiempo real, el nodo de propiedad tipo de aplicación siempre devolverá el valor de LabVIEW incorporado , por lo tanto, no se puede usar para determinar si es una aplicación RTEXE independiente .

Puede utilizar la Estructura de inhabilitación condicional en su lugar y verificar el valor del símbolo RUN_TIME_ENGINE .
  • Si RUN_TIME_ENGINE valor es verdadero : la aplicación se inició en el arranque como RTEXE independiente.
  • Si el valor RUN_TIME_ENGINE es Falso, la aplicación se implementó desde la computadora de desarrollo en el modo interactivo.

Información adicional

En el sistema operativo en tiempo real, el Application Kind Property Node siempre devolverá el valor de LabVIEW incorporado. La razón de esto es que el panel frontal del programa que se ejecuta en el objetivo en tiempo real no está realmente en el objetivo, solo el diagrama de bloques.

Un buen uso de este nodo de propiedad es cuando se crean aplicaciones que necesitan ejecutar código de manera diferente según el entorno operativo. Un ejemplo de esto es obtener la ruta del archivo actual de una aplicación. Si usa la función Ruta del VI actual, obtendrá resultados diferentes si la aplicación se ejecuta como un VI o un ejecutable construido. Usando este nodo de propiedad, entonces puede manejar la diferencia apropiadamente.