Discusiones sobre Productos NI

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

Gestion datos array

Hola,

 

SOy nuevo en esto de labview y me gustaria saber como podria programar lo siguiente:

Tengo un array de 2D como este:

nº Fila Tiempo  Salto a fila Repeticiones
1 10 2 1
2 20 3 1
3 20 4 1
4 EV1 5 1
5 20 5 10
6 10 2 2
7 20 8 1
8 10 9 1
9 10 7 10
10 10 11 1
11 EV2 12 1
12 30 0 10

 

Cada fila se ejecuta durante X segundo tal y como expecifica el campo tiempos, y esto puede repetirse cada X iteraciones dependiendo de los saltos y el numero de repeticiones expecificado en la tabla.

Lo que me gustaría sería saber cuanto tiempo pasa entre cada vez que se llega a un evento, EV1 , EV2 o mas si los hubiera.

gracias por adelantado  y un saludo.

0 kudos
Mensaje 1 de 3
2.385 Vistas

Hola AsierM!

 

Permite ver si entendí tu contexto.

Estas leyendo los datos de tu array de 2D, y estos los estas colocando en un ciclo que te permita de alguna forma controlar el tiempo que tarda dicho ciclo y a su vez enviarte a los siguientes datos del salto de fila. Si es así creo poder darte dos soluciones (existen mas por supuesto):

- Una de ellas es ir multiplicando el valor de la columna tiempo y el valor de la columna repetición para así al final sumarlas cuando llegas a determinado evento.

- La otra es obtener la hora del momento en que comienza el evento y nuevamente obtener la hora cuando finalice el mismo evento. Esto con el objetivo de llevar a cabo una diferencia (resta) de los tiempos y obtener el tiempo real (procesamiento de codigo + tiempo del retardo) que se genero.

 

Si no es así lo que deseas realizar, explica mas el contexto y si pudieras un archivo VI o imagen sería de gran ayuda.

 

Saludos.

0 kudos
Mensaje 2 de 3
2.341 Vistas

Hola Jimbe,

Gracias por tu respuesta, aun no tengo en vi hecho con lo que no puedo ponerlo.

La finalidad de las columnas de salto y repetición seria hacer un bucle for, por ejemplo en este caso el primer bucle estaria en la fila 5 y esta se ejecutaria 10 veces. El segundo bucle estaría en la fila 6, con salto a la fila 2 por lo que se volverían a ejecutar las filas de 2 a 6 durante 2 veces y a su vez el bucle anterior se volveria a ejecutar otras 10 veces ya que esta dentro del sugundo( equivaldria a un for dentro de otro), no se si me e explicado bien.

Lo que quiero es saber el tiempo que transcurre hasta llegar a EV1 y EV2 (sin tener en cuenta la duración de estos, no es necesario).

Hasta ahora lo que hacia era ir recorriendo todos los for y sumando el tiempo, pero es algo muy ineficiente si la tabla es muy grande y el tiempo de ejecucion es alto.

 

gracias por adelantado, un saludo.

0 kudos
Mensaje 3 de 3
2.335 Vistas