el 02-25-2013 01:07 PM
Hola Fercho. Las recomendaciones que te puedo hacer que creo que te van a ayudar más son:
1) Sube el tiempo de tu cíclo determinístico lo más que puedas, para no interrumpir al cíclo de comunicaciones tan frecuentemente.
2) Agrupar las variables booleanas en clusters con información relacionada. Cada vez que se pone un nodo de variable se tiene que abrir la conexión y volverla a cerrar, por lo que si agrupamos las variables será más rápido y consumirá menos recursos.
3) Eliminar tantos controles e indicadores del panel frontal en RT como sea posible. LabVIEW mantiene comunicación a través de ellos, por lo que también están usando recursos de la red y del procesador.
Con respecto a las variables con alias, la verdad no creo que ayuden mucho. El problema esta más en la cantidad de variables de comunicación y en el hecho de que el ciclo de alta prioridad probablemente este interrumpiendo al de baja prioridad.
Algo que te podría ayudar es tomar los cursos de desarrollo de aplicaciones de Real Time.
el 03-01-2013 01:41 PM
Efectivamente, así se solucionó el problema, ahora ya responde inmediatamente. Muchas gracias por tu ayuda!
Ahora tengo otro problema, pero me imagino que tengo que abrir otro tema de discusión vdd?
Lo que pasa es que mi programa funcionaba muy bien, estuvimos en pruebas por alrededor de 8 horas sin ningun problema. Ahora que ya entró a producción la comunicación de la computadora con el cRIO no dura ni 15 minutos, aparece el mensaje de "la comunicación se perdió esperando respuesta del cRIO".
La única diferencia de cuando funcionaba a hoy es que antes solo estaba trabajando el cRIO, la computadora y los sensores / actuadores necesarios, cuando entró a producción toda la planta y toda la maquinaría estaba funcionando. Es el mismo VI no le moví nada al SW.
El cable de red no pasa por lineas de alimentación, (salvo la del gabinete del cRIO, pero así estaba funcionando antes de entrar a producción), cambiamos el switch de red y lo mismo.
Al parecer la comunicación se cae aprox 10-15min después de ejecutar el programa, porque mientras no lo ejecute puedo hacerle ping al cRIO y responde sin ningun problema.
La única manera de volver a comunicarse con el cRIO es apagandolo y prendiendolo físicamente.
¿Que factores pueden influir para la perdida de comunicación? ¿Que parte del SW o HW recomiendan verificar?
Saludos!
el 03-01-2013 02:20 PM
Hola fercho8.
La computadora es la misma? Es posible que este activado el Firewall en la computadora de producción?
Primero que nada te recomendaría revisar el Shared Variable Engine para ver si el procesador no esta llegando al 100% antes de que se pierda la comunicación.
Una vez que quede eso descartado, podemos pasar a ver cómo esta conectado el cRIO:
Se esta conectando a un switch, este switch es parte de la red de la empresa? Es posible que sea un problema con la red?
Si no es un problema que por alguna razon el Software se sobrecargue en ejecurable y no en desarrollo, lo más probable es que algo en la red este causando los problemas. Puede ser que la computadora tenga el firewall deshabilitado, o bien que si se esta en la red corporativa algún otro aparato entre en conflicto con el cRIO (por ejemplo si toma la misma IP).
Te recomendaría, si es posible, llevar la misma computadora de desarrollo (o una adicional) y conectar el cRIO directamente a ella para probar la aplicación. Si en este caso no falla sabemos que hay algo más en la red que esta causando la interferencia.
Saludos.
el 03-01-2013 06:22 PM
el 03-02-2013 02:53 PM
Resulta que, mientras te escribía el último post, volvió a trabaja perfectamente, conectada a la red corporativa, pero no se hizo ningún cambio.
Cómo que la comunicación es muy intermitente, no será algo así como de que se llene algún buffer o se sature algun dispositivo? O crees que sea algún problema de Software?
Adjunto imágen de como está conectada la red y los VIs
el 03-04-2013 12:28 PM
Hola Fercho, para ver si entendí correctamente:
-La aplicación funciona bien si esta en ambiente de desarrollo, funciona por horas sin problemas. En este caso, esta conectada directamente a la computadora o a la red corporativa?
- Si se pone en producción, la aplicación empieza a tener problemas de comunicación. La única diferencia es que tiene más entradas conectadas y que se conecta a la red corporativa.
Es posible que el nodo donde se este conectando tenga problemas ya sea físicos, o que haya mucho tráfico y se este perdiendo la comunicación. Si el software funciona bien en desarrollo no creo que el problema vaya por el lado de software.
Saludos.
el 03-04-2013 02:04 PM
el 03-04-2013 02:17 PM
el 03-04-2013 04:16 PM
Hola Fercho8.
Te recomendaría correr el programa por un tiempo extendido en el ambiente de desarrollo, para ver si se presenta el mismo problema.
No veo nada obvio que se estuviera saturando, con que revises la memoria y el consumo de procesador es suficiente. También, si es posible, intenta conectarte directamente con el cRIO, sin pasar por la red corporativa.
Saludos.
el 03-05-2013 02:12 PM