Discusiones sobre Productos NI

cancel
Showing results for 
Search instead for 
Did you mean: 

Limpiar buffer IMAQ_create

Hola,

 

Estoy utilizando "IMAQ create" para convertir una imagen a string y así poder procesarla.

El problema es que necesito tenerlo incluido en un Time Loop, y por lo que he podido apreciar en el windows task-manager , cada vez que me ejecuta éste, me incrementa la memoria del ejecutable consecutivamente.

Sin embargo esto no sucede si ejecuto el "IMAQ create" sólo una vez fuera del loop. Es como si el "Imaq Dispose" no limpiara el buffer de memoria.

 

Alguien me puede por favor ayudar con este problema,

 

Un saludo y gracias!!!

 

 

0 Kudos
Message 1 of 31
(2,827 Views)

Hola,

 

En primer lugar explicarte que cada vez que utilizas el "IMAQ create" creas un buffer de memoria donde guardas el archivo. Es el "Imaq dispose" el que destruye este buffer, por eso es natural que fuera del bucle no te aumente el consumo de memoria (hagas lo que hagas solo lo haces una vez). No obstante, la estructura de este VI parece correcta y no deberías tener pérdida de memoria por ahí. 

 

¿Qué hace exactamente el subVI que se ve? ¿Es posible compartir el código? La pérdida de memoria puede venir por aquí. 

 

Un saludo,

 

Cristina

0 Kudos
Message 2 of 31
(2,808 Views)

Hola CrisMH,

 

Perdona, no me he explicado bien.

Intento enviar una imagen (utilizando IMAQ para ello), y luego una vez que tengo la string, la envio mediante NetworkStreams a mi aplicación en el PC. La perdida la tengo en la aplicación en el PC.

 

Si utilizo el IMAQ_create sólo una vez fuera del Time loop (en Real time) no tengo perdidas de memoria, pero si lo tengo metido en el time loop, al ejecutar el touch panel, la memoria no deja de incrementarse continuamente.

 

Sólo utilizo el "unflatten from String" en la aplicación de mi PC, y he intentado como ves, incluyendo también "Imaq dispose" después de este, pero sigo con el mismo problema.

Agradecería cualquier idea de lo que puede estar originando este comportamiento.

 

Muchas gracias!!!

0 Kudos
Message 3 of 31
(2,804 Views)

Hola,

 

Vale, voy acercándome a la idea de lo que quieres hacer no obstante sigo sin tenerlo claro. ¿Puedes subir el proyecto y lo pruebo aquí? Quizás así podemos averiguar por dónde estás perdiendo memoria. 

 

Un saludo! 

 

Cristina

0 Kudos
Message 4 of 31
(2,798 Views)

Hola Cristina,

 

Te adjunto el programa. 

Cuando lo ejecutes verás que en el Windows Task-Manager la aplicacion Host.exe está continuamente incrementandose en memoria. Agradecería cualquier sugerencia de como poder solucionar esto.

 

Muchísimas Gracias!!!

0 Kudos
Message 5 of 31
(2,773 Views)

Hola Cristina,

 

Te adjunto el programa.

Cuando lo ejecutes, verás en el windows Task-manager como la memoria está incrementandose continuamente para la aplicacion en PC.

 

Agradecería cualquier sugerencia para poder solucionar este problema,

 

un saludo y muchísimas gracias!!!

0 Kudos
Message 6 of 31
(2,777 Views)

Hola,

 

Si deshabilito el procesado de imagen ( Unflatten from String), no aprecio este problema.

Luego el problema debe ser esta función. He probado sustituirla por la función "Type Cast" pero también produce este comportamiento. Por lo visto estas funciones hacen uso de buffers de memoria temporales??

 

Alguién me puede decir por favor como solucionarlo??

 

Muchas Gracias!!!

0 Kudos
Message 7 of 31
(2,756 Views)

Hola,

 

Ayer estuve haciendo pruebas y a mi no me subía el uso de memoria. No pude reproducirlo. El uso de estas funciones crea buffers temporales que luego cierras. ¿Qué versión de LabVIEW estas utilizando?

 

Un saludo,

 

Cristina

0 Kudos
Message 8 of 31
(2,744 Views)
Highlighted

Hola Cristina,

 

Pues lo he estado probando en LV2013 y LV2014 con el mismo problema.

En el Windows Task-manger en Prozesse, la memoria de la aplicacion del PC (Host) no para de incrementarse continuamente...

 

Qué versión has estado utilizando??

 

Un saludo y gracias por la ayuda!!

0 Kudos
Message 9 of 31
(2,732 Views)

Buenos días,

 

Yo lo probé con la 2014 y un cRIO 9074 como en tu proyecto. Que raro, en mi caso fluctuaba pero se mantenia constane, la dejé un día entero por si luego empezaba a crecer y nada. En este caso se suele ir probando partes del código para ver exáctamente cuál es el problema. 

 

¿Has probado a correr solo la parte de la foto que adjuntabas en el primer post? En caso afirmativo, ¿te crece el uso de memoria ahí?

 

Un saludo

 

Cristina

 

Certified-LabVIEW-Associate-Dev_rgb.jpg

0 Kudos
Message 10 of 31
(2,708 Views)