el 10-07-2011 02:24 PM
Hola a todos,
quisiera saber si en Labview, es posible editar un ciclo FOR, para conseguir hacer esto:
> for i=10 to 100, step 10;
> next i
Es decir elegir desde que valor partir, establecer un limite máximo y poder setear el tamaño del paso.
Ojalá me puedan ayudar, de ante mano muchas gracias!.
¡Resuelto! Ir a solución.
el 10-07-2011 05:02 PM
Hola Mauricio,
Si se puede, en el snippet adjunto está la forma en que se hace. Utilizas un shift register, en lugar de la terminal de iteración (i) y agregas una terminal de condición al ciclo For. Para agregar esta terminal debes dar clic derecho sobre la estructura for y seleccionar la opción Conditional Terminal. A la N le coloqué una constante de 1000 arbitraria porque el ciclo se detiene de acuerdo a lo que suceda primero, que se cumpla la condición cableada a la terminal condicional o el número de iteraciones. El 1000 te permite cumplir la terminal condicional primero. Si tienes alguna pregunta no dudes en escribirme.
Saludos,
Héctor Rojas
el 10-11-2011 07:08 AM
Hola Hector,
gracias por la ayuda, me demoré un poco pero conseguí hacer lo que me explicaste. Tengo una sola inquietud, cuando realizo mi iteración, ésta comienza desde el primer escalón y no del nível mínimo.
> for i=0 to 100 step 10
>next i
La iteración la realiza de esta forma:
i=10;
i=20;
...i=100
La idea es que la iteración sea:
i=0;
i=10;
i=20;
...i=100
Estuve buscando alguna forma de corregir eso, sabes algo al respecto?.
Saludos, y gracias nuevamente.
el 10-11-2011 08:21 AM
Hola Mauricio,
Para eso simplemente necesitas cambiar el 10 que está cableado fuera del ciclo For al Shift Register por un 0, de esta forma el registro comienza en 0 y no en 10.
Saludos,
Héctor Rojas
el 10-11-2011 08:29 AM
perdón, me equivoqué en tipear, lo que hice fue modificar el inicio y efectivamente cambié el 10 por un cero. Pero la primera iteración no es 0 si no que es "0 + escalon"
es decir si el escalon es 10 que sea i=0; i=10; i=20..etc
pq en estos momentos si pongo el inicio desde 0 y escalon de 10, pongo un indicador y observo i=10; i=20; i=30...etc
Saludos.
el 10-11-2011 09:27 AM
Hola Mauricio,
Supongo que lo que quieres hacer es esto:
> for i=0 to 100 step 10
> alguna acción
> next i
Es decir, que sea i=0; i=10; i=20..etc. Para esto, lo que debes hacer es realizar esa acción que tú necesitas antes de que le sumes 10. Puedes colocar ahi un indicador antes de la suma y entonces te va a dar el resultado que tú quieres. Ahorita el indicador lo estás colocando después de la suma, si lo colocas antes no debes tener ningún problema.
Saludos,
Héctor Rojas
el 10-11-2011 10:07 AM
Hola Hector,
conseguí lo que quería, muchas gracias por la ayuda. Era como decías.
Saludos.