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
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.
¿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.