¿Qué es OPC?
junio 15, 2023El OPC (OLE for Process Control) es un estándar de comunicación en el campo del control y supervisión de procesos industriales, basado en una tecnología Microsoft, que ofrece una interfaz común para comunicación que permite que componentes de software individuales interactúen y compartan datos. La comunicación se realiza a través de una arquitectura Cliente-servidor. El servidor es la fuente de datos (como un dispositivo hardware a nivel de planta) y cualquier aplicación basada en puede acceder a dicho servidor para leer/escribir cualquier variable que ofrezca el servidor. Es una solución abierta y flexible al clásico problema de los drivers propietarios. Prácticamente todos los mayores fabricantes de sistemas de control, instrumentación y de procesos han incluido en sus productos.
Las aplicaciones necesitan una manera común de acceder a los datos de cualquier fuente, como un dispositivo o una base de datos.
Ventajas
- Los fabricantes de hardware sólo tienen que hacer un conjunto de componentes de programa para que los clientes los utilicen en sus aplicaciones.
- Los fabricantes de software no tienen que adaptar los drivers ante cambios de hardware.
Problema y solución OPC
La solución al problema al contar con tecnología OPC.
Situación
Con OPC, la integración de sistemas en un entorno heterogéneo se tornará simple.
Arquitectura
Arquitectura cliente/servidor
Bases de OPC
Objetos e interfaces
Un cliente se puede conectar a servidores proporcionados por más de un «proveedor».
Esto le puede ser útil para conectarse a más de dos sin necesidad de seguir el mismo protocolo.
Acceso de Datos OPC
Compuesto por varios elementos:El servidor (server)Mantiene información sobre el servidorSirve como container para objetos del grupo OPCEl grupo (group)Mantiene información sobre sí mismoProvee mecanismos para contener/organizar lógicamente itemsEl elemento (item)Representan conexiones a fuentes de datos dentro de un servidor
Gestión de Alarmas y Eventos
AlarmaEs una condición anormal; caso especial de condición.Una condición es un estado concreto del Servidor de Eventos o de uno de los objetos contenidos por dicho servidor, que puede resultar de interés para sus clientes.EventoEs un suceso detectable que es significativo para un servidor, para el aparato al que representa y para sus Clientes OPCPuede estar o no asociado a una condición
Acceso a Datos Históricos
Distintos tipos de servidores históricos:Servidores de datos simplesofrecen solo capacidad de almacenar datosServidores de análisis y compresión de datos complejosofrecen capacidad de compresión y almacenaje de datosofrecen funciones de análisis de datospueden actualizar datos y tener un resumen de actualizaciones
Aplicaciones OPC
- Diseñado principalmente para acceder a datos de un servidor en red.
- Distintas aplicaciones:
– nivel más bajo pueden coger datos de aparatos físicos y llevarlo a SCADA o DCS, o de un servidor SCADA o DCS a una aplicación.
Arquitectura General y Componentes
- Dos tipos de interfaces
OPC especifica la interfaz COM, como: “Lo que la interfaz es y su aplicación y no su implementación”. Especifica el comportamiento esperado que proporciona la interfaz ante el uso y/o aplicaciones del cliente.
- Implementación de funciones de interfaces
- Obligatorio: Funcionalidades indispensables
- Opcional : Funcionalidades añadidas
La arquitectura OPC es un modelo Cliente-Servidor donde el Servidor proporciona una interfaz al objeto y lo controla. Una aplicación cliente se comunica a un servidor a través de un cliente específico por medio de una interfaz de automatización. El servidor lleva a cabo la interfaz cliente, y opcionalmente lleva a cabo la interfaz de automatización
Servidores locales y remotos
- Dos alternativas:
- Los clientes se deben conectar siempre a un servidor local que hará uso de un esquema de red existente.
- El cliente se puede conectar al servidor local/remoto que desee.
Una aplicación cliente, puede conectarse por medio de una red, a varios servidores proporcionados por uno o más fabricantes. De esta forma no existe restricción por cuanto a tener un Software Cliente para un Software Servidor, lo que es un problema de interoperabilidad que hoy en día se aprecia con sistemas del tipo propietario. Sistemas de control supervisorio como lo son SCADA o DCS pueden comunicarse con un Servidor y proveer a este, información de los dispositivos de campo asociados. De esta forma, aplicaciones cliente de otros fabricantes tendrán acceso a estos datos por medio del servidor.
Servidor de Acceso a Datos (OPC DA)
- A un alto nivel, está compuesto por los objetos:
- Servidor: Mantiene la información sobre sí mismo, y unifica los Datos dentro de un Grupo.
- Grupo: Dota de un mecanismo que contiene en forma lógica los ítemes. Se clasifican en público o Local.
- Ítem: Es un valor, una condición y permanece o varía en el tiempo. Es una dirección específica de los datos y no la fuente de datos.
Servidor de Alarmas, Condiciones y Eventos (OPC AE)
- Provee de Interfaces, donde Clientes son notificados de Sucesos. Estos mecanismos se definen como:
- Alarma: Condición anormal de un sistema, por lo que es un caso especial de esta.
- Condición: Estado nombrado evento por contener condiciones asociadas a una etiqueta como HighAlarm, Normal, LowAlarm.
- Evento: Ocurrencia perceptible, de importancia al servidor, de los dispositivos que representa o de sus dispositivos.
Transmisión de paso a paso.
Servidor de Acceso a Datos Históricos (OPC HDA)
Provee de una interfaz Cliente de Acceso a Datos Históricos, que facilita el uso de aplicaciones de acceso a datos. Características: Arquitectura de comunicación abierta y eficaz, concentrada en el acceso a datos y no en los tipos de datos. Propósito: Permite que aplicaciones (MS Office, Objetos WWW) accedan a datos de un dispositivo o un banco de datos “In process”. Facilita el desarrollo de aplicaciones sin sacrificar la funcionalidad de la Interfaz Cliente.
Intercambio de Datos OPC (OPC DX)
Define un conjunto de interfaces que permiten el intercambio de datos, así como la comunicación «server to server» entre dispositivos y controladores conectados a Ethernet, que utilizan distintos protocolos. OPC-DX permite a los servidores OPC-DA intercambiar directamente datos sin la exigencia de un cliente OPC intermedio. La mejor manera de pensar en un servidor OPC-DX es como un servidor OPC-DA que se puede configurar para intercambiar datos con otros servidores OPC-DA. Como es el caso de otros servidores OPC, el cliente aún se utiliza para configurar, controlar y vigilar este intercambio de datos.
Acceso de Datos XML (OPC XML DA)
Se está convirtiendo en el método estándar para el intercambio de datos entre las aplicaciones de empresa y son cada vez más un proceso de control de entornos. OPC XML-DA salió a la luz en 2003 tras varios años de desarrollo, y ofrece una interfaz Simple Object Application Protocol (SOAP) para los objetos OPC DA 2.0/3.0. Esto permite a las aplicaciones cliente ser escritas en Java, Perl, Python, y otros idiomas que soporta SOAP. SOAP y XML Web Services utiliza Protocolo de transferencia de hipertexto (HTTP) y los mecanismos de transporte y, además, proporciona una plataforma neutral más adecuado para el tráfico con base en Internet, en comparación con tecnologías como DCOM. Sin embargo, debido a las limitaciones de rendimiento posible, OPC XML-DA es poco probable que se utilice para aplicaciones en tiempo real, a pesar de que normalmente se usa de puente entre la empresa y la red de control.
Arquitectura Unificada OPC (OPC UA)
Refleja el objetivo de Microsoft de retirar DCOM en favor de .NET y arquitecturas orientadas a servicio. OPC UA integra la funcionalidad de las anteriores especificaciones (OPC DA, OPC-HDA, OPC A & E, OPC-DX, etc). abandona COM / DCOM en favor de dos transportes: SOAP / HTTP (S) y un mensaje binario codificado en la parte superior de TCP. Es prematuro evaluar la seguridad de OPC UA en relación con DCOM, ya que la API UA de seguridad aún está en desarrollo. Sin embargo, dado que ahora existe una mayor conciencia en la OPC Foundation, proveedores, y Microsoft para la necesidad de seguridad, hay poca duda de que .NET proporcionará una base más segura que COM / DCOM. También hacen mucho más sencillo el desarrollo de clientes y servidores en plataformas que no sean de Microsoft.
Seguridad
- Existen tres niveles de seguridad:
- Seguridad Inválida: Libre acceso entre Cliente/Servidor.
- Seguridad DCOM: Clientes seleccionados tienen acceso limitado a servidores OPC. No hay un control total sobre sistemas operativos como Linux, Unix.
- Seguridad OPC: El Servidor sirve como un regulador de control de acceso a fabricantes de sistemas operativos como Linux y Unix sobre objetos específicos de acceso restringido que son expuestos por el Servidor OPC.