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.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Múltiples paneles (Multipanel App)

Buen día, estoy realizando una aplicación en la cual tengo que tener varias pantallas dentro de la aplicación, estoy usando un Paneltouch de AB y lo que se pretende es tener una especie de menú, y navegar por las diferentes pantallas, cada una de estas pantallas tendrán tareas especificas ligadas a la NI USB 6009 para la obtención de datos. Al principio hize un VI, en el cual llamaba a otro VI por medio de un Jump Botton para hacer la interacción de pantallas, pero cuando hago el llamado al otro VI para empezar, al VI que llamo aparece minimizado y tienen conflictos con el DAQ aun así estando la señal por un canal diferente marca error y al VI que estoy llamando no realiza la lectura de los datos. Me podrían ayudar. GRacias

0 Kudos
Message 1 of 9
(3,914 Views)

Hola Sakus,

 

       Para poder ayudarte mejor, ¿podrías incluir tu código o una imagen del diagrama de bloques para que podamos comprender mejor el funcionamiento de tus programas? Con esto podríamos tener una mejor idea de lo que hace tu aplicación y así ayudarte a resolver tu problema.

 

Saludos

0 Kudos
Message 2 of 9
(3,893 Views)

de hecho no se como hacerlo, lo unico que tengo son 2 VI's y por medio de un boton llamo al otro, este es un boton al que le puedes asignar un VI., pero si necesitas el codigo que tengo lo subo.

0 Kudos
Message 3 of 9
(3,882 Views)

Hola Sakus,

 

         Me serviría mucho que me pudieras proporcionar el código que te está dando problemas con la apertura del VI y con las tareas de DAQmx, para revisarlo bien y poder aydarte.

 

Saludos

0 Kudos
Message 4 of 9
(3,875 Views)

estos son los VI's como te comentaba ahorita mas que nada estoy en la etapa de desarrollo, En el archivo "IO's" es donde llamo al archivo que se llama aqui "VI a llamar" por medio del jump boton, al jump boton le asigne que se dirija al otro vi (VI llamado), pero es cuando entra en problemas con los DAQS y cuando lo abre lo abre minimizado, como comentaba la intencion es navegar entre pantallas serian unas 10 aproximadamente y en cada una de ellas poder ir hacia las otras. Cualquier sugerencia o retro es buena para tener una mejor interface. gracias la vdd. Saludos

Download All
0 Kudos
Message 5 of 9
(3,869 Views)

Hola Sakus,

 

          Habías comentado que querías utilizar varias pantallas en tu aplicación. En lugar de utilizar distintos VIs, podrías utilizar un Tab Control. Con este control puedes tener varias pantallas sobrepuestas y seleccionar por medio de pestañas cual es que la se mantiene visible. Creo que en este caso te sería mucho más útil que utilizar VIs distintos con un Jump Button. Incluso puedes controlar la transición de una pantalla a otra por medio de botones si es necesario. Ahora, el problema acerca del VI que aparece minimizado probablemente se debe a la configuración del mismo. Para cambiar esto, en el VI que te aparece minimizado, tienes que irte al menu File >> VI Properties. En la categoría de Window Run-Time Position, en la opción de Position puedes elegir si el VI aparece minimizado, maximizado, centrado, etc. Prueba modificando esta opción para ver si resuelve tu problema. Respecto al error de DAQmx, lo más probable es que sea un problema de recursos compartidos. Veo que estás adquiriendo por medio de un DAQ Assistant en ambos VIs. Esto no va a ser posible con la USB-6009, ya que, a pesar de ser canales distintos, comparten recursos de hardware de la tarjeta, por lo que no va a ser posible hacerlo de esa manera. Lo que puedes hacer es adquirir todos los canales que vayas a utilizar en el mismo DAQ Assistant. Posteriormente puedes separar las señales para mostrar cada una por separado. La separación de la señales se hace con la función Split Signal, la cual puedes expandir para separar indicar en cuántos canales se va a separar. Si utilizas un Tab Control como el que te mencioné anteriormente, puedes mostrar cada canal en una pantalla distinta sin problemas.

 

En la siguiente página puedes consultar información acerca de cómo crear un Tab Control.

 

http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/creating_tab_controls/

 

Espero que la información te sirva. Si llegas a tener alguna pregunta no dudes en escribir en el foro.

 

Saludos

0 Kudos
Message 6 of 9
(3,858 Views)

Muy buen Día Hector espero que estes muy bien, no había podido entrar disculpa la tardanza, me sirvió mucho los tips que me diste, pero ahora tengo otro problema, estoy haciendo un control para los tabs, y como te había comentado quiero navegar con botones a través de ellos. Entonces con push buttons realize un arreglo (suma resta) en el cual un control numérico y por medio de nodos del mismo control modifico el valor de este y así este numero lo asigno al tab control y es como quiero realizar el cambio por medio de botones. Hize este arreglo y sabes que la suma al presionar el boton de suma lo hace bien, pero al presionar el de resta no siempre lo hace lo tienes que intentar varias veces para que lo reste. Imagino yo que son tiempos de los flancos o algo por el estilo, pero los 2 push bottons tienen la misma configuración.

Otro problema es que necesito controlar la suma y la resta por medio de botones en todas las paginas del tab, y al hacer un arreglo de varios botones por medio de un merge signals (suma resta 3btns), solo funciona un boton y todos los demás no hacen nada. Existe una forma de tener un solo boton en el Block diagram y que en el Front panel todos los botones que use se dirijan hacia la misma variable?

Si puedes revisar el código de suma resta y comentarme lo que ves mal te lo agradecería. Otro problema que me encontré fue que debido al problema de que no restaba bien quise usar un one shot rising whit input, pero me fue imposible usarlo por que me marca un error.

Te agradezco toda la ayuda que me estas brindando la vdd, muchas gracias y seguimos en contacto

Download All
0 Kudos
Message 7 of 9
(3,832 Views)

Hola Sakus,

 

          Lo que puedes hacer en este caso es un utilizar el Property Node de Value del Tab Control. Este nodo de propiedad te permite cambiar el tab activo programáticamente. Cada tab está numerada, es decir, Page 1 tiene el índice 0, Page 2 el 1 y así sucesivamente. Este es un valor numérico y lo puedes manejar como tal. Por lo tanto, puedes colocar un botón de Previous y un botón de Next fuera del Tab Control. El botón de Previous le resta 1 al Value del Property Node del Tab Control para regresar al tab anterior. El botón de Next le suma 1 al Value del Property Node del Tab Control para pasar al siguiente tab. Esto lo puedes hacer por polling de los botones, como se muestra en la imagen adjunta. Para hacer tu programa más eficiente puedes utilizar un Event Structure que se encargue de cambiar el tab activo cuando se presiona un botón. Un ejemplo de este caso está adjunto como VI. Espero que esto te sirva para mejorar tu aplicacion.

 

Saludos

Download All
0 Kudos
Message 8 of 9
(3,816 Views)

Gracias a todos me habeis ayudado mucho

0 Kudos
Message 9 of 9
(3,765 Views)