Discusiones sobre Productos NI

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

cerrar datasocket

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.

0 kudos
Mensaje 1 de 3
2.794 Vistas

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

Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 2 de 3
2.699 Vistas

Gracias por contestar. Al final el problema se ha solucionado actualizando a la versión 8.6.1 de LabVIEW.

Gracias.

0 kudos
Mensaje 3 de 3
2.674 Vistas