Discusiones sobre Productos NI

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

Elapsed time

¡Resuelto!
Ir a solución

Buenos tardes,

Tengo un problema en algunos ejecutables en los que utilizo el modulo express: “Elapsed Time” o el Get date/Time String:

 Al ejecutar y empezar a guardar datos, el número de valores almacenados se corresponde con el tiempo en segundos que ha pasado (medido con cronometro en mano), es decir cada bucle se ejecuta cada segundo, lo marcado en "Wait until/next ms multiple" lo que es correcto.

Ahora bien, el valor que devuelve elapsed time, el Get date/Time String y la hora de windows no coinciden con el tiempo que mido con el cronometro, y lo raro es que a veces va más rápido y otras más lento. Parece ser que es un problema de la hora de windows, y que elapsed time y get time string toman la hora del ordenador como referencia, pero ¿cómo podría contabilizar el tiempo correctamente? Se me ocurre que podría colocar un contador en vez de un cronometro, pero en caso de que cada bucle se ralentice por alguna razón no quedaría registrado. ¿Con el tick count tambien toma tiempos de Windows o es un contador independiente? Muchas gracias.

Un saludo,

0 kudos
Mensaje 1 de 5
4.696 Vistas

Hola JV_CTA,

 

me parece que estás confundiendo el software control timing con el execution timing. El software timing, en el que se encuentra el elapsed time, no permite establecer una frecuencia de ejecución en un bucle, sino que es un retardo en tiempo absoluto entre dos secciones consecutivas de software. Te dejo un ejemplo de la comunidad para que lo veas por ti mismo:

 

https://decibel.ni.com/content/docs/DOC-19270

 

Saludos,

 

Jesús

0 kudos
Mensaje 2 de 5
4.676 Vistas
Solución
Aceptado por el autor del tema JV_CTA

Prueba así, a ver si va mejor.

 

Saludos!

 

Jesús

0 kudos
Mensaje 3 de 5
4.673 Vistas

Muchas gracias JesusG. Creo que este funciona mucho mejor.

Aunque el verdadero problema se encuentra en que elapsed time comparte tiempo con el reloj interno de windows. He comprobado que en mi ordenador y en otros en los que instalo ejecutables tiene errores en el segundero (me parece realmente extraño). Grabando una vez por segundo durante 5 minutos (cronometrados), me graba 300 valores pero la columna del elapsed time era incorrecta con adelanto/retraso de tiempo.

 

Parece que el tick count utiliza un reloj interno diferentes, y lo que voy a hacer es sutituir el elapsed time por el tick count y restar el valor inical del tick count .

Muchas gracias.

Un saludo,

Descargar todos
0 kudos
Mensaje 4 de 5
4.670 Vistas
Solución
Aceptado por el autor del tema JV_CTA

Hola JV,

 

el tick count es un contaje de pulsos del oscilador del PC. El Elapsed Time es una temporización software. Si te funciona mejor con el tick count, adelante, es más estable, desde luego.

 

Me alegra saber que lo tienes encarrilado.

 

Saludos!

 

Jesús

0 kudos
Mensaje 5 de 5
4.668 Vistas