el 11-23-2011 02:01 PM
Buenas tardes, he estado realizando un menú de usuario, he avanzado pero se me ha presentado el siguiente problema.
Corro la aplicación principal me abre sin ningún problema y del menú que diseñe uno tipo persiana utilizando eventos. Selecciono una aplicación a correr del menú y se me abre, la corro y me realiza los procesos asignados, el problema se me presenta cuando la quiero cerrar para abrir otra aplicación del menú, yo le tengo asignado en las propiedades del vi que se abra cuando se le llame. Pero eso no lo hace pues cierro la aplicación para seleccionar otra del menú y no me deja hacerlo pues se abre de inmediato la que cerré.
Claro está siempre quiero tener activa la ventana principal donde tengo el menú de usuario.
He estado revisando pero no he encontrado una solución, espero que me puedan ayudar.
Para mayor compresión envió un ejemplo del código que estoy implementando. Esta hecho con labview 8.6.
el 11-23-2011 02:47 PM
Buen día,
Ya revisé los archivos adjuntos, y te menciono algunas recomendaciones:
Te dejo una liga donde podrás encontrar una máquina de estados muy básica, que puedes utilizar para crear tu aplicación.
https://decibel.ni.com/content/docs/DOC-3116
Saludos,
Anuar Rojas
el 11-24-2011 08:03 AM
Efectivamente no es necesario realizar otro vi, pero en mi caso lo hago debido a que ese vi donde desarrollo el menú, será la página de presentación, allí tendré otros datos, solo que no lo he terminado, de preparar la parte decorativa.
El código dentro de EMI vi, no se repite, son todos diferentes, solo que los coloque así, para hacer ver el efecto, lo que uso son ecuaciones muy grandes, y las tengo que estar copiando con cuidado para evitar los errores. Además del archivo emi, tengo 4 archivos más de idénticas caracteristicas, esa es la razón de la existencia del menú y por lo cual lo he desarrollado así.
Yo todavía estoy aprendiendo labview, y antes lo hacía todo en un solo vi, pero ahora tengo que hacerlo así, por el proyecto que estoy desarrollando.
Me podrían aclarar mejor lo de actualizar el valor de ring control
Los archivos los estoy usando como subvi
el 11-24-2011 09:58 AM
Buen día,
El ring control que estas utilizando en el Menu.vi no se actualiza correctamente desde el EMI.vi. Cuando se ejecuta el EMI.vi, al terminar la ecuación tu estableces un valor para el Tab Control con la finalidad de cambiar de pestaña en este mismo VI. Tu Tab Control está configurado para actualizar los valores de las gráficas e indicadores dentro del mismo cuando se hace pasar el mouse sobre el botón correspondiente al nombre de la pestaña (los que están del lado izquierdo del Tab Control). De cualquier manera, cuando se ejecuta la secuencia de STOP cambias el número de TAB por un 3, cuando no existe este número de TAB. Asimismo, cuando regresa al Menu.vi después de ejecutarse el subVI EMI.vi, el Ring Control permanece con el valor que elegiste la última vez. Es por esto que se vuelve a cargar el mismo subVI que utilizaste la última vez. La mejor manera de solucionar esto es utilizando una Estructura de Secuencia (Sequence Structure) donde primero se ejecute el subVI EMI.vi y después se actualice el valor del Ring Control para elegir una opción del Menú. Para actualizar el valor del Ring Control, puedes utilizar un Property node con la propiedad de Value. Te recomiendo que el valor que introduzcas sea el del Default Case, para asegurarte que no se ejecute ningún sub menú hasta que tu lo elijas. Por ejemplo, ejecutas tu programa y seleccionas del Menú el número 2, y se ejecuta el EMI.vi. Cuando regresas al Menu.vi, debe quedarse esperando con el Ring Control en la opción 1 hasta que tu selecciones un nuevo sub menú.
Adjunto el Menu.vi con los datos que te sugerí incluidos en el Case 1, para que revises mi sugerencia.
Saludos,
Anuar Rojas
el 11-29-2011 08:11 AM
Gracias por la ayuda prestada ya pude solucionar el problema del menú, pero usando el de máquinas de estado que lo adapte al que tenía, y funciono perfectamente.
Ahora se me presento el siguiente problema. Estoy corriendo un proceso en un Mathscript Node, uno mucho más grande que el mostrado en el archivo emi.vi, al realizar la corrida del vi el computador se cuelga, cuando corro el mismo sistema en maple funciona, Si me puedan ayudar con algunas sugerencias de cómo tratar el problema. Gracias.
Caracteristicas del computador
Procesador core 2 duo
Memoria RAM 4 GB
el 12-05-2011 02:59 PM
Buen día,
En la siguiente liga podrás encontrar un tutorial muy sencillo que explica como utilizar la herramienta de los "MathScript Nodes". El propósito es que revises la última sección del documento ("What does this yellow..."), a reserva de que compruebes que los estas utilizando de manera correcta. Esto te lo menciono porque es muy probable que el código dentro del MathScript Node sea sumamente pesada o contenga errores, y esto causa que la aplicación en LabVIEW no funcione correctamente.
http://zone.ni.com/devzone/cda/tut/p/id/3256
Una solución a este problema podría ser que rediseñaras tu archivo *.m para realizar algunas partes de tu código en LabVIEW, sin necesidad de ejecutar todo en el archivo de Matlab. Esto podría reducir considerablemente la carga del procesador.
De cualquier manera, te invito a que utilices las herramientas que vienen especificadas en la última sección del tutorial que te anexo.
Saludos,
Anuar Rojas