LabView - Problema con temporizador

   
Vista:

Problema con temporizador

Publicado por Icaro (2 intervenciones) el 25/10/2011 12:41:03
Buen día,

-Tengo varias estructuras en paralelo.

-Una de ellas es un while, que me realiza una acción (lectura y visualización de componentes de un vector) cada 1000ms. He usado el temporizador «Wait» para regular el tiempo en el que se ejecuta esta acción.

- Otra estructura realiza la captura de la componente si y solo si presiono un pulsador

PROBLEMA: El pulsador no reacciona siempre. He comprobado que si quito el temporizador, funciona perfectamente, pero en ese caso la visualización del vector es demasiado rápida.

Que más puedo hacer entonces para regular el tiempo de lectura de cada componente del vector?

He intentado de muchas formas solucionar este problema, pero no lo he conseguido.

Les agradecería mucho una ayuda.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con temporizador

Publicado por Untzilla (43 intervenciones) el 26/10/2011 15:32:58
Buenos días

La función del Wait en un while es la siguiente. Una vez terminado de ejecutar un código determinado (en tu caso la lectura y visualización de componentes) duerme un tiempo hasta que se vuelva a ejecutar.

Por lo que si pulsas el pulsador durante este tiempo que esta dormido o en espera no reaccionara.

Lo que puedes hacer es recudir el tiempo wait por ejemplo a 100ms

Si lo que quieres es graficar cada segundo, puedes crear un contador que te cuente hasta 10, de esta forma consigues visualizar la variable cada 1sg (1sg + 10*tiempo de ejecución del código). Si lo que quieres es visualizar cada 1sg te recomiendo que utilices un waituntilnext multiple. Échale un vistazo al siguiente enlace:

http://www.lawebdelprogramador.com/foros/LabView/1196395-Que_diferencia_existe_entre__Wait_y_Wait_until_.html

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con temporizador

Publicado por Icaro (2 intervenciones) el 03/11/2011 07:45:55
Hola, muchas gracias por la respuesta.

Lo había solucionado de una forma similar. Puse un wait de 1 ms en el ciclo while, y luego un contador (incrementos de a 1 en una misma variable). cuando se cumple la condición de que la variable llega a 1000, entonces activo una compuerta TRUE, que permite realizar la lectura y visualización del vector.

No hay riesgo de que el Switch no sea tomado, puesto que el tiempo que el programa duerme es tan solo de 1ms.

Me excuso por la respuesta tardía.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar