Discusiones sobre Productos NI

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

Incrementar Enum llegando al máximo

Hola,

 

Estoy aprendiendo a utilizar Labview y me gustaría saber si es posible incrementar/decrementar un tipo enum pero sin que el ciclo de incremento sea repetitivo, es decir, si el enum tiene los valores desde 0 a 10, que cuando llegue a 10 no vuelva a empezar en 0 y si estoy en 0 y decremento no indique 10.

 

Muchas gracias 

0 kudos
Mensaje 1 de 9
3.780 Vistas

Lo que quieres hacer es que en la primera iteracion el valor del Enum sea el primer elemento, la segunda iteracion el segundo elemento y asi sucesivamente hasta llegar al ultimo elemento, y que tambien funcione desde el ultimo elemento hasta el primer elemento?

 

Puedes utilizar la estructura Maquina de Estados. Y en el primer case seleccionas el enum de la siguiente iteracion.machine_state.png

 

 

 

Solamente tienes curiosidad o intentabas realizar algun VI ?

Quiza mi idea no sea la mejor asi que te recomiendo esperes la de alguien experto.

Por mientras puedes experimentar con la maquina de estados.

 

 

=======
My Channel: https://www.youtube.com/@LV_Lab

0 kudos
Mensaje 2 de 9
3.745 Vistas

Mi idea es que cuando el usuario incremente el enum llegue al value máximo y no vuelva a empezar. Necesito que se quede en los limites

 

Es para un vi que necesito para probar con arduino

 

Muchas gracias 

0 kudos
Mensaje 3 de 9
3.739 Vistas

Bueno, con la maquina de estados se puede realizar lo que quieres hacer. 

Pero creo que tendrias que hacer muchos casos para el Case.

 

Que valores tiene ese Enum? Si tiene cierto tipo de valores puedes realizar lo que quieres sin tener que utilizar un Enum

 

 

=======
My Channel: https://www.youtube.com/@LV_Lab

0 kudos
Mensaje 4 de 9
3.736 Vistas

Pues hay algunos con tres valores y otros con porcentajes en formato string 0%, 10%, ... hasta 100%

 

Se que se pueden usar otro tipo de controles pero me gustaría hacerlo con este 

 

Gracias de nuevo 

0 kudos
Mensaje 5 de 9
3.727 Vistas

Puedes compartir tu VI?

Si tienes LabVIEW 2017 lo puedes guardar en LabVIEW 2016 para yo poder abrirlo.save.png

 

 

 

=======
My Channel: https://www.youtube.com/@LV_Lab

0 kudos
Mensaje 6 de 9
3.718 Vistas

Hola, gracias por contestar

 

Uso la verisón 8.6. Pero si necesitas recrearlo, lo puedes hacer poniendo un enum e introduciendo los items 0%, 10%, etc, hasta 100%. Si añades al control los botones de incremento/decremento verás que si lo pones en 100% y le das una vez más al botón para incrementar, cambiará al 0%. Esto es precisamente lo que quiero evitar.

 

Gracias

0 kudos
Mensaje 7 de 9
3.711 Vistas

Ah ya te entendi. 

No, no creo que haya manera debido a la naturaleza del control.

Pero lo que puedes es crear tu Enum. 2 Botones y un Indicador.

 

Creas tu codigo para que si presionas uno de los dos botones incremente, pero no que no pase el limite. 

 

Y que al presionar el otro boton decremente pero que no pase el limite.

=======
My Channel: https://www.youtube.com/@LV_Lab

0 kudos
Mensaje 8 de 9
3.706 Vistas

De la nada vino a mi cabeza una manera muy sencilla.

Opcion 1. Creas un control y modificas sus valores permitidos.

Opcion 2. Creas un array con los valores que quieras (10,20,30,....100).

Luego utilizas index array y el control del index array lo modificas para que los valores no sobrepasen los limites que quieres.

2018-07-04_09-35-45.gif

 

 

En este caso es 4 porque el array tiene 5 elementos.(indices : 0,1,2,3,4).

 

Espero te sea de ayuda.

=======
My Channel: https://www.youtube.com/@LV_Lab

0 kudos
Mensaje 9 de 9
3.693 Vistas