Dentro del curso de IOT e Industria 4.0 nos metemos con el último tramo dedicado al OPC UA.
Qué mejor que ver cuál es el camino que se ha recorrido en la industria hasta llegar a OPC UA, el estándar que supera ampliamente al OPC DA que hemos conocido hasta ahora.
Contenido
¿Qué había antes de los OPC?
Antes de que existiera OPC no existía ningún tipo de estándar de comunicación entre los diferentes PLC (u otras fuentes de datos) y las aplicaciones que recogían los datos (montandos en un PC por ejemplo).
Esto hacía que las compañías hicieran cada una la guerra por su cuenta y las herramientas fueran desarrolladas de forma propietaria por cada una de ellas, haciendo muy complicada la relación entre los diferentes tipos de equipos (hardware) con las diferentes herramientas ofimáticas (software).
Ni que decir que la potencia de comunicación estaba muy limitada y combinar diferentes fabricantes, casi imposible.
Llega el OPC
En 1995 se funda la OPC Foundation con 5 empresas (Rockwell, Opto 22, Intellution, Intuctive Technology y Fisher-Rosemount). La fundación no ha dejado de crecer desde entonces llegando a las 684 empresas en estos momentos.
Pero ¿ qué es OPC?
OPC es un estándar de comunicaciones cuya misión es poner en contacto los equipos industriales y las aplicaciones HMI y Scada. Esto permite, por ser un estándar común, que la integración entre el software y el hardware se haga de una manera más sencilla.
Según la propia fundación su misión es la siguiente:
La misión de la Fundación OPC es gestionar una organización global en la que los usuarios, proveedores y consorcios colaboren para crear estándares de transferencia de datos para la interoperabilidad multiplataforma, segura y confiable en la automatización industrial.
Para apoyar esta misión, la Fundación OPC:
- Crea y mantiene especificaciones.
- Asegura el cumplimiento de las especificaciones OPC a través de pruebas de certificación.
- Colabora con organizaciones de estándares líderes en la industria
Fuente: https://opcfoundation.org/about/opc-foundation/mission-statement/
Pero claro, el tema de la multi plataforma, no siempre estuvo ahí.
En un principio, OPC no era OPC, sino más bien OLE. Se trataba de un desarrollo de Microsoft para permitir la incrustación de documentos y objetos, derivado del intercambio de datos dinámicos (DDE).
Con el tiempo, Microsoft OLE deriva en OLE for Process Control… u OPC.
Posteriormente este acrónimo se transforma en Open Platform Communication
Y así, va avanzando poco a poco hasta lo que conocemos hoy en día. Puedes chequear toda su evolución en la web de OPC Foundation si tienes más curiosidad: https://opcfoundation.org/about/opc-foundation/history/
¿Cómo funciona la arquitectura OPC?
OPC es una arquitectura cliente / servidor. Esto hace que desde los clientes, se gestione el servidor, que es un mandado. Por tanto, el servidor no hace nada por si mismo, sino que realiza las acciones solicitadas por el cliente.
Es el cliente quien pide la información al servidor, a qué velocidad, y este a su vez, lo obtiene del PLC, en nuestro caso.
OPC Clásico
El OPC clásico (OPC DA) depende de Microsoft.
Concretamente del componente DCOM (https://es.wikipedia.org/wiki/Modelo_de_Objetos_de_Componentes_Distribuidos)
Hay varios sabores de OPC, si bien el más habitual es OPC DA cuyas características son:
- Intercambio de datos entre cliente y servidor en tiempo real en forma de valor, calidad y tiempo (VQT)
- Permite navegar y acceder a la información del servidor
- La velocidad de recolección de datos puede ir hasta los 10ms.
- Permite lectura y escritura
Si el servidor OPC DA y la aplicación está ubicado en la misma máquina (mismo PC), realmente es sencillo de operar con él.
El tema se complica si el servidor OPC DA está en un equipo, y el cliente en otro debido:
- Solo soporta Microsoft windows
- No hay acceso VPN
- No soporta paso a través de firewall
- La autenticación se realiza a través de los servicios de componentes de Windows
Vamos, lo dicho. Siempre que se pueda, que el servidor OPC DA y la aplicación HMI o Scada, ahorra muchos dolores de cabeza.
A lo largo del tiempo se han ido realizando diferentes variantes de OPC para solventar parcialmente las dificultades presentadas, hasta llegar al OPC-UA, que resuelve para la industria las complicaciones del OPC DA
¿Qué es OPC UA?
Las siglas UA ya nos dice bastante sobre él ya que significa Arquitectura Unificada (Unified Architecture) y tiene unas características bien definidas:
- No depende del sistema operativo. Puedes encontrarlo en Windows, Linux, Mac..
- No depende por tanto del DCOM de Windows haciendo que sea más amigable con los Firewall.
- Incluye todas las características clásicas, en una sola interfaz.
La conectividad entre el cliente y el servidor es a través de un puerto TCP dedicado.
Además, se puede securizar de una forma sencilla mediante cifrado y certificados.
Tienes una pequeña descripción por la propia OPC Foundation en Youtube:
OPC UA en Siemens
Los equipos 1500 de siemens, así como los HMI Comfort disponen de este tipo de protocolo para realizar comunicaciones de forma segura.
Tienes información suministrada por Siemens siguiendo este enlace.
La idea es poder comunicar los PLC o los HMI con dispositivos fuera de la red que montas con los PLC de una forma segura y razonablemente sencilla.
La Forma en que OPC UA Funciona
Imagina que la arquitectura de OPC UA es como la estructura sólida de un edificio industrial. Une todas las partes para que trabajen juntas. Aquí te muestro los detalles más importantes de cómo funciona.
Datos en Orden con el Modelo de Información de OPC UA
El modelo de información de OPC UA es como un organizador para tus cosas. Cada cosa tiene su lugar en un estante, ¿verdad? Del mismo modo, el modelo de información organiza los datos en categorías. Así, es más fácil encontrar lo que necesitas y usarlo de manera práctica.
Las Habilidades Especiales de OPC UA: Funciones y Capacidades
OPC UA tiene un conjunto de habilidades bastante potentes. No solo permite que las aplicaciones hablen entre sí, también puede hacer otras cosas sorprendentes. Es como un vigilante que mantiene un ojo en los datos, te avisa si algo importante sucede e incluso puede hacer cosas en el servidor. Es como tener un asistente inteligente en tu industria.
Amigo de Todos: Compatibilidad y Plataformas
OPC UA es como el tipo amigable que puede llevarse bien con diferentes tipos de computadoras y sistemas operativos. Es como si hablara muchos idiomas, así que puede unir a equipos que normalmente no se llevarían bien. Es el mediador que hace que todos colaboren sin problemas.
Comunicación en OPC UA
La comunicación en OPC UA es como el hilo invisible que conecta todo en un sistema industrial. Aquí veremos algunas cosas importantes sobre cómo se maneja esta comunicación, como el protocolo que utiliza, la seguridad que brinda y cómo asegura que solo las personas adecuadas tengan acceso.
Protocolo de OPC UA
Piensa en el protocolo de comunicación en OPC UA como el conductor de un autobús. Los clientes suben al autobús y le piden al conductor que los lleve a su destino, que son los datos que necesitan. El conductor (servidor) sabe el camino y se asegura de que todos lleguen de manera segura. Además, el protocolo también permite dos tipos de conversaciones: una donde las personas hablan por turnos (síncrona) y otra donde todos pueden hablar al mismo tiempo (asíncrona).
Manteniendo los Secretos: Seguridad y Encriptación
La seguridad es como un escudo que protege la comunicación industrial y OPC UA lo sabe muy bien. Imagina que estás enviando un mensaje en una botella por el océano. OPC UA coloca esa botella dentro de una caja con candado y asegura que solo la persona con la llave pueda abrirlo. Además, usa códigos secretos para que si alguien intenta abrirlo sin permiso, ¡no entenderán nada!
¿Eres Tú? Autenticación
Autenticación es como mostrar tu identificación antes de entrar a una fiesta exclusiva. OPC UA hace algo similar para asegurarse de que solo las máquinas y usuarios correctos tengan acceso. Imagina que cada uno tiene una tarjeta de identificación única (certificado) y solo aquellos con la tarjeta correcta pueden entrar. También puedes usar un nombre y contraseña o incluso traer tu propio sistema de identificación.
Usuarios
En una fiesta, no todos tienen los mismos permisos, ¿verdad? Algunas personas pueden entrar a todas las áreas, mientras que otras solo pueden estar en ciertos lugares. OPC UA funciona de manera similar, permitiendo que se establezcan diferentes niveles de acceso. Imagina que es como dar pulseras de diferentes colores a los invitados para que solo vayan a las zonas permitidas. Así, se asegura de que cada usuario tenga acceso solo a lo que debe.
En pocas palabras, la comunicación en OPC UA es como una conversación segura entre amigos, donde todos siguen las reglas y se cuidan mutuamente. Utiliza un protocolo amigable, asegura los datos con encriptación y verifica la identidad de todos. ¡Es como la seguridad en una gran fiesta industrial!
Implementación
Hablemos sobre cómo hacer que OPC UA funcione en el mundo de las fábricas y las máquinas. Aquí tienes las partes importantes para lograr una implementación exitosa:
Configuración y Montaje
En esta etapa, es fundamental realizar una correcta configuración y montaje de los sistemas OPC UA. Esto implica la instalación y configuración de los servidores y clientes OPC UA correspondientes, así como la definición de los puntos de datos y variables que se intercambiarán entre ellos. Es importante tener en cuenta aspectos como el tipo de servidor y cliente a utilizar, así como la configuración de las conexiones de red necesarias para establecer la comunicación.
Además, se debe considerar la infraestructura de hardware necesaria para soportar la implementación de OPC UA, como servidores, PC industriales y dispositivos de red. Es recomendable seguir las mejores prácticas de instalación y configuración proporcionadas por los fabricantes y contar con personal capacitado en el uso de esta tecnología.
Integración con dispositivos y aplicaciones
La integración de OPC UA con dispositivos y aplicaciones es otro aspecto crucial durante la implementación. Se deben establecer los protocolos de comunicación adecuados para conectarse con los dispositivos y sensores utilizados en el entorno industrial. Estos protocolos pueden incluir OPC DA, Modbus, MQTT, entre otros.
Asimismo, es necesario asegurarse de contar con los controladores o drivers necesarios para interactuar con los dispositivos y sistemas de la planta. Estos controladores deben ser compatibles con OPC UA y permitir la comunicación bidireccional para la lectura y escritura de datos.
Por otro lado, la integración con aplicaciones existentes también requiere atención. Es importante evaluar la compatibilidad de las aplicaciones con OPC UA y, en caso necesario, realizar las modificaciones o adaptaciones pertinentes para garantizar la correcta comunicación entre ellas y los servidores OPC UA.
¿Ya has practicado?
¿Has realizado algún proyecto con OPC UA? ¿Con OPC DA seguro que sí verdad?
¡Cuenta tu experiencia en los comentarios!
Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí
Puedes seguirme en cualquiera de las siguientes redes sociales.
29 Comentarios
Os admiro por saber tanto de las comunicaciones PLC y demás equipos yo un simple currante de relé y contacto y que siempre le gustó el interior de los trastos. Me paso a los PLC y se me cae el cuerpo viendo que no he llegado a tiempo, machacando y machacando pro el tiempo no perdona en fin tengo tiempo equipos, me gusta programarlos, cosas sencillas pero no puedo ir a más. Me encanta vuestro trabajo por favor continuar, que por todas partes hay gente capaces de entenderla.
Buenos días,
Nosotros con los alumnos hasta ahora hemos trabajado con OPC clásico. Lo hacemos en proyectos en los que tienen que comunicar CX-Supervisor o Autosim con
S7-1200, s7-1500 o s7-300.
También lo hemos utilizado para poder comunicar un robot fanuc viejuno con s7-1500. Con el servidor OPC hemos comunicado con el robot y el plc y a través del cliente (en este caso cx-supervisor) pasamos la información de uno a otro.
Ahora toca OPC-UA! Lo probaremos con s7-1500 y también con los plc B&R que tenemos en la sif-400 de SMC.
Un saludo
Buenas noches Ainhoa,
soy un profesor de formación profesional, en nuestra escuela tenemos robot Fanuc y no he conseguido conectar a un servidor OPC, en nuestro caso al Kepware y viendo que vosotros lo habéis conectado y comunicado con un S7-1500 no sé si nos podrías facilitar información de como lo habéis realizado.
Muchas gracias y un saludo.
hola compañero, pudiste comunicar cx supervisor con plc siemens?
Tenemos una máquina del 2005 que lo tiene hecho, pero no es con lo que suelo trabajar. Y logicamente no con OPC-UA.
Hola Arkaitz,
No había leído tu mensaje. Si todavía no lo habéis hecho, me dices y te digo cómo lo hicimos.
Un saludo,
no lo he hecho todavía, te agradecería tu ayuda, lo que necesito es hacer una simulación con el cx supervisor y conectarlo con el tia portal y plcsim, gracias
Excelente. Gracias por tu informacion y mantenernos al dia con los ultimos avances e integracion Industria 4.0 .Aqi desde Perú -Lima.
Saludos
Victor Amado Espinal
Muchas gracias!
Estaría de maravilla que metieras cursos de safety y motion desde parametrizacion hasta programación
De momento no tengo pensado ningún curso sobre ello.
me interesa favor informar gracias chaval.saludos desde castilla piura peru
Buen trabajo y buena recopilación para tener una visión general del OPC.
Estoy trabajando con OPC-DA, pero en breve pasaré a trabajar con OPC-UA.
Ya os ire contando
Gracias por brindarnos información acerca de los adelantos que se realizan con el tema de la comunicación OPC. Me gustaría aclarar una duda, de que forma podemos comunicar OPC UA con una aplicación de Visual Studio u otro desarrollador.
Me gusta mucho el trabajo que usted realiza creo que es muy importante para todos los que tratamos con los plc de siemens saludos desde Cuba
Echa un vistazo a esta página de Siemens, tendrás por dónde empezar. https://support.industry.siemens.com/cs/document/42014088/programaci%C3%B3n-de-un-cliente-opc-ua-net-con-c-para-el-servidor-simatic-net-opc-ua?dti=0&lc=es-WW
Hola Iñigo:
Me sumo a los comentarios, que siempre son positivos, de todos tus seguidores.
A mi, me aporta mucho la información, que desinteresadamente nos regalas.
Mucho ánimo a seguir con esta labor.
Gracias Álvaro
Hola me gustaría hacerte una pregunta, no encuentro mucho al respecto, ¿un servidor UA podría comunicarse con un Opc DA, o ambos sistemas son incompatibles?. Gracias de antemano un saludo.
Hasta donde yo sé, son incompatibles. Para empezar, porque OPC DA solo es compatible con Windows y OPC UA es multiplataforma, y no se basa en el DCOM de Windows.
Muchas gracias por la explicación, en estos momentos quiero implementar el traspaso de datos de fabrica al depto. de IT por intermedio de OPC UA server en plcs S7-1500 y TP 1200 comfort, en cada ciclo de produccion de la misma. Primero voy a hacer un proyecto sencillo con el 1500 y luego si sale voy a escalarlo.
Saludos desde Argentina
Suerte con ello.
Hola
Como podría conectar un PLC S7-1200 servidor opc ua con Labview 2017 ?
Lo siento, con Labview no trabajo.
Estimado Iñigo, estoy haciendo un trabajo donde tengo una red de PLC S7-1200 de Siemens y dos de ellos hacían de pasarela para una red Modbus RTU de termostatos de siemens también a través del módulo 1241 que es RS-485. Estos PLC se da;aron con un trueno y estoy tratando de utilizar un conversor USB-RS485 para conectar las redes de termostatos directamente a la PC y leerlos y escribirlos desde el Kepware OPC. Eso me funciona bien, el rollo está en la conexión entre el kepware y el Tia portal v13 que es extremadamente lenta, ya probe la red fisicamente y no tiene problema, donde todo se enlentece es a la hora de ller y escribir las variables OPC desde tia portal, sobre todo la escritura. Tienes alguna experiencia al respecto.
Gracias de antemano
Pues no sé donde puede estar el problema. Depende de muchas cosas. Desde que haya algo mal en la red física, demasiados items, red congestionada… imposible de saber desde aquí. Tendrás que seguir investigando.
Muy interesante te.
Alguien me podría hacer un módulo, supongo q en .NET para q se comunicara con PLC SIEMENS 1500 a traves de OPC UA? Únicamente leer/escribir un dato. [email protected]
Y por qué a través de opc ua? No te vale con opc normal o con ViSnap7 o Snap7 normal?
Me piden OPC UA, busco algún programador que me pueda ayudar.
Lo ideal sería una DLL para utilizar desde VB6, sino un programa aparte y comunicarme con él a través de ficheros, por ejemplo le dejo un fichero llamado «R-tal.v2p» si significa que lea (r de read) la variable «tal» y me lo devuelva en un fichero «r-tal-respuesta.p2v» donde el valor de esa variale es «respuesta», y otro para escribir «w-tal-valor.v2p» donde le digo que ponga en la variable «tal» el valor «valor». Algo así.
Pues no sé, tal vez publicándolo en Linkedin te puede presupuestar alguien el trabajo. Por aquí, en un post viejo, va a ser difícil.