LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problema paro programa aleatorio

Hola muy buenas, He realizado un proyecto bajo Labview 8.2.1 recientemente y en la puesta en marcha he detectado un problema en la aplicación. Al cabo de unas horas de adquisición, a veces 3 horas, otras 6 horas, el programa, ya compilado, se detiene. No se bloquea el ordenador ni la aplicacion, ni tampoco se sale. El programa adquiere continuamente con una tarjeta PCI 6229 8 entradas analógicas, 2 salidas analógicas, 8 salidas digitales, 8 entradas digitiales, y con una tarjeta PCI 4351 6 lecturas en tensión y 4 de termopares tipo K. El programa comienza adquirir cuando se pulsa MARCHA y no para a no ser que detecte alguna seguridad. Esas seguridades he verificado que no es lo que hacen parar al programa puesto que ninguna se pone a TRUE. He llegado a pensar que pueder ser por problema de memoria, buffers, etc. No tengo mucha experiencia en Labview por lo que no se si podria solucionar optimizando la programación. He realizado el programa casi integramente en un VI, es muy grande, 1,45megas, tambien usa subVIs como PIDs y poco más.Realiza regustro de unos 10 datos en una hoja Excel y 3 datos en un txt. El PC empleado es potente, AMD X2 5200+ 2GB RAM, luego no deberia haber problema. En conclusión, el programa funciona perfectamente, sin ninguna anomalía, a excepción de que una vez que comienza a adquirir, aleatoriamente, al cabo de horas, para de adquirir quitandose el botón de marcha solo. Agradecería una solución, me sería de gran ayuda. Gracias.
0 Kudos
Message 1 of 2
(2,619 Views)
Hola,

eso de verdad parece como un problema de memoria. ¿Has verificado que pasa con el RAM en estos momentos?¿Es muy grande?
Tienes muchas referencias que abres y no cierres?
Una cosa que causa tambien problemas son los arrays. Aquí tienes un enlace con ejemplos:
http://digital.ni.com/public.nsf/allkb/A8BA755EB2A699FA86256FDC00691FFD?OpenDocument
Sobre Tools>Profile puedes encontrar algunas opciones de verificar tu vi. "Performance y memory" te muestra statisticas de timing y de memoria. Puse start y ejecuta el VI. Cuando puses stop puedes ver la statistica. Tal vez así puedes ver donde está el problema. En "Show Buffer Allocation"  pudes mirar donde está memoria colocada.

Si tu vi de verdad es tan grande, deberías mejorarlo. Muchas veces puedes encontrar problemas más facil.

Salud, RMathews
Ramona Lombardo
Applications Engineer, NI Germany
Certified LabVIEW Developer
0 Kudos
Message 2 of 2
(2,594 Views)