• Skip to primary navigation
  • Skip to main content

ProgramaciónSiemens

Cursos online de automatización industrial con PLC Siemens

  • Cursos
  • Mi cuenta
    • Mi cuenta
    • Blog
    • Foros
    • Curso HMI con Python y Qt-Designer
    • Curso de AWL
    • Curso de iniciación a la Industria 4.0
    • Curso Express de TIA Portal
    • Curso de WinCC Flexible 2008
    • Crear HMI con OPC y VB.NET
    • Crear HMI con Snap7 y VB.NET
    • Curso ViSnap7
    • Curso de TIA Portal para CPU 1200
    • Curso de Step 7 V5.x
    • Curso de comunicaciones IE y Profinet
  • Contacto & Faq

El camino hacia OPC UA

El camino hacia OPC UA

por Iñigo Gútiez · 29 Comments

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

  • 1 ¿Qué había antes de los OPC?
  • 2 Llega el OPC
    • 2.1 Pero ¿qué es OPC?
    • 2.2 ¿Cómo funciona la arquitectura OPC?
  • 3 OPC Clásico
  • 4 OPC UA
    • 4.1 OPC UA en Siemens
  • 5 ¿Ya has practicado?

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

Iñigo Gútiez
Iñigo Gútiez

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.

Filed Under: blog

Reader Interactions

    Deja un comentario Cancelar

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

    29 Comentarios

  1. Alfredo says

    16 mayo, 2019 at 10:00

    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.

    Responder
  2. Ainhoa says

    16 mayo, 2019 at 11:54

    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

    Responder
    • Arkaitz says

      22 mayo, 2019 at 23:40

      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.

      Responder
      • Nick Esquivel says

        19 junio, 2020 at 3:13

        hola compañero, pudiste comunicar cx supervisor con plc siemens?

        Responder
        • Iñigo Gútiez says

          19 junio, 2020 at 8:36

          Tenemos una máquina del 2005 que lo tiene hecho, pero no es con lo que suelo trabajar. Y logicamente no con OPC-UA.

          Responder
      • Ainhoa says

        19 junio, 2020 at 12:21

        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,

        Responder
        • Nick Esquivel says

          19 junio, 2020 at 21:19

          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

          Responder
  3. Victor AMADO ESPINAL says

    16 mayo, 2019 at 15:20

    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

    Responder
    • Iñigo Gútiez says

      20 mayo, 2019 at 21:28

      Muchas gracias!

      Responder
  4. Geovani says

    16 mayo, 2019 at 19:57

    Estaría de maravilla que metieras cursos de safety y motion desde parametrizacion hasta programación

    Responder
    • Iñigo Gútiez says

      20 mayo, 2019 at 21:28

      De momento no tengo pensado ningún curso sobre ello.

      Responder
  5. ing jose martin saavedra crisanto says

    17 mayo, 2019 at 6:37

    me interesa favor informar gracias chaval.saludos desde castilla piura peru

    Responder
  6. Antonio says

    17 mayo, 2019 at 11:15

    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

    Responder
  7. Mario says

    22 mayo, 2019 at 17:36

    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

    Responder
    • Iñigo Gútiez says

      22 mayo, 2019 at 18:38

      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

      Responder
  8. Álvaro Pérez says

    24 mayo, 2019 at 19:35

    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.

    Responder
    • Iñigo Gútiez says

      24 mayo, 2019 at 19:38

      Gracias Álvaro

      Responder
  9. David says

    15 febrero, 2021 at 16:24

    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.

    Responder
    • Iñigo Gútiez says

      16 febrero, 2021 at 18:19

      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.

      Responder
  10. raskolnikov says

    3 abril, 2021 at 15:06

    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

    Responder
    • Iñigo Gútiez says

      6 abril, 2021 at 19:57

      Suerte con ello.

      Responder
  11. nila says

    19 abril, 2021 at 10:12

    Hola

    Como podría conectar un PLC S7-1200 servidor opc ua con Labview 2017 ?

    Responder
    • Iñigo Gútiez says

      21 abril, 2021 at 20:47

      Lo siento, con Labview no trabajo.

      Responder
  12. Domian says

    3 mayo, 2021 at 23:05

    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

    Responder
    • Iñigo Gútiez says

      4 mayo, 2021 at 8:12

      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.

      Responder
  13. Alberto vilades says

    4 septiembre, 2021 at 8:25

    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. avl@nuprotec.com

    Responder
    • Iñigo Gútiez says

      4 septiembre, 2021 at 13:51

      Y por qué a través de opc ua? No te vale con opc normal o con ViSnap7 o Snap7 normal?

      Responder
      • Alberto says

        5 septiembre, 2021 at 10:50

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

        Responder
        • Iñigo Gútiez says

          5 septiembre, 2021 at 12:49

          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.

          Responder
  • Aviso Legal y Política de Privacidad
  • Condiciones de Venta
  • Política de cookies
  • Contacto & Faq
  • Blog

Copyright © 2023 · Programación Siemens · Todos los derechos reservados

· ¿Quién soy? · Misión, Visión y valores