From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discusiones sobre Productos NI

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

Duda sobre proyecto [Arrays y booleans]

Buenas noches a todos. Tengo dudas sobre como funciona y si es posible hacer ciertas cosas en Labview.

 

En el proyecto que tengo en mente hay digamos 20 controles booleanos que simulan ser válvulas.

Hay una serie de pasos a seguir, y en cada paso hay que abrir 5 válvulas concretas, por ejemplo.

Cada vez que se hace click sobre un boolean, el sistema debe comprobar si esa válvula es una de las que hay que abrir. Si no es correcto, sale un mensaje de error.

 

No tengo mucha idea, pero supongo que esos pasos se harán con el "Flat Sequence".

 

Ahora mis dudas.. ¿Es posible crear un array no visible en cada paso con los booleanos correctos?

 

Cuando el usuario hace click sobre un boolean, ¿hay algún control de eventos para que mediante un bucle yo pueda comprobar que ese boolean está dentro de los 5 correctos?

 

Si no hay evento.. ¿Se pueden comparar continuamente en un bucle los 20 booleanos de forma genérica con el array con los 5 booleanos correctos? Con la forma genérica me refiero a poder comparar todos los elementos boolean del programa sin tener que referenciar todos uno a uno.

 

Gracias a todos de antemano, y si no me he explicado correctamente, comentadmelo por favor.

 

0 kudos
Mensaje 1 de 2
1.854 Vistas

Hola Gorka90!

 

Sobre tus preguntas:

Es posible crear un array y que sea invisible en el pánel frontal. Para ello: 

En tu diagrama de bloques, le das click derecho al arreglo y seleccionas: Create > Property Node > Visible.

Una vez que coloques el Property Node en el diagrama de bloques, le das click derecho y seleccionas "Change All to Write". Después de ésto, colocas un "False Constant" en la entrada "Visible" del Property Node. Corres tu programa y voilà! Ya se hizo invisible tu arreglo en el panel frontal.

 

Para el control de eventos, hay una estructura que se llama "Event Structure" con la cual te permite generar un código en base a eventos, es decir; cuando el usuario presione un botón en la interfaz de usuario, se generará un evento y se correrá exclusivamente un código que tú hayas programado. Busca información en la web para que aprendas a utilizar esta estructura Guiño

 

No entiendo bien tu última pregunta, sin embargo en vez de utilizar "Flat sequence" te recomiendo usar una máquina de estados, la cual consiste solamente de un "Case structure" dentro de un "While loop" y tu vas seleccionando cuál es el siguiente estado mediante "Shift Registers" con esto puedes controlar el orden de las válvulas que deben ser presionadas. También hay mucha información de las máquinas de estados de LabVIEW en la web, puedes investigar como construir una, es muy simple.

Con esto último, puedes realizar una comparación de las válvulas presionadas y el estado en el que estás y así, saber si las presionadas son las correctas o no.

 

Espero te haya ayudado mi respuesta.Emoticono muy feliz

¡Saludos!

Staff Technical Support Engineer
National Instruments
0 kudos
Mensaje 2 de 2
1.819 Vistas