Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pero no todo estaba bien con OPC, o OPC Classic como lo llamo ahora. Problemas de seguridad,
dependencia de las plataformas de Microsoft, formas costosas e ineficientes para mover datos,
además de dificultades de mantenimiento, todas plagadas de OPC Classic.
Entonces, a pesar de que OPC Classic ha tenido un gran éxito y funcionó bien cuando se manejó
correctamente, hubo suficiente insatisfacción con sus problemas que se planificó un sucesor para
ello.
No es porque no entiendo lo que es. No es que no entiendo cómo funciona. Y no es que no crea
que sea una herramienta muy valiosa para casi todos los sistemas de pisos de plantas.
Es difícil ponerlo en contexto cuando no hay nada con qué compararlo. Por ejemplo, cuando salió
Profinet IO, pude decirle a la gente que era el equivalente de EtherNet / IP para los controladores
de Siemens. El mismo tipo de tecnología. Básicamente el mismo tipo de funcionalidad. Fácil de
explicar
Pero, ¿cómo explico OPC UA cuando no tiene un equivalente? Se podría decir que se trata de
servicios web para sistemas de automatización. O que es SOA para sistemas de automatización,
un término aún más arcano. SOA es «Arquitectura Orientada a Servicios», básicamente lo mismo
que los servicios web. Eso está bien si eres un chico de TI (o una chica) y entiendes esos
términos. Tienes algún contexto.
Pero si usted es un empleado de la planta, es probable que a pesar de que utilice los servicios
web (es decir, la plomería para Internet), no sepa qué significa ese término.
Entonces, la razón por la que me enojo por responder esta pregunta es porque siempre hacen
otra pregunta que me hace temblar: «¿Por qué necesitamos otro protocolo? Modbus TCP,
EtherNet / IP y Profinet IO funcionan bien «.
Así que debo comenzar con el hecho de que no es como EtherNet / IP, Profinet IO o Modbus
TCP. Es un paradigma completamente nuevo para las comunicaciones de planta. Es como
intentar explicar EtherNet / IP a un programador de PLC en 1982. Sin nada con qué compararlo,
es imposible de entender.
Las personas a las que trato de llegar han vivido con el paradigma de redes de PLC por tanto
tiempo que es una segunda naturaleza. Usted tiene un PLC, es un tipo de dispositivo maestro y
mueve datos dentro y fuera de los dispositivos esclavos. Utiliza una mensajería de tipo
transacción muy simple o algún tipo de mensajería conectada.
En cualquier caso, existe este búfer de datos de salida en una cosa llamada controlador
programable. Hay un búfer de datos de entrada en un grupo de dispositivos llamados servidores,
esclavos o nodos. El búfer de datos de entrada se mueve al controlador programable. Los buffers
de datos de salida se mueven desde el controlador programable a los
dispositivos. Repetir. Siempre. Hecho.
Eso es muy fácil de envolver tu mente. Realmente fácil de ver cómo encaja en su entorno de
fabricación y realmente fácil de diseñar.
OPC UA vive fuera de ese paradigma. Bueno, en serio, eso no es cierto. OPC UA vive en paralelo
con ese paradigma. No lo reemplaza. Lo extiende. Se suma a ello. Le brinda una nueva
funcionalidad, crea nuevos casos de uso e impulsa nuevas aplicaciones. Al final, aumenta la
productividad, mejora la calidad y reduce los costos al proporcionar no solo más datos, sino
también información, y el tipo correcto de información para la producción, el mantenimiento y los
sistemas de TI que necesitan esa información cuando la necesitan.
Nuestros mecanismos actuales para mover datos de planta (pocos o ningún sistema mueven
información) son frágiles. Se requieren enormes cantidades de recursos humanos y de
computación para hacer cualquier cosa. Y en el proceso perdemos muchos metadatos
importantes, perdemos resolución y creamos sistemas frágiles que son una pesadilla para apoyar.
Y ni siquiera preguntes sobre los agujeros de seguridad que crean. Porque cuando hay
problemas, y siempre los hay, lo primero que hacen todos es eliminar la seguridad y reiniciar.
Y debido a todo esto, se pierden las oportunidades para extraer datos de calidad de la fábrica,
interrogar y crear bases de datos de mantenimiento, sistemas de informes de paneles de
alimentación, recopilar datos históricos y sistemas analíticos empresariales de
alimentación. Todas las oportunidades para mejorar los procedimientos de mantenimiento, reducir
el tiempo de inactividad, comparar el rendimiento en varias plantas, líneas y células en toda la
empresa se pierden.
Esta es la brecha que llena OPC UA. No es algo que pueda hacer Profinet IO, aunque los acólitos
devotos impugnen esa afirmación. No es algo que EtherNet/IP pueda hacer. Y sería una broma
hablar de Modbus TCP en este contexto.
OPC UA se trata de modelar «objetos» de manera confiable, segura y, sobre todo, de manera
sencilla, y hacer que esos objetos estén disponibles en la planta, en las aplicaciones
empresariales y en toda la corporación. La idea detrás de esto es infinitamente más amplia de lo
que la mayoría de nosotros hemos pensado antes.
OPC UA es, como sus primos de fábrica, compuesto de un cliente y un servidor. El dispositivo
cliente solicita información. El dispositivo servidor lo proporciona. Pero como podemos ver en el
ejemplo del controlador de bucle, lo que hace el servidor OPC UA es mucho más sofisticado que
lo que hace un servidor EtherNet / IP, Modbus TCP o Profinet IO.
Un servidor OPC UA modela datos, información, procesos y sistemas como objetos y presenta
esos objetos a los clientes de maneras que son útiles para diferentes tipos de aplicaciones
cliente. Mejor aún, el servidor OPC UA proporciona servicios sofisticados que el cliente puede
usar, que incluyen:
Servicios de descubrimiento: servicios que los clientes pueden usar para saber qué objetos
están disponibles, cómo están vinculados a otros objetos, qué tipo de datos y qué tipo están
disponibles, y qué metadatos están disponibles que se pueden usar para organizar, clasificar y
describir esos objetos y valores
Servicios de suscripción: servicios que los clientes pueden usar para identificar qué tipo de
datos están disponibles para las notificaciones. Servicios que los clientes pueden usar para
decidir qué tan pequeños, cuánto y cuándo desean recibir notificaciones sobre los cambios, no
solo a los valores de los datos, sino a los metadatos y la estructura de los objetos.
Servicios de consulta: servicios que entregan datos masivos a un cliente, como datos históricos
para un valor de datos
Servicios de nodo: servicios que los clientes pueden usar para crear, eliminar y modificar la
estructura de los datos mantenidos por el servidor
Method Services: servicios que los clientes pueden usar para realizar llamadas a funciones
asociadas con objetos.
Aún más interesante, estos datos no están necesariamente limitados a un solo nodo físico. Los
objetos pueden hacer referencia a otros objetos, variables de datos, tipos de datos y más que
existen en nodos fuera de otro lugar en la subred o en otro lugar en la arquitectura o incluso en
otro lugar en Internet.
OPC UA organiza procesos, sistemas, datos e información de una manera que es absolutamente
única para la experiencia de la industria de la automatización industrial. Es una herramienta única
que ataca un problema completamente diferente al resuelto por los protocolos EtherNet / IP,
Modbus TCP y Profinet IO Ethernet. OPC UA es una herramienta de entrega y modelado de
información que brinda acceso a esa información a los clientes en toda la empresa.
Terminología OPC UA
Una de las cosas que debe saber sobre OPC UA es que la terminología es un poco diferente de
lo que está acostumbrado a ver. Los términos utilizados en muchos documentos OPC UA son
similares a lo que podría esperar, pero los diseñadores distorsionaron ligeramente los
significados. Probablemente sea porque OPC UA es el primer protocolo que realmente cruza la
línea entre la empresa y la fábrica. Debido a que tiene un pie en ambos mundos, los términos
pueden ser confusos para personas bien versadas tanto en el mundo de TI como en el de fábrica.
Otra razón por la que los términos a primera vista parecen ser un poco confusos es el alcance de
una discusión OPC UA. En IA (automatización industrial), generalmente hablamos de interfaces
entre componentes de software que cohabitan en un procesador. O hablamos de dispositivos en
la misma subred que se comunican a través de interfaces muy bien definidas y muy restrictivas
(EtherNet / IP, Modbus TCP o Profinet IO). En el mundo de Internet, las personas hablan de
servicios genéricos con mucha más flexibilidad y capacidad que las interfaces entre los
dispositivos de fábrica.
APLICACIÓN OPC UA: en redes industriales, generalmente hacemos una distinción entre la
aplicación del usuario final y la pila de protocolos. La aplicación del usuario final implementa algún
conjunto de funcionalidades definidas. La pila de protocolos mueve datos bien definidos entre la
aplicación y algún dispositivo externo mediante una interfaz muy restrictiva. No es exactamente lo
mismo en OPC UA. En OPC UA, he encontrado que la aplicación OPC UA hace referencia a la
aplicación del usuario final, al modelo de objetos OPC UA y al conjunto de servicios OPC UA
implementados por el dispositivo OPC UA. Este es un uso mucho más abarcador del término.
OPC UA CLIENT: un punto final de OPC UA cliente es el lado de una comunicación OPC UA que
inicia una sesión de comunicación. Los clientes en OPC UA son mucho más flexibles que otros
clientes de red. Los clientes OPC UA tienen la capacidad de buscar y descubrir servidores OPC
UA, descubrir cómo comunicarse con el servidor OPC UA, descubrir qué capacidades tienen los
servidores OPC UA y configurar el servidor OPC UA para entregar datos específicos cuando y
cómo lo quiero. Los clientes OPC UA generalmente admitirán diferentes asignaciones de
protocolos para que puedan comunicarse con todos los diferentes tipos de servidores.
OPC UA SERVER: un punto final del servidor OPC UA es el lado de una comunicación OPC UA
que proporciona datos a un cliente OPC UA. No existe un servidor OPC UA estándar en
funcionalidad, rendimiento o tipo de dispositivo. Los dispositivos desde sensores pequeños hasta
enfriadores masivos pueden ser servidores OPC UA. Algunos servidores pueden alojar solo un
par de puntos de datos. Otros pueden tener miles. Algunos servidores OPC UA pueden usar
mapeos con alta seguridad y menor rendimiento XML, mientras que otros pueden comunicarse
sin seguridad utilizando la codificación binaria OPC UA de alto rendimiento. Algunos servidores
pueden ser completamente configurables y ofrecer al cliente la opción de configurar vistas de
modelo de datos, alarmas y eventos. Otros pueden ser completamente fijos.
API (interfaz de programa de aplicación) –Una API es el conjunto de interfaces de software que
permiten que una aplicación de software utilice los servicios de otra aplicación de software. En el
mundo industrial, esto normalmente se refiere a la interfaz entre dos piezas de software que
cohabitan en el mismo procesador. En el mundo de Ethernet, la API puede referirse a las
interfaces que necesita un dispositivo cliente para acceder a los servicios disponibles de algún
servicio web remoto. En OPC UA, la API generalmente se refiere al conjunto de interfaces que un
proveedor de kit de herramientas OPC UA proporciona a un desarrollador de dispositivos. Debido
a que los diferentes kits de herramientas están diseñados de manera diferente, las API funcionan
de manera diferente. La API puede incluir interfaces para el modelo de datos. En otros casos, la
API solo puede conectar los tres componentes principales de OPC UA: la capa de codificación, la
capa de seguridad y la capa de transporte.
SERVICIOS WEB: servicios web es un término genérico para unir de forma estructurada los
servicios de Internet (aplicaciones). La mayoría de las aplicaciones de Internet hoy en día se
construyen utilizando servicios web. Con los servicios web, puede encontrar servicios fácilmente,
obtener las interfaces y las características de las interfaces y luego vincularlas. HTTP, SOAP,
XML son las tecnologías básicas de las aplicaciones de servicios web y son algunas de las
tecnologías que pueden ser utilizadas por los clientes y servidores OPC UA.
CODIFICACIÓN XML OPC UA: la codificación XML es una forma de serializar datos mediante el
lenguaje de marcado extensible (XML). Una codificación es una forma específica de asignar un
tipo de datos a los datos reales que aparecen en el cable. En la codificación XML, los datos se
asignan a la representación de caracteres ASCII altamente estructurada utilizada por XML. XML
puede ser engorroso, grande e inhibir el rendimiento, pero la codificación se utiliza porque una
gran cantidad de programas de aplicaciones empresariales admiten XML de forma
predeterminada.
OPC DA (Data Access): utilizado para el acceso a datos actuales de los procesos.
OPC A&E (Alarm and Events): utilizado para información de eventos y alarmas.
OPC HDA (Historical Data Access): acceso a datos históricos ya almacenados.
La interfaz OPC DA es actualmente la más importante de OPC y la utilizada en la mayoría de los dispositivos
que implementan el protocolo. Las interfaces OPC A&E y OPC HDA son menos relevantes y se utilizan a modo
de complemento de OPC DA.
Después del lanzamiento de la primera versión de OPC, nace OPC XML DA, que es el primer intento de OPC
de crear una especificación OPC independiente de la plataforma, reemplazando la tecnología propietaria de
Microsoft COM/DCOM por HTTP/SOA y tecnologías web, manteniendo la funcionalidad de OPC-DA. El
problema de OPC XML DA fue su bajo rendimiento y consumo elevado de recursos.
Es por estos problemas por lo que nace OPC UA, es decir, por la necesidad real de una herramienta
independiente de la plataforma (del sistema operativo subyacente), pero manteniendo el rendimiento y las
características del OPC clásico.
La aparición de OPC UA supone un cambio total de paradigma en las infraestructuras OPC. Windows deja de
ser un requisito obligatorio al pasar el protocolo a ser independiente de la plataforma. Es tanto el cambio que
supone OPC UA, que hasta cambia el significado de las siglas OPC, de OLE for Procces Control a Open
Platform Communication.
El objetivo principal de OPC UA es unificar toda la arquitectura OPC clásica en una infraestructura
independiente de la plataforma, manteniendo toda la funcionalidad, evitando así la dependencia de los sistemas
de Microsoft y de su tecnología COM/DCOM. Para ello, define los mecanismos de transporte y modelo de
datos.
En cuanto al transporte define dos mecanismos, como ya se han mencionado anteriormente. Por un lado, un
protocolo TCP binario de alto rendimiento para comunicaciones intranet y acceso a los estándares de Internet
aceptados como HTTP.
En cuanto al modelo de datos define las reglas y bloques necesarios para el acceso al espacio de direcciones.
Los servicios en OPC UA se definen de manera abstracta y se utilizan los mecanismos de transporte para
intercambiar datos entre cliente y servidor. Gracias a esta abstracción, un cliente puede acceder a los datos sin
entender el modelo de datos subyacente.
-Flujo de comunicación de una aplicación OPC UA-
Autenticación de la aplicación
Mediante el mecanismo de autenticación, se permite a las aplicaciones que corren bajo OPC UA identificarse
las unas a las otras. Para ello, poseerán un certificado digital que comparte en la fase de conexión.
En cambio, en OPC clásico, no todos los clientes y servidores OPC soportan este tipo de restricciones, por lo
que normalmente no se encuentra configurado. Además, configurar la autenticación de las aplicaciones
requiere mucho trabajo, ya que requiere configurar todos los elementos DCOM.
Por lo tanto, OPC UA aporta mayor facilidad a la hora de implementar mecanismos de autenticación de la
aplicación en comparación con la versión clásica.
Confidencialidad e integridad
La confidencialidad e integridad de los datos se contempla en la capa de transporte de OPC UA mediante el
cifrado de las comunicaciones. Si se utilizan los servicios web para la comunicación, se usa el protocolo WS
Secure Conversation. En caso de la versión TCP binaria se utiliza una adaptación de WS Secure Conversation.
Por último, existe una versión mixta en la cual se utiliza TLS.
En cuanto al cifrado de los datos en OPC clásico, DCOM puede configurarse para proporcionar tanto el firmado
de los datos como el cifrado. El problema de DCOM es que no tiene el cifrado habilitado por defecto y por lo
tanto, debe ser configurado.
Tanto en el estándar OPC clásico como en OPC UA es posible el cifrado de las comunicaciones, la principal
diferencia reside en que en OPC UA el cifrado se encuentra habilitado por defecto, mientras que en el estándar
clásico ha de ser implementado manualmente.
Conclusiones
Algunos incidentes de seguridad como CrashOverride ponen de manifiesto las debilidades que posee el
estándar OPC clásico y es por ello que la OPC Foundation define en su último estándar, OPC UA, nuevos
mecanismos de seguridad que son obligatorios y que aportan un nivel superior respecto a la versión OPC
clásico.
Etiquetas:
Sistema de Control Industrial