el 04-07-2010 04:15 AM
el 04-07-2010 07:57 AM
Podrías hacer así (el botón de stop está en el caso del error):
el 04-07-2010 10:20 AM
Hola Kerek como te indica Roberto Bozzolo lo que necesitas hacer es separar la temporización de tu ciclo de la temporización del programa.
En LabVIEW existen dos tipos de temporización.
El tiempo de ejecución es el tiempo que vas a colocar en el ciclo, si no colocas nada de temporización en tu ciclo este va a correr lo más rápido que puede y satura el procesador, para controlar este tiempo de ejecución te sirven funciones como el wait, wait until next ms o los timed loops (estos últimos con manejo avanzado también se pueden utilizar para controlar tiempo por software pero hay mejores manejaras de hacerlo).
El control de tiempo por software, te permite temporizar actividades por ejemplo si tu quieres que un semáforo este encendido 5 segundos, no se debe usar un ciclo que tarde 5 segundos por ciclo, si haces esto nada dentro del ciclo se va a poder ejecutar durante 5 segundos incluyendo el botón de Stop. Una forma de implementar esto es por ejemplo usas un wait de 10ms (esto es para que tu ciclo reaccione cada 10 ms, y dentro del ciclo agregas un Enlapsed time, o generas esta variable funcional global para manejar el tiempo. Cada vez que transcurra el tiempo cambias el semáforo, pero tu ciclo corre mas rápido lo que permite que otras funciones trabajen con esto.
En el ejemplo que te agrego Roberto es lo que el está haciendo, su ciclo corre cada 250ms, (ese sería el tiempo que tendrías entre apretar el botón y que reaccione). Pero en ese ciclo se queda durante 25 segundos.
Aquí también puedes encontrar otro ejemplo:
Communities: Temporizacion En LabVIEW
Saludos
el 04-29-2010 12:33 PM