OPC ( abreviatura del inglés Open Platform Communications [1] , anteriormente inglés OLE para Process Control ) es una familia de tecnologías de software que proporciona una interfaz única para administrar objetos de automatización y procesos tecnológicos . Muchos de los protocolos OPC están basados en tecnologías Windows : OLE , ActiveX , COM / DCOM . Los protocolos OPC como OPC XML DA y OPC UA son independientes de la plataforma .
La creación y el mantenimiento de las especificaciones OPC están coordinados por la organización internacional sin fines de lucro Fundación OPC , establecida en 1994 por los principales fabricantes de herramientas de automatización industrial.
El lema de la Fundación OPC es "Comunicaciones abiertas sobre protocolos abiertos".
OPC es un conjunto de especificaciones estándar . Cada estándar describe un conjunto de funciones para un propósito específico. Estándares actuales [2] :
El estándar OPC se desarrolló para reducir el costo de crear y mantener aplicaciones de automatización industrial. A principios de 1990, los desarrolladores de software industrial necesitaban una herramienta universal para intercambiar datos con dispositivos de diferentes fabricantes o utilizando diferentes protocolos de intercambio de datos.
La esencia de OPC es simple: proporcionar a los desarrolladores de programas industriales una interfaz fija universal (es decir, un conjunto de funciones) para intercambiar datos con cualquier dispositivo. Al mismo tiempo, los desarrolladores de dispositivos proporcionan un programa que implementa esta interfaz (conjunto de funciones).
Por el momento, la última versión de la especificación OPC DA es la versión 3.0, pero la versión 2.05a es la más utilizada hasta el momento. El estándar OPC UA (Arquitectura unificada) recientemente desarrollado unifica el conjunto de funciones para el intercambio de datos, el registro de eventos, el almacenamiento de datos y la seguridad de los datos.
El más ampliamente usado. Además del intercambio de datos síncronos, este estándar introduce soporte para el intercambio de datos asíncronos. El intercambio de datos asíncrono le permite continuar la ejecución del programa sin esperar una respuesta del dispositivo. Este método reduce la carga en la red y debe recomendarse como el principal. Los datos se reciben mediante la función de devolución de llamada del programa de usuario, que se llama cuando se recibe una respuesta del dispositivo.
La especificación OPC UA combina todas las ventajas de las especificaciones anteriores y abre nuevos horizontes para la aplicación de tecnologías OPC. En particular, debido al hecho de que hubo una negativa a utilizar la interfaz COM, se garantiza la compatibilidad entre plataformas. El nuevo estándar ya permite inicialmente un mayor nivel de seguridad de datos que OPC DA. Además, la nueva especificación permite organizar la transferencia de información a través de Internet.
Los lenguajes de programación más comunes utilizados para crear aplicaciones habilitadas para OPC son Delphi , C++ , C# o Visual Basic . Es posible utilizar el lenguaje Python.
Según el alcance de los servidores OPC en el sistema de control automatizado de una empresa, existen varios niveles de gestión:
Cada una de estas capas puede ser atendida por un servidor OPC, suministrando datos a un cliente OPC en una capa superior o incluso a un "vecino".
Si hay hardware, como una placa ADC , controlado a través de un controlador en una computadora con Windows u otro sistema operativo compatible con COM / DCOM , entonces este es un candidato principal para implementar un servidor OPC directamente sobre el controlador.
Reemplazar un dispositivo no requiere cambiar otras aplicaciones: el servidor OPC cambia, pero la interfaz OPC en sí sigue siendo la misma.
Si hay un dispositivo controlado a través de algún protocolo de red, es muy posible implementar un servidor OPC que reciba datos a través de este protocolo. La única característica es que se deben proporcionar mecanismos para restablecer la comunicación en caso de fallas.
El esquema será algo más complicado al ejecutar aplicaciones de control en una computadora que no soporte COM/DCOM. En este caso, se aplica un servidor OPC de dos componentes. En el lado del sistema operativo que no es compatible con COM, se instala un módulo de red que, por un lado, está conectado a la(s) aplicación(es) y, por otro lado, a través de la red con el servidor OPC. Tenga en cuenta que el módulo de red puede ser estándar, como ISaNet en el sistema ISaGRAF . En este caso, solo se necesita desarrollar el servidor OPC. A veces, se crea un módulo de red específicamente para un servidor OPC. Incluso es posible implementar este módulo sin ser específico de la aplicación, pero proporcionando alguna API para cualquier aplicación que desee ser atendida por OPC. Así funciona el servidor OPC para el sistema operativo OS-9 .
Otro tipo de servidor OPC es una puerta de enlace a una red de bus de campo , como Profibus o LonWorks . La implementación de este esquema es muy similar a los casos anteriores. Lo más probable es que se instale un adaptador de red de bus de campo en la máquina con Windows y el servidor OPC se comunicará con esta red a través del controlador del adaptador. Puede encontrar muchos ejemplos de este tipo en Internet.
La idea de tal esquema es bastante obvia. La red de bus de campo opera en tiempo real estricto y OPC proporciona una puerta de enlace menos exigente a esta red desde aplicaciones de nivel superior.
Hay muchos otros lugares donde se puede utilizar OPC: para trabajar con bases de datos como servidores OPC auxiliares o intermedios, etc. La tecnología DCOM no es muy adecuada para redes de área amplia. Por lo tanto, para atraer tecnologías de Internet a la tecnología OPC, es posible la siguiente manera: la extensión del servidor web es un cliente OPC que recopila datos de los servidores OPC. Y en el lado del cliente, se lanza una página dinámica html - o xml - que recibe datos de este servidor Web. Incluso se puede convertir en un servidor OPC para otras aplicaciones.
La utilidad de usar OPC en términos de integración es bastante transparente y se deriva de la esencia misma de OPC. Este es un estándar para la interfaz de intercambio de datos con el equipo. La primera ventaja es que si reemplaza un componente, no hay necesidad de corregir otro software, porque incluso cuando reemplaza un controlador, OPC funciona sobre él. En segundo lugar, si desea agregar nuevos programas al sistema, no es necesario proporcionar controladores de dispositivo en ellos, a excepción del cliente OPC, por supuesto. Bueno, y así sucesivamente.
En la actualidad, solo las especificaciones OPC DA y OPC HDA son el estándar aceptado, y el resto de las especificaciones apenas comienzan a ponerse de moda. No todas las especificaciones están completas, al menos en términos de la interfaz de automatización (por ejemplo, la versión 2.0 de la interfaz personalizada ya existe para OPC-Batch, y solo la versión 1.0 para la interfaz de automatización. Para algunas otras especificaciones, también hay un retraso de interfaces de automatización desde interfaces personalizadas).
En consecuencia, solo el estándar OPC DA se ha generalizado. Podemos decir que ahora realmente muchos fabricantes suministran sus productos con servidores OPC DA. En los últimos años, el estándar OPC HDA se ha desarrollado activamente. No se puede decir lo mismo de otras especificaciones.
Entre los programas de alto nivel, el panorama es similar. Solo OPC DA está en demanda.
De los sistemas operativos, la tecnología COM / DCOM es compatible con los siguientes:
Otros sistemas operativos comunes no admiten COM/DCOM.
Una gran cantidad de hardware y software no está cubierto por las tecnologías OPC. Por otro lado, Microsoft ya no desarrolla COM/DCOM, que está siendo reemplazado por tecnologías más modernas como .NET.
La Fundación OPC está frenando el desarrollo del estándar con sus políticas. La documentación de la interfaz está disponible solo para los miembros de esta organización. La membresía cuesta desde varios miles de dólares, que no está disponible no solo para desarrolladores individuales, sino incluso para muchas organizaciones. Esto explica la popularidad de OPC DA, la documentación sobre esta interfaz ha estado disponible gratuitamente durante mucho tiempo. Como resultado, muchas empresas que no quieren involucrarse con una tecnología bastante caprichosa, tienen buenos programadores de bajo nivel en su personal y trabajan con una gama limitada de controladores, utilizan la tecnología CORBA para sus paquetes SCADA.
La tecnología OPC ofrece estándares para el intercambio de datos de proceso con la más amplia gama de posibilidades. Dado el alto perfil de las empresas involucradas, se puede esperar que la tecnología OPC gane impulso. Esta es una tecnología prometedora para la integración de sistemas heterogéneos. Aunque el proceso de formación está lejos de ser completo y hay muchos problemas por resolver.