el 09-24-2016 08:00 PM
Saludos
Estoy obteniendo datos de un arduino uno por medio de comunicación serial en Labview, lo que me sucede es que despues de unos segundos de estar funcionando correctamente y leyendo las variables que envio desde el arduino, se apaga el computador y me muestra una pantalla azul de error.
He estado leyendo y parece que se satura la memoria RAM, pero desde el programa de Labview no he podido lograr como hacer para que se libere esta memoria y por ende no apague el computador ni consuma tantos recursos.
Adjunto mi archivo y agradecería mucho si pudieran ayudarme con sugerencias y/o que debo cambiar para que esto no suceda (ya que tengo temor de que se dañe mi computador).
Hasta pronto
el 09-26-2016 10:54 AM
Hola Vivianam,
Para optimizar la memoria de su apliación hay varios procesos, por favor revisa los enlaces que adjunto para obtener mayor información:
https://forums.ni.com/t5/Discusiones-sobre-Productos-NI/Problema-memoria-labview/td-p/2298692
http://digital.ni.com/public.nsf/allkb/CF330F03FDBD939B8625743400680183
Espero te sirva.
Saludos.
Lis Villanueva
el 09-27-2016 01:24 PM
Echando un vistazo rápido a Adquisición.vi, en el segundo bucle tienes un while(1) en el que en cada iteración se añade un elemento a una lista con Build Array. Esta adición de elementos se hace sin ningún límite y además a la máxima tasa que permite la CPU, por lo tanto es normal que acabes consumiendo toda la RAM en poco rato. De hecho, si tuvieras un ordenador antiguo con un sólo núcleo es posible que ni siquiera pudieras detener el programa una vez entrara en funcionamiento.
Puedes comprobar el uso de la memoria mirando el tamaño del indicador llamado "array", con el administrador de tareas o con el profile.
La solución es simplemente programarlo de otro modo, por ejemplo con un tamaño límite del array. Tampoco creo que quieras guardar el valor de los datos cada pocos microsegundos, por lo que alguna temporización mediante delays o eventos en ese bucle no estaría de sobra.
el 09-27-2016 01:38 PM
Muchas Gracias lo tendré en cuenta para optimizarlo.
el 09-27-2016 01:38 PM
Muchas gracias!!
el 10-02-2016 06:50 PM
Saludos a todos, teniendo en cuenta sus recomendaciones optimice algunas cosas del código, pero creo que el problema estaba en la velocidad de transmisión del serial programado en arduino y en Labview ya que mi computador tenia una velocidad distinta del puerto y una vez la cambié no se ha vuelto a apagar mi cumputador.
Agradezco los comentarios y sus respuestas a este error.