Archivo mensual septiembre 2019

PorSatoshi

OPC UA: Conexiones y sesiones

Una de las principales características en la que se basa OPC UA es que las comunicaciones entre cliente y servidor están basadas en conexiones y sesiones. ¿Qué son?, ¿Para qué sirven?, ¿Cómo se aplican? En esta entrada trataré de clarificar algunos de estos conceptos.

Sesiones

Lo más importante, las comunicaciones en OPC UA se basan en sesiones. Las sesiones representan una conexión entre la aplicación cliente y la aplicación servidor. En este punto, es bueno diferenciar entre una conexión y una sesión. La conexión se produce cuando el cliente apunta a un endpoint – el del servidor -, y éste le devuelve la “conexión”. En el momento que esto pasa, se establece una sesión, que no es ni más menos que el flujo de información que fluye a través de la conexión generada (como si de una autopista se tratara). Aunque la diferencia a nivel práctico es poca, seguramente conviene recordar que la sesión está más ligada al flujo de datos.

Timeouts y sesiones

¿Qué sentido tendría tener una conexiones y sesiones abiertas si en las mismas no fluyen datos? …Ninguna. Por lo tanto, las sesiones, en general, deben estar “vivas” todo el tiempo… Esto significa que, si una sesión se cierra por lo que sea, luego los clientes y servidores deben desconectarse entre sí. En la práctica, esto significa que cliente y servidor pueden monitorear el estado de la sesión para que noten los problemas con suficiente anticipación y, en caso de desconexión, puedan ser notificados y cerrar la conexión. Los timeouts son herramientas que tienen clientes y servidores para que, teniendo un tiempo predefinido, puedan consultarlo y, en su caso, cerrar la conexión. Por ejemplo, en OPC UA muchos clientes tienen el timeout especificado en una hora, lo que significa que, si no ha habido flujo de datos en ese tiempo, cierran el canal de la comunicación.

Parámetros de sesión

Para generar comunicaciones fiables y seguras en el tiempo, es deseable parametrizar diferentes parámetros en una comunicación OPC UA basada en sesiones. ¿Ejemplos? La cantidad de sesiones abiertas, el timeout y la negociación de la reconexión y son sólo algunos de los parámetros a los que nos referimos.

¿Dónde y cómo setear estos parámetros?

A pesar de la conveniencia de poder configurar estos parámetros, los mismos no siempre están disponibles en los GUI de clientes y servidores para configurarlos. En cualquier caso, eso no significa que no puedan ser manipulables. En Opiron contamos con varias herramientas para ello. ¿Tienes algún problema con la sesión o los timeouts? Aquí estamos para ayudar 😉

¿Quiénes somos?

Somos expertos en tecnología OPC UA y partners de ProsysOPC. Nuestros servicios incluyen desde consultoría, proyectos o Workshops regulares.