Tecnologías de integración MICROSOFT para la supervisión de Procesos industriales Ing. Eddie Sobrado
Tecnologías de integración
MICROSOFT para la
supervisión de Procesos
industriales
Ing. Eddie Sobrado
• El Component Object Model (COM) es un concepto
de Microsoft utilizado para la comunicación entre
componentes del mismo ordenador. Los
componentes de diferentes ordenadores pueden ser
combinados utilizando el DCOM (ver DCOM).
Com Component Object Model
• Los primeros computadores personales tenían
capacidades limitadas y empleaban sistemas operativos
simples que solo podían ejecutar un proceso (programa
en ejecución) a la vez.
• Con el desarrollo de procesadores más poderosos y de
sistemas operativos más sofisticados se hizo posible la
ejecución de varios procesos de forma (aparentemente)
simultánea incorporando técnicas de tiempo compartido.
• Pronto se sintió la necesidad de contar con mecanismos
de intercambio de información entre procesos
(programas en ejecución).
Evolución de DCOM
• El Distributed Component Object Model (DCOM) es
un conjunto de conceptos de Microsoft e interfaces
de programa, en el que los elementos del programa
del servidor pueden solicitar los servicios de los
objetos de servidores en otros ordenadores de la red.
El DCOM está basado en el Component Object
Model (COM), que provee un conjunto de interfaces
que permiten a los clientes y servidores comunicarse
dentro del mismo ordenador.
Evolución de DCOM
Evolución de DCOM
• Los primeros intentos de ofrecer comunicación entre procesos en los ambientes Windows fueron el DDE (Dynamic Data Exchange) y el Clipboard.
• Microsoft introdujo en 1992 la tecnología OLE (Object Linking and Embedding). OLE introduce los conceptos de objeto y componente.
• COM surge para satisfacer la necesidad de Microsoft de modularizar las complejas aplicaciones modernas.
• COM permite la creación
de componentes reutilizables
que pueden ser desarrollados
de manera independiente
los unos de los otros.
• A continuación mencionaremos los
primeros y actuales mecanismos que
ofrecen comunicación entre procesos
en los ambientes Windows
• La comunicación DDE (Dynamic Data Exchange) es una forma de Comunicación Interprocesos que usan memoria compartida para intercambiar datos entre aplicaciones dentro de Windows
• Su principal característica es que las aplicaciones que se comunican es de manera constante, es decir, cualquier modificación de una variable en una de las aplicaciones repercute inmediatamente en la otra aplicación.
Ejemplo: establecer un enlace nediante DDE entre el programa WinCC (Siemens) y una hoja de EXCEL (Microsoft), para que las variables del procesos sean accesibles desde la hoja de cálculo.
Comunicación DDE
• Cuando dos o más aplicaciones compatibles con DDE se ejecutan simultáneamente, se hace posible que intercambien información, datos y comandos. El DDE ha sido mejorado con tecnología Object Linking and Embedding (OLE).
Comunicación DDE
• Si un grupo de variables debe ser compartido, la aplicación server DDE proveerá datos para intercambiar datos dinámicos con uno o mas clientes DDE. El server DDE se „apropia‟ de todas las variables, entonces los clientes se refiere a esas variables para leer o escribirlos.
• La dirección de las variables compartidas consiste de tres partes:
Comunicación DDE
a.Service: (application):en el mayor de los casos consiste en el nombre de la aplicacion
b.Topic:el nombre del area de dato c. Item:the nombre del data item (esto
es ingresado por el usuario)
Comunicación DDE
• La desventaja de la comunicacion DDE, es la transferencia lenta entre el server DDE y la aplicacion (esto se eleva si hay varias aplicaciones clientes)
• Otra desventaja y muy esencial es la imposibilidad para configurar mensajes individuales. Es imposible por ejemplo setear que entradas analogicas tengan que ser transferidas una vez cada minuto y las entradas digitales una vez cada segundo
• El ancho de banda era limitado (la información se transfiere en formato de caracteres) y no se podía enviar información a través de redes.
• El OPC es una mejor y mas rapida interface que el DDE, pero a veces no esta disponible el server OPC y tienes solo el server DDE
Comunicación DDE
1992 Windows 3.1 & Object Linking &
Embedding 1.0 (OLE) En cuanto apareció, ya
se intuía que OLE iba a desplazar al DDE
para intercambio de datos, ya que era más
flexible, robusto y usaba mecanismos de
transporte mas eficientes.
• COM (Component Object Model) permite que una
aplicación utilice funcionalidades de otra aplicación
residente en la misma computadora, ello se hace
incorporando a la aplicación principal objetos
software propios de la otra aplicación.
• DCOM (Distributed COM) supone extender el
estándar COM a sistemas formados por redes.
COM / DCOM
• DCOM (Distributed Component Object Model) es el resultado de la evolución y convergencia de dos tecnologías: la comunicación inter-procesos en los ambientes Windows de Microsoft y los esfuerzos del la OSF (Open Software Foundation) para desarrollar un ambiente de computación distribuido (DCE, Distributed Computing Environment), en particular un protocolo para la invocación de procesos remotos (RPC, Remote Procedure Calls).
COM / DCOM
• VBA es el lenguaje de programación (basado en scripts)
incorporado en las aplicaciones de Microsoft Office y
ofrece diversas ventajas. Está muy extendido y es
aceptado por diversos fabricantes, por lo que se ha
convertido en un estándar “de facto” .
• El uso de un lenguaje común también facilita la
integración de objetos suministrados por terceros, en la
medida que aplican este mismo estándar. Además,
permite interactuar directamente con las aplicaciones de
Office (Access, Excell, Word, …), y de otros productos
compatibles.
Visual Basic for Applications (VBA)
OPC
(OLE para el Control de Proceso)
• Antes del OPC, cada software requería de un interfase específico (servidor, driver) para intercambiar datos con una determinada familia de dispositivos de campo.
Software Driver
Software Driver
Software Driver
Software Driver
Aplicacion
Grafica
OPC: necesidad
Aplicacion
Tendencias
Aplicacion
Informes
• Además, para intercambiar datos entre aplicaciones se utilizaba el estándar DDE o bien interfaces específicas para cada pareja de aplicaciones
• Por tanto se presentaba una dificultad en las operaciones de control industrial, como la de compartir información entre dispositivos inteligentes de campo, así como también con el resto de la empresa.
• Esta diversificación obligaba a los desarrolladores de software SCADA a incorporar centenares de drivers para cada fabricante.
OPC
• OPC elimina esta necesidad y permite utilizar una misma interface para comunicar aplicaciones, dispositivos y drivers. Los proveedores, tanto de hardware como de software, pueden suministrar productos con una elevada conectividad y compatibilidad, y los usuarios tienen una amplia gama de opciones para construir la solución que mejor se adapta a sus necesidades.
Aplicaciones
empleando
varios
servidores (de
diferentes
fabricantes) a
la vez
Software Driver
Software Driver
Software Driver
Software Driver
OPC OPC OPC OPC
Aplicacion
Grafica
Aplicacion
Tendencias
Aplicacion
Informes
OPC OPC OPC
OPC
• Por tanto, OPC es una interfaz estándar de comunicación en
el campo del control y supervisión de procesos
proporcionando un acceso simple a los datos, permitiendo el
nexo de las aplicaciones a cualquier componente de
automatización que este en red por medio de un bus de
campo o Ethernet Industrial
• Este estándar permite que diferentes fuentes de datos envíen datos a un mismo servidor OPC, al que a su vez podrán conectarse diferentes programas compatibles con dicho estándar.
Que es OPC
Driver 1 Driver 2 Cliente OPC Cliente OPC
Controlador de dispositivo
Dispositivo Hardware
Servidor OPC
Dispositivo Hardware
• Es una norma de intercambio de datos para el nivel de
planta basada en la tecnología de Microsoft COM/DCOM
y OLE (Object Linking and Embedding) denominada OPC
(OLE for Process Control), que permite un método para el
flujo transparente de datos entre aplicaciones corriendo
bajo sistemas operativos basados en Microsoft Window.
• La tecnología COM permite la definición de objetos
estándar así como de métodos y propiedades para los
servidores de información en tiempo real. La tecnología
OLE Automation posibilita comunicar las aplicaciones con
datos recibidos a través de LAN, estaciones remotas o
Internet.
• OPC es un primer paso concreto que permite tener una
red, para compartir los datos de los dispositivos a nivel
de proceso.
Que es OPC
Ejemplo sin OPC
PLC de Siemens PLC de Schneider
Supervisión
Problema
• El fabricante puede no dar un driver
de comunicación
• Necesario driver especifico para cada
marca
Proceso Proceso
Driver de
comunicación
con Siemens
Driver de
comunicación
con Schneider
Ejemplo con OPC
PLC de Siemens PLC de Schneider
Supervisión
Solución
• Solo necesito desarrollar un único
driver OPC
• Con OPC puedo cambiar de fabricante
sin realizar ningún cambio
Proceso Proceso
Interface
OPC
Ejemplo sin OPC
PLC de
Siemens
PLC de
Schneider
Supervisión
Proceso Proceso
Servidor
OPC
Servidor
OPC
Cliente
OPC
Interface
OPC
aplicación
Interface
OPC
• La arquitectura del OPC es Cliente/Servidor.
• Las aplicaciones que requieren servicios, los piden como clientes desde los componentes de automatización, y los servidores a su vez proveen la información requerida. La idea del OPC esta en normalizar el interface entre el servidor OPC y el cliente OPC independientemente de cualquier fabricante particular
• Los servicios prestados por los servidores OPC para clientes OPC por medio del interface OPC típicamente implican la lectura, cambio y verificación de variables de proceso. Mediante estos servicios es posible operar y controlar un proceso.
OPC
Datos de un SCADA,
PLC o cualquier fuente
de datos
Servidor
OPC Cliente
OPC
Como se conecta la aplicación Cliente al
Server OPC en la practica?
• Un DLL se proveee para dar la Interface
Automation OPC al programa Visual Basic
• Esta DLL enlaza el Server OPC (RSLinx) y el
programa cliente Visual Basic
Como se conecta la aplicación Cliente al
Server OPC en la practica?
Visual Basic: Metodos, Eventos & Propiedades
OPC Server: RSLINX
• OPC permite comunicar un software SCADA y los buses
de comunicación con los autómatas, así como comunicar la
aplicación SCADA y otras aplicaciones como puedan ser
las de gestión, abriendo a estas últimas el acceso a los datos
de planta, como datos históricos, datos batch, etc.
• Una interfaz OPC es un conjunto de interfaces COM
(objetos COM)
OPC
OPC
• Diferentes vendedores pueden proveer servidores OPC.
• Los vendedores indican el dispositivo y los datos a el cual
cada servidor tiene acceso.
•OPC es un conjunto de estandares (protocolos) entre los que podemos destacar los siguientes:
– OPC-DA (Data Access): OPC acceso a datos, el original, sirve para el intercambio de datos a tiempo real entre servidores y clientes.
–OPC-AE (Alarms & Events): Proporciona alarmas y notificaciones de eventos.
–OPC B (Batch).- Útil en procesos discontinuos.
–OPC DX (Data eXchange): Proporciona interoperabilidad entre varios servidores.
–OPC HDA (Historical Data Access): Acceso histórico a datos OPC.
OPC
–OPC S (Security): Especifica cómo controlar el acceso de los clientes a los servidores.
–OPC XML-DA (XML Data Access): Sirve para el intercambio de datos entre servidores y clientes como OPC-DA pero en vez de utilizar tecnología COM/DCOM utiliza mensajes SOAP (sobre HTTP) con documentos en XML.
–OPC CD (Complex Data): Permite a los servidores exponer y describir tipos de datos más complicados en forma de estructuras binarias y documentos XML
OPC
Que proporciona OPC Data Access?
• Datos de sensores: presión, caudal, temperatura, etc
• Parámetros de control: abierto, cerrado, arranque, parada
• Información de estado: estado de hardware y las conexiones
• En general cualquier dato que un servidor desee exportar
Interfaces OPC
Datos de
sensores
Estado de las
comunicaciones
Rendimiento
del sistema
Estadísticas
del SO
Compuesto por varios elementos:
El servidor (server): Sirve como container para objetos del grupo
OPC. Es el Objeto al que se conectan las aplicaciones. Los
servidores están organizados en grupos y cada grupo puede
contener distintos items
El grupo (group): El servidor genera grupos OPC. Las diferentes
partes de la aplicación (displays de operador, informes, etc.)
pueden usar distintos grupos, los cuales pueden tener distinta
frecuencia de refresco y pueden ser de acceso secuencial o
basado en excepciones (eventos). Los grupos tienen items que
son datos del servidor
El elemento (item): Están dentro de los grupos OPC.
Representan conexiones a fuentes de datos (tags, variables de
proceso).
Acceso de Datos OPC: OPC-DA
•A cada item se asocia un nombre, valor (valor de la
variable de proceso), un cualificador (estado de la variable,
OK, bajo rango, etc.) y una marca de tiempo
•El cliente puede leer y escribir items: Las lecturas pueden
ser sincronas o asíncronas
Servidor OPC
Acceso de Datos OPC: OPC-DA
Grupo OPC Grupo OPC Grupo OPC
Ítem OPC Ítem OPC Ítem OPC
Ítem OPC Ítem OPC Ítem OPC
Ítem OPC Ítem OPC Ítem OPC
Interfaces COM
Mapeo de Variables
Interfaces COM
Datos reales
Grupo OPC
Ítem OPC
Ítem OPC
Ítem OPC
Ítem OPC
Servidor OPC
FIC101
FIC102
TIC101
TIC102
SCADA
SISTEMA DISTRIBUIDO
(DCS)
Acceso de Datos OPC: OPC-DA
OPC Alarm & Events: OPC A&E
• Los servidores OPC A&E proporcionan:
– Mecanismos para informar de condiciones de alarma
– Interfaces para que los clientes conozcan las alarmas
que soporta el servidor y el estado actual
• Los servidores OPC A&E son necesarios para señalar:
– Alarmas sobre datos de sensores: presión, temperatura...
– Alarmas sobre parámetros de control: start, stop, open...
– Actualizaciones sobre estado de información(HW,SW)
– Completar secuencias “batch”
– Otro tipo de eventos que no están en servidores OPC DA
OPC Alarm & Events : OPC A&E
• Eventos
– Acontecimiento reseñable. Asociado o no a una
condición.
– Se distinguen tres tipos de eventos.:
• Condition Related: asociados a una condición
• Tracking Related: no asociados con alarmas, pero
implican interacción cliente servidor
• Simple: Usados para codificar errores materiales
• Alarmas
– Condición anormal a un proceso. Asociada o no a una
condición
OPC Historical Data Acces: OPC HDA
• Define la manera en la que son tratados los archivos OPC
• Items: Los items OPC HDA comprenden:
– Identificador
– Valor
– Calidad
– Agregado al que pertenecen
– Atributos
• Atributos: Describen parámetros propios del Item (nombre, tipo de dato, unidad de conversión...).
• Agregados: Especifican el tratamiento a los datos
OPC DX – OPC Data Exchange : OPC DX
• OPC DX define:
– Comunicaciones servidor a servidor a través de redes
de comunicación Ethernet
– Servicios de gestión y configuración remotos
– Extensiones del estándar OPC Data Access
OPC DX – OPC Data Exchange : OPC DX
Ventajas de utilizar OPC
• OPC-DA ofrece un estándar de acceso a datos entre sistemas propietarios de control y automatización.
• Integración tecnológica de diferentes fabricantes dentro de un mismo sistema.
• Costos de desarrollo menores, por trabajar en una plataforma “universal” (OLE/COM), evitando duplicidad de esfuerzos.
• Desarrollar sistemas específicos, según nuestras necesidades y no las que nos ofrezcan los fabricantes.
• Integrar múltiples plataformas (Windows, Linux, Unix, suSe) mediante la utilización de COM, DCOM, Active X y Entire X.
• Comunicación en redes LAN y WAN como así también exportar datos a Internet
• Por medio de Softwares industriales específicos se puede lograr un mayor control dentro del proceso productivo, y optimizar Materias Primas, Recursos,Costos, etc.
Ventajas de utilizar OPC
• OPC-DX ofrece un estándar operacional e interconectividad
en Buses de Campo
• OPC-DX extiende la funcionalidad de OPC-DA, trabajando con
ella, permite:
• Interconectividad Plug and Play con múltiples oferentes de
Buses de Campo.
• Arquitectura de integración más versátil. Múltiples Buses de
Campo podrán operar e intercambiar datos entre sí. Lo anterior
con lleva a aminorar los costos de Hardware y Software.
• Acceso a datos en tiempo real y de manera consistente.
Ventajas de utilizar OPC
• OPC-XML-DA es un paradigma a considerar en los servicios vía WEB
• Permite un acceso global a los datos de Buses de campo y Redes Industriales de diferentes fabricantes, ya que puede operar a nivel a Extranet e Internet.
• Gracias al formato XML, la arquitectura de control y comunicación puede combinar diversos sistemas operativos (Microsoft, Linux, suSe, Unix) con la posibilidad de combinar la eficiencia y seguridad, en forma libre, de las múltiples plataformas.
• Con la incorporación al mercado de softwares que permitan hacer mantención remota y monitoreo a Sistemas DCS, Controladores o dispositivos I/O, posibilitará reducir costos y fortalecer la eficiencia operativa del sistema.
Desventajas de utilizar OPC
• La interoperabilidad trae un costo asociado: La Seguridad
• Los fabricantes de Buses de Campo (Fieldbus), han desarrollado
Gateways para interconectar sus protocolos propietarios a redes
Ethernet. Personas inescrupulosas podrían accesar desde el nivel de
Negocios (Gestión) hasta el nivel de proceso, dañando potencialmente
todo el sistema comunicacional.
• Hoy en día existe la capacidad de ingresar a sistemas de red de
diferentes sistemas operativos a nivel WAN, mediante Entire X y
Active X. La red de comunicaciones OPC puede estar expuesta a
escala mundial y accesible desde cualquier plataforma operativa, más
aún y con mayor efectividad si se implementa definitivamente OPC-
XML-DA, por utilizar wrapper genéricos.
OPC • Miembros entre otros :
- Microsoft
- Siemens
- ABB.
- Digital.
- Eurotherm control.
- FactorySoft.
- Fisher-Rosemount.
- Foxboro.
- Honeywell.
- Intellution.
- Johnson Yokogawa.
- National Instruments.
- Siemens.
- Toshiba