Ejecutar Múltiples Instancias de un Ejecutable de LabVIEW Simultáneamente

Actualizado el Nov 20, 2023

Ambiente

Software

  • LabVIEW

Las aplicaciones que construyo en LabVIEW son singletons, es decir, solo puedo tener una instancia abierta a la vez. Si hago doble clic en el ejecutable mientras una instancia ya se está ejecutando, simplemente abre el ejecutable que ya se está ejecutando.

¿Puedo ejecutar varias instancias de un ejecutable de LabVIEW simultáneamente?

Sí, es posible ejecutar varias instancias de un ejecutable de LabVIEW al mismo tiempo. Cuando un ejecutable de LabVIEW se ejecuta por primera vez, crea un archivo ini en el mismo directorio y nombre que el ejecutable mismo. Para hacer esto, necesitará agregar una línea al archivo de configuración ini que se crea después de ejecutar un ejecutable de LabVIEW. Al agregar esta línea al archivo ini, puede habilitar el lanzamiento de varias instancias del ejecutable correspondiente. La línea es:

allowmultipleinstances = TRUE

Los siguientes son los pasos para lograr esto:
  • Construir un ejecutable de LabVIEW
  • Ejecutar el ejecutable una vez. Observe que se crea un archivo de configuración ini en el mismo directorio que el ejecutable
  • Cierre la ejecución de la aplicación y abra el archivo de configuración ini.
  • Agregue la siguiente línea al archivo ini debajo de la línea [ <Application_Title> ], donde <Application_Title> es el nombre de su ejecutable (es decir, <Application_Title> .exe): allowmultipleinstances = TRUE
  • Guarde y cierre el archivo ini.
  • Ahora puede ejecutar varias instancias de esta aplicación simultáneamente

Additional Information

Tenga en cuenta que para automatizar el proceso de agregar tokens a un archivo ini, se puede seleccionar un archivo de configuración personalizado en el cuadro de diálogo Propiedades de especificaciones de construcción, al navegar a la categoría Avanzado y seleccionar Usar archivo de configuración personalizado. Para obtener más información, lea ¿Funcionarán las colas o los semáforos de LabVIEW entre ejecutables?

También tenga en cuenta que las referencias a una cola o semáforo solo son válidas dentro del proceso en el que se creó. Cuando ambos VI se ejecutan en el entorno de desarrollo de LabVIEW, ambos pertenecen al mismo proceso. Cuando construyes los VIs en ejecutables, cada ejecutable se convierte en su propio proceso. Así que la referencia creada dentro de un ejecutable no tiene sentido dentro del otro ejecutable. En el caso de que solo genere un VI en un ejecutable y ejecute el otro VI en el entorno de desarrollo de LabVIEW, lo mismo es cierto, todavía está tratando con dos procesos separados.