LabView - Duda ciclo

   
Vista:

Duda ciclo

Publicado por JL (8 intervenciones) el 21/10/2011 10:38:12
Buenos Dias,

Tengo un problemilla que no logro ver el fallo. Les cuento. He metido tres mini programaillas (Programa X, Programa Y, Programa Z) dentro de un unico case structur (cada uno en un caso diferente)( Programa X 1º caso, Programa Y 2ºcaso, Programa Z 3º caso).
Esto a su vez esta dentro de un ciclo for.
Lo que consigo con esto es que al construir un array (tiene tres controles) se me genera un vector. Este lo conecto al directamente al for y luego al case. Con esto consigo que al poner al pograma X (3), al programa Y (2) , al programa Z (1) se realice primero el Progrma Z luego el Y y luego el X.

Pues el problema esta que para las convinaciones ( 3, 1, 2) y (2, 3, 1) el labview hace el orden que quiere.

Muchas gracias,
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

Duda ciclo

Publicado por REGA (161 intervenciones) el 21/10/2011 21:21:05
Hola...

Primeramente el valor del N en el For debe ser de 3

El valor de los tres estados del CASE son:

0
1
2

por tanto el valor de los controles numéricos sera

Para el VI #1 = 0 "Default"
Para el VI #2 = 1
Finalmente VI #3 =2

Aun cuando en tu "arreglo" tengas un numero 3, caso que no existe en tu CASE, este valor sera adoptado por el caso "0,default" de tu CASE.

El tamaño del arreglo no importa, ya que esta delimitada la ejecución de tu vi por la estructura FOR...

Si existiese algún problema revisa mediante la utilidad Highlight Execution de labVIEW, el pequeño botón que parece un "foco encendido", para que observe paso a apaso lo que sucede en tu diagrama.

Saludos.
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

Duda ciclo

Publicado por JL (8 intervenciones) el 28/10/2011 08:54:07
Pero es que si hago eso, el programa hace. ( un ejemplo: Programa X ( es 3) Programa Y ( es 1) Programa Z (es 2); entonces lo que hace es hacer Priemro el 3 luego el 1 y luego el 2. Lo que necesito es que haga primero el 1 Luego el 2 y luego el 3.
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

Duda ciclo

Publicado por Untzilla (43 intervenciones) el 28/10/2011 11:15:56
Lo que tienes que hacer es inicializar esta variable con un 1 fuera del while principal. De esta forma la primera vez que entre al If (case) entrada en el programa de Y.
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

Duda ciclo

Publicado por REGA (161 intervenciones) el 28/10/2011 17:13:59
Hola...
Me parece raro lo que comentas. Hice un esbozo de lo que tratas de hacer mediante mensajes emergentes de labVIEW y no tuve ningún problema.

Por si a caso revisa tu arreglo de indicadores o trata, primero con una constante de arreglo en tu diagrama.
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

Duda ciclo

Publicado por JL (8 intervenciones) el 28/10/2011 18:58:39
Despues de revisarlo bien y con vuestros consejos ya me ha funcionado.
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