el 10-08-2010 05:38 AM
Hola,
Estoy realizando una aplicación con LabVIEW 8.6. En la aplicación necesito implementar redundancia. Tengo un gran número de variables que se leen en una aplicación cliente de una aplicación servidor. Para que la lectura de variables en el cliente sea suficientemente rápida tengo que mantener abiertas las conexiones de los datasocket. Mi problema es que debido a la redundancia y al cambio de servidor cierro y abro periódicamente todos los datasockets de las variables compartidas, y en algún momente me da un fallo en el runtime de Microsoft Visual C++ y se cierra todo. He probado varias cosas pero no he logrado solucionarlo. Me he dado cuenta de que si no cierro las conexiones de los datasocket no se produce el problema, pero la memoria usada crece constantemente. ¿Alguien ha tenido un problema parecido o sabe cómo puede solucionarse?
Gracias a todos.
el 10-20-2010 02:43 PM
Hola Tharos, algo que puede ser aquí la falla es si abres y cierras muy rápido la conexión a servidor de datasocket, en ocasiones no a terminado la sesión cuando estas empezando la nueva y puede mandar el error una pequeña pausa te podría ser de utilidad.
Estas trabajando con OPC? o solo son datos de un programa de LabVIEW a otro lo que estas enviando. Una opción que podrías probar es trabajar con TCP/IP o si tienes LabVIEW 2010 par enviar grandes cantidades de datos tenemos unos nuevos VIs que se llaman Network streaming puedes ver mas información de estos en la siguiente dirección:
http://zone.ni.com/reference/en-XX/help/371361G-01/lvconcepts/networkstreams/
http://zone.ni.com/reference/en-XX/help/371361G-01/lvconcepts/usingstreams/
Saludos
el 10-25-2010 01:00 AM
Gracias por contestar. Al final el problema se ha solucionado actualizando a la versión 8.6.1 de LabVIEW.
Gracias.