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.

Discusiones sobre Productos NI

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

ayuda labview consume muchos recursos

Amigos, estoy haciendo una aplicacion con vb.net labview basic stamp, la cuestion es que tengo un sensor omega que viene con coneccion rj45 osea cable de red

lo qye hago es que con el vb leo el sensor mediante una ocx que trajo el sensor inserto los datos en una hoja de excel y el labview abre dicha hoja lee los datos envia los datos al bs2 y este realiza acciones,

la cuestion es que veo que el labview se infla demasiado consume muchos recursos lo mismo el excel ya que no se si el labview al estar constantemente leyendo  el archivo excel lo hace inflar la cuestion es que al cabo de unas horas consume toda la memoria

 

favor indicarme como puedo hacer que mi vi consuma menos recursos , cade decir que abro el archivo de excel uso un while para leer los datos del labview constantemente y pongo while

 

espero me ayuden saludod cordiales

 

JC

0 kudos
Mensaje 1 de 6
3.397 Vistas

Hola Javier

 

Gracias por utilizar los foros de National Instruments. El consumo de  memoria que estás experimentando se da por  localidades de memoria que se reservan de manera cíclica, esta es la causa más común. Cuando trabajas con archivos esto puede ocurrir debido a que en un ciclo abres y cierras referencias lo cual significa consumo de memoria, lo mismo si construyes arreglos de manera programática. Adicionalmente el utilizar un formato de archivo más simple como el ASCII o binario si es que lo permite tu aplicación puede ayudar a resolver el problema. Para este tipo de problemas, lo que te menciono son suposiciones, sería de gran ayuda que pusieras tu código fuente para ver si realmente este es el problema.

 Saludos
Carlos Pazos

Senior Product Marketing Manager

National Instruments
0 kudos
Mensaje 2 de 6
3.378 Vistas

hola, gracias por tu respuesta,

te adjunto el vi que uso para que lo revises y me digas si de alguna forma puedo mejorarlo al momento de consumiur recuros ya que poco a poco se infla hasta consumir todos los recursos

 

saludos cordiales

 


0 kudos
Mensaje 3 de 6
3.372 Vistas

Hola Javier

 

En realidad si se podrían cambiar muchas cosas en el programa. Por ejemplo al inicio antes del ciclo abres múltiples referencias a un mismo archivo llamada rangos .xml La parte en la que haces la lectura de los rangos tal vez puedas cambiarla por un Read from Spreadsheet file que te permite leer secciones del archivo según especifiques, en lugar de leer todo el archivo múltiples veces y así hacer más eficiente la manera como buscas los valores.  Veo también que a lo largo del programa existen demasiados puntos de coersión debido a conversiones de datos innecesarias cada uno de estos puntos es como un arreglo que se va aumentando iteración tras iteración consumiendo la memoria de tu sistema, esto se ve sobre todo cuando manejas valores numéricos. Existen también secciones de código muy repetitivas que pudieras eliminar aplicando subVIs o por ejemplo en la zona donde pones los temporizadores pudieras sustituir todo eso por un solo ciclo for que vaya escribiendo cada uno de los valores que necesitas a la comunicación serial sin necesidad de repetir tantas veces el código.  Sería bueno reestructurar tu código para hacerlo más legible y más modular. Te recomiendo uses las herramientas ubicadas en tolos>>profile>>performance and memory  y show buffer allocations para que veas exactamente en qué parte de tu código se está produciendo consumo de memoria iteración tras iteración.

 Saludos
Carlos Pazos

Senior Product Marketing Manager

National Instruments
0 kudos
Mensaje 4 de 6
3.369 Vistas

Hola

 

Anexo una presentacion sobre patrones de diseño en LabVIEW,espero que te sea util

 

Saludos

 

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

0 kudos
Mensaje 5 de 6
3.364 Vistas

Gracias amigo por tu respuesta, soy nuevo en esto del labview y tuve que realizar esto para un proyecto, asi que no se mucho de labview:smileytongue:

lo que hice lo hice digamos por instinto ya que no estoy acostumbrado ni tengo experiencia en ese tipo de programacion,el problema que presento es que desconozco la herramienta, aparte tengo la version estudiante que me limita , si me pudieras hechar una mano ayudandome a depurar el codigo seria de utilidad ya que no cuento con la experiencia adecuada para realizarlo, mientras voy a empezar a ver como hago la lectura del archivo rangos en el tiempo libre ya que trabajo y no cuento con mucho tiempo libre aparte estoy metido en muchos proyectos mas

 

 

saludos cordiales

 

JC

0 kudos
Mensaje 6 de 6
3.356 Vistas