From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Interfaz de Usuario dinámica

Hola, 

 

Estoy desarrollando un proyecto de LabVIEW que recoge strings de un documento excel en formato .xlsm.

 

En primer lugar, (en Snippet "Adquisicion"), con un "Excel Get Data.vi" extraigo la información que necesito de la tabla. A continuación, transpongo y filtro las columnas que contienen las strings objetivo y extraigo únicamente un array de strings con las variables deseadas.

 

Adquisicion.png

 

En segundo lugar, aplico una serie de filtros para discriminar las variables que no necesito y concateno strings a aquellas variables que lo requieren. El hecho de que trabaje con un array de strings tiene como objetivo crear una interfaz gráfica que contenga un array de controles booleanos, cuyas variables de control son las strings del array de string anterior.

 

Filtrado.png

 

De esta manera, mediante una comunicación con PLC podré activar/desactivar unos sistemas u otros con controles booleanos.

 

Necesito un array de controles que sea dinámico, que varíe la cantidad de controles que tiene el array en función del número de strings que contenga el array. El problema es que el array de strings no siempre tiene la misma cantidad de elementos y por eso necesito un array dinámico de controles.

 

La opción A es automatizar el proceso de generación de controles booleanos para que en el futuro, si se crean nuevas strings en el documento fuente, no sea necesario cambiar nada en el proyecto para que se generen los controles booleanos que controlen la activación/desactivación de los sistemas relativos a las strings.

 

Como opción B he pensado en generar tantos subVI como cantidades tenga el array de strings, es decir, si cargo un excel que contenga 18 strings, aparezca un panel con 18 controles, y si después cargo un excel con 13 strings, que se abra otro subVI con 13 controles.

 

0 Kudos
Message 1 of 3
(635 Views)

Most of your code makes absolutely no sense. (e.g. having that greedy while loop containing a greedy FOR loop that just repeats the same code as fast as the computer allows is just plain silly. Whatever you are trying to do can probably fit on half a postcard.

 

  • Please attach your excel file.
  • Please explain in words how you want to process the data and what you are trying to get at the end.
0 Kudos
Message 2 of 3
(599 Views)

En primer lugar, gracias por responder tan rápido.

 

En segundo lugar, el bucle while que hay al final del Block Diagram era una prueba sin sentido, no forma parte del código principal, por el momento.

 

Por motivos de confidencialidad no puedo adjuntar el archivo excel. No obstante, para explicar lo que necesito no es necesario disponer del mismo. Lo único que contiene el archivo es una columna de 127 celdas que contiene strings en algunas de sus celdas.

 

Los bucles for tienen la finalidad de filtrar y clasificar las strings de ese vector y concatenar un elemento diferente en función de esa clasificación. Strings en todo momento.

 

El objetivo final de este tratamiento es conseguir un Front Panel dinámico que me permita mostrar un array de controles vinculado al array de strings que he filtrado anteriormente. Lo único que consigo  es un array de indicadores pero no encuentro la forma de conseguir un array dinámico de controles.

 

Insisto en que sea dinámico porque tengo varios archivos excel y cada uno tiene un número diferente de strings.

 

Gracias de nuevo y un saludo.

0 Kudos
Message 3 of 3
(582 Views)