SUMO AUTOMATION

Blog de divulgación técnica. Artículos basados en FAQs referentes al campo de la automatización industrial.

miércoles, 21 de abril de 2021

COMMS - Protocolo OPC UA

El protocolo de comunicaciones OPC Unified Architecture, conocido como OPC UA, es una evolución del OPC clásico adaptado para cumplir con los requisitos esenciales en la industria. Lo ha desarrollado la fundación OPC (click aquí para más información al respecto).


Este protocolo es abierto y, actualmente, muchos fabricantes de autómatas lo integran en sus equipos de forma predeterminada (medio físico Ethernet).

OPC UA está diseñado para la comunicación entre dispositivos (como PLC/HMI) y máquina a máquina (M2M), así como para el control y recopilación de datos a nivel operacional o de producción (p.e. en una base de datos en la nube).  
Es flexible, seguro y totalmente independiente. Esto lo hace ideal para la implementación del IoT y la Industria 4.0, cerrando la brecha entre OT/IT. 


¿CÓMO FUNCIONA?

Está basado en protocolos IP estándar y utiliza una arquitectura de cliente-servidor.
El cliente (consumidor) es el que hace las peticiones de lectura/escritura, mientras que el servidor únicamente se encarga de exponer los datos a los que se podrá acceder.  
Cada vez que un cliente se conecta a un servidor, se abre una sesión en este. Es importante controlar el límite de sesiones abiertas simultáneamente (establecido por cada equipo). 

Comunicaciones industriales

Se debe tener presente que todos los dispositivos que admiten protocolo OPC UA (p.e. PLC) no tienen porque poder trabajar como clientes y servidores. Es necesario saber que rol puede desempeñar según las especificaciones del fabricante.

Comunicaciones industriales
El OPC UA es un protocolo orientado a objetos. Cada objeto es llamado nodo y puede tener atributos, métodos y eventos asociados.
Esta es una característica destacable, pues nos permite definir y organizar la información. Mejora la eficiencia y el diseño de las comunicaciones, para que cualquier aplicación del cliente pueda consumir los datos requeridos fácilmente. 


¿PASOS EN LA COMUNICACIÓN?

Seguidamente se detalla el procedimiento que siguen un cliente y servidor OPC UA (previamente configurados) para establecer comunicaciones.

1) Se habilita el servidor.
Es necesario declarar las variables que se van a exponer vía OPC UA.

2) El cliente descubre el servidor y recoge los "endpoints".
La conexión con el servidor se hace mediante una URL "opc.tcp: // [IP address] : [Port No] /".
Por ejemplo, "opc.tcp: // 192.168.251.1 : 4840 /".
En este punto también se evalúan las políticas de seguridad/encriptación soportadas y la autentificación de usuario si se requiere.

3) Se crea un canal seguro de comunicaciones.
Podría ser prescindible, pero lo común es utilizar certificados digitales para la autentificación.

4) Se abre la sesión.
Es importante que, al cortar comunicaciones, se cierre (manualmente o mediante un timeout predefinido). Como decíamos, los equipos suelen presentan un límite de sesiones.

5) El cliente establece comunicaciones.
Hay dos métodos para el consumo de datos del servidor:
- Polling Read/Write: Se envían las peticiones de lectura y escritura a los atributos de los nodos.
- Subscriptions: El cliente se subscribe a una selección de nodos de su interés y deja que el servidor monitorice esos ítems. Solo se transmiten cuando el valor cambia.


¿SEGURIDAD Y AUTENTIFICACIÓN

Como se comenta en el apartado anterior, hay funciones específicas para que la comunicación OPC UA sea segura, aunque ninguna es estrictamente necesaria de implementar...

Una de ellas es la autentificación de usuario. Solo se lleva a cabo en el cliente para verificar las credenciales de quien opere en él.  

La otra, más solicitada, es la autentificación de aplicación. Sirve para validar la seguridad entre el servidor y el cliente.
Este método se implementa mediante el intercambio de certificados digitales para que servidor y cliente autentifiquen la identidad de cada uno de ellos.

Comunicaciones industriales

Dichos certificados (formato X.59 estándar) contienen lo conocido como llave, un algoritmo que se utiliza para encriptar datos.


¿CONCLUSIONES

Los protocolos más comunes para redes de campo (EtherNet/IP, Profinet, etc), por su naturaleza, resultan menos adecuados en niveles superiores de la jerarquía de red. En cambio, OPC UA presenta mayor flexibilidad y capacidad para poder interaccionar con muchos sistemas de diferente naturaleza.
Un servidor puede centralizar la información de distintos equipos en una planta. Luego, puede entregar esta información a distintos clientes para que la utilicen en aplicaciones de monitorización, análisis, etc. Cada cliente solo tiene que apuntar al nodo que engloba toda la información necesaria.

Es una solución abierta pero segura. Los interfaces, las puertas de enlace y la consiguiente pérdida de información son cosa del pasado.
Entonces, este protocolo cumple con todas las necesidades emergentes en el mundo de la automatización industrial.

Trabaja con cualquier sistema operativo, incluyendo Linux, Windows, Android o iOS. Y, al basarse en un arquitectura orientada a los servicios e interfaces de programación, es más fácil de integrar en cualquier tipo de aplicación o dispositivo.

1 comentario:

  1. Un cliente OPC UA que uso mucho para test con servidores es UA expert. Muy útil!!!

    https://www.unified-automation.com/downloads.html

    ResponderEliminar