Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Reconocer cuando se cierra el VI y como ejecutar un programa EXE cualquiera

Hola, mis preguntas son las siguientes (2): Como podria hacer para reconocer/saber en que momento se cierra el programa (VI) que esta ejecutandose, ejemplo, quiero hacer un VI que cuando detecte que se ha cerrado, haga algo o me mande un mensage que me comunique que debo de pulsar cierto boton antes de salir o realizar tal cosa antes de salir del programa ( VI )  y la segunda es: Como podria hacer para desde el programa (VI ), ejecutar una aplicacion externa como por ejemplo la calculadora de windows, abrir el Internet explorer, abrir el excel, abrir el block de notas, abrir un juego,  etc.
Espero me puedan ayudar.

PD.  tengo el Labview version 7.0

Gracias desde ya
0 kudos
Mensaje 1 de 4
3.628 Vistas
Hola,

  1. Para detectar cuando se cierra el VI puedes usar el evento Panel Close.

  2. Para ejecutar otras aplicaciones la manera más sencilla es System Exec.


En la figura tienes un ejemplo que pide confirmación para cerrar el VI y, si contestas afirmativamente, antes de cerrar abre la calculadora.
Mensaje 2 de 4
3.621 Vistas
Gracias por la ayuda, es lo que buscaba, pero ahora ha surgido un problema, al hacer la prueba todos los demas bloques quedan a la espera de que el evento ocurra para recien proceder a trabajar, ejemplo: tengo un boton conectado a un led, tambien un control numerico, utilizo el evento change de un control numerico para abrir la calculadora, pero lo curioso es que el led no responde a la pulsacion sobre el boton. Si retiro/borroel bloque evento, responde normalmente, pero si esta ahi, hasta que Yo no cambie el dato en el control numerico, no se reflejara el valor del boton en el led.
Alguien me puede orientar como proceder en estos casos ?

Gracias de antemano
0 kudos
Mensaje 3 de 4
3.593 Vistas

Hola Xontrol una opción para que después de cierto tiempo dormido despierte tu estructurara de eventos es cablearle un valor a la terminal de Timeout, con esto cada vez que ocurra este tiempo entrara al evento de timeout, y podrá seguir la ejecución.

 

 

La otra opción es que utilices 2 ciclos while en paralelo, uno espera los eventos y el otro está realizando el procesamiento normal de tu programa.

El siguiente link te puede ser de utilidad:

http://zone.ni.com/devzone/cda/tut/p/id/3085

Saludos

Mensaje editado por BeCeGa

Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 4 de 4
3.576 Vistas