Discusiones sobre Productos NI

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

Guardar dos archivos de excell

¡Resuelto!
Ir a solución

Que tal, estoy realizando un VI el cual adquiere datos por medio de NI SCXI 1600 y que guarda en un archivo de excell, mi problema surge cuando dentro de este mismo VI por medio de push buttons mando a llamar el panel frontal de un subVI, este subVI adquiere datos por medio del puerto serial y estos los guarda también en un archivo de excell (diferente al anteriormente mencionado), lo que sucede es, que al abrir el subVI, los datos adquiridos por el VI principal no son guardados, también mando a llamar el panel frontal de un subVI con el cual controlo la apertura de una válvula por medio de la tarjeta PCI-6704 y de igual forma al abrir el subVI los datos adquiridos por el VI principal no son guardados.

 

¿Alguna idea de cual pueda ser la causa de que esto suceda? Mi intención es que el programa principal siga corriendo y guardando los datos, aun cuando los subVI sean mandados a llamar.

De antemano gracias por la ayuda.

0 kudos
Mensaje 1 de 13
5.266 Vistas
Que tal, ya intentaste cerrar la referencia del archivo despues de escribir en el? Yo tube algunos problemas al escribir a archivos excel ya que si no cierras todas las referencias que mandas llamar el proceso de excel queda abierto y al intentar grabar nuevamente esto da problemas.
0 kudos
Mensaje 2 de 13
5.265 Vistas

Como decirlo...
No capte muy bien tu explicación. Lo que sucede es que al abrir el subVI que guarda en un archivo excell diferente al del VI principal, el archivo de excel del VI principal deja de guardar datos hasta que finalizo el subVI que mando a llamar. Por cierto, estoy usando la versión 8.2.1 de LabVIEW.

Saludos.

0 kudos
Mensaje 3 de 13
5.262 Vistas

Que tal C. Yair;

 

Una pregunta, ¿Tienes algún ciclo while dentro de tu subVI? porque podría estar ejecutándose y no salir del subVI hasta que no salga del ciclo. También ¿Podrías anexar tus VIs para que pueda tener una mejor idea de lo que puede estar causando este comportamiento?

 

Suerte

Francisco Arellano

National Instruments Mexico
Field Systems Engineer - Energy Segment
www.ni.com/soporte
0 kudos
Mensaje 4 de 13
5.244 Vistas

Si, si tiene un ciclo while el subVI, es para que se ejecute indefinidamente hasta que con un botón de paro lo detenga, algo así como un ciclo while "infinito", ya lo veras cuando abras los VI que adjunto. El primero lo dice su nombre, es el principal, y los siguientes son los subVI.

Gracias por la atención Rialter.

Descargar todos
0 kudos
Mensaje 5 de 13
5.240 Vistas

Que tal C. Yair;

 

Checando los VIs que me mandaste lo más probable es que tu subVI sea el que no está permitiendo que el ciclo principal se siga ejecutando. Hay dos opciones que te podrían ayudar a resolver este problema, la primera sería quitar los ciclos while de tus subVIs y utilizar la temporización de tu VI principal para que corran y si no se pueden quitar dichos ciclos te recomendaría que colocaras un ciclo while independiente para tus subVIs en el programa principal para que el ciclo principal pueda seguir corriendo en paralelo con tus subVIs y puedas escribir ambos archivos al mismo tiempo.

 

Espero que la información te sea de ayuda.

 

Suerte

Francisco Arellano

National Instruments Mexico
Field Systems Engineer - Energy Segment
www.ni.com/soporte
Mensaje 6 de 13
5.218 Vistas
Disculpa la tardanza de la respuesta, pero ayer estuve ocupado en otro asunto y hoy será lo mismo.

Te comento, la primera opción no entendí a que te refieres con usar la temporización del VI principal, y la segunda no estoy muy seguro de que manera colocar el ciclo, sin embargo eso no me detendrá para intentar lo que recomiendas.
Empezare probablemente a partir de mañana a probar lo sugerido y espero dar pronto resultados.

Sin mas por el momento, ¡muchas gracias y kudos!.
0 kudos
Mensaje 7 de 13
5.204 Vistas

Que tal C. Yair;

 

A lo que me refería con utilizar la temporización del VI principal es que quitaras el ciclo del subVI y que utilizaras el mismo ciclo que ya estaba en tu VI principal para los shift Registers y demás que necesites dentro de tu SubVI. El único detalle con ésto es que tu subVI no estará corriendo completamente en paralelo con tu ciclo principal.

 

En el caso de utilizar otros ciclos para los subVI sería como se muestra en la figura de abajo, un ciclo para tu código principal y otro ciclo para poder estar llamando a tus subVIs (o un ciclo para cada subVI si necesitas qu se corran en paralelo entre ellos también).

 

 

Loops.png

 

Espero que la información te sea de ayuda.

 

Suerte

 

Francisco Arellano

National Instruments Mexico
Field Systems Engineer - Energy Segment
www.ni.com/soporte
Mensaje 8 de 13
5.201 Vistas
Que tal Rialter.

Comento lo sucedido. El día de hoy intente el ejemplo que dejaste como imagen, coloque mis subVI en un ciclo while aparte del principal, el programa corrió, sin embargo su desempeño es muy pobre, la PC no funciona del todo bien, no realiza las muestras y es muy lento. Dejo el VI, quizás tenga algún error y se me este pasando por alto.

De antemano gracias, y que tengas un buen día.
Mensaje 9 de 13
5.168 Vistas
Solución
Aceptado por el autor del tema C.Yair

Que tal C. Yair;

 

Según estuve observando en tu código, no colocaste ninguna función de temporización en tus ciclos; es probable que por ello el desempeño no sea el óptimo, ésto es porque las funciones de temporización le permiten al procesador encargarse de otras tareas, y si no le estas dando esta posibilidad al procesador puede estar dedicando mucho más tiempo a cierto ciclo que a los demás y por lo tanto no realizar adquisiciones como comentas o tener un comportamiento no adecuado. Te envío un par de documentos que explican más a fondo como utilizar las funciones de temporización.

 

http://digital.ni.com/public.nsf/allkb/12B2EA9AD5B265AD86256257004DD8E2?OpenDocument

http://zone.ni.com/devzone/cda/tut/p/id/4120

 

Espero que la información te sea de ayuda

 

Suerte

Francisco Arellano

National Instruments Mexico
Field Systems Engineer - Energy Segment
www.ni.com/soporte
Mensaje 10 de 13
5.146 Vistas