08-26-2010 01:29 PM
Hola a todos. Tengo una pequeña inquietud sobre un programa que estoy realizando, a ver si me pueden ayudar. El programa realiza la adquisicion de datos de un datalogger via serial, la cuestion es que quiero mostrar los datos de temp y humedad cada minuto y para eso uitilizo un delay. El problema surge cuando quiero detener la ejecucion y presiono el boton de Stop para detener el ciclo while, este espera hasta que termine el tiempo de retardo y despues de esto para la ejecucion del programa. Mi pregunta es si existe alguna manera de que en cualquier instante de la ejecucion atienda la peticion de Stop que realizo. O si en su defecto puedo atender a una accion de cualquier boton en cualquier instante de tiempo sin tener que esperar a que termine el bucle.
Gracias
Solved! Go to Solution.
08-26-2010 02:30 PM
Google Translate:
Hello everyone. I have one small concern about a program I'm doing and see if I can help. The program performs a data acquisition via serial datalogger, the question is I want to show the temp and humidity data every minute and for that uitilizo a delay. The problem comes when I stop running and I press the Stop button to stop the while loop, it waits until the end of the delay time and after that for the execution of the program. My question is whether there is any way that at any moment of execution Stop replied to the request that I do. Or failing that I can attend any one action button at any instant of time without having to wait to finish the loop.
To answer the question: you need to set your loop to a small delay and check to see if it's time to perform an acquisition. See example.
08-26-2010 02:39 PM - edited 08-26-2010 02:42 PM
¿Se puede conectar el programa o una imagen del diagrama? En "png" por favor, no "bmp" formato.
08-26-2010 03:05 PM
Gracias smercurio_fc pero eso no es lo que busco porque no puedo detener el bucle while hasta que termine el tiempo de retraso.
Aqui subo el programa que estoy haciendo. Quiero que al presionr el boton de Stop en cualquier instante de tiempo, pare el bucle while. Estoy buscando esa forma porque si lo hago con el boton de parar la corrida de la barra de herramientas no me cierra el puerto
08-26-2010 03:15 PM
Google Translate:
Thanks smercurio_fc but that's not what I want because I can not stop the while loop until the end of the delay time.
Here I upload the program I'm doing. I want to presionr the Stop button at any instant of time, stop the loop. I'm looking that way because if I do it with the button to stop the run on the toolbar I do not close the port
Did you try running my VI? It stops instantly.
¿Ha intentado ejecutar mi VI? Se detiene al instante.
08-26-2010 03:22 PM
Yes I ran your program but when I increase the delay time It doesn't stop inmediatly
08-26-2010 03:25 PM
Do not change the delay time. Leave that alone. Change the Elapsed Time Express VI to set the time.
No cambie el tiempo de retardo. Deja esto. Cambiar el tiempo transcurrido Express VI para establecer la hora.
08-26-2010 03:38 PM
You're right. It works. I'm gonna try that in mi program because the user has to put the time. Thanks
08-26-2010 03:56 PM
Well it works, but now the problem is when I run the program it takes the delay time until do anything.
08-26-2010 04:12 PM
That's a simple fix.