• No se han encontrado resultados

Implementación de servicio de obtención y almacenamiento de datos usando el modelo cliente servidor de OPC

N/A
N/A
Protected

Academic year: 2020

Share "Implementación de servicio de obtención y almacenamiento de datos usando el modelo cliente servidor de OPC"

Copied!
63
0
0

Texto completo

(1)Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Automática y Sistemas Computacionales. Trabajo de Diploma Implementación de servicio de obtención y almacenamiento de datos usando el modelo cliente-servidor de OPC.. Autor: Lázaro Peña Rodríguez Tutores: Dr. Roberto Ballesteros Horta Lic. Mario A. Moreira Martínez. Santa Clara 2010 "Año 52 de la Revolución".

(2) Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Automática y Sistemas Computacionales. Trabajo de Diploma. Implementación de servicio de obtención y almacenamiento de datos usando el modelo cliente-servidor de OPC. Autor: Lázaro Peña Rodríguez Tutores: Dr. Roberto Ballesteros Horta Prof. Titular, Dpto. Automática y Sistemas Computacionales Facultad de Ingeniería Eléctrica. UCLV E-mail: [email protected]. Lic. Mario A. Moreira Martínez Grupo Técnico, Dpto. AIT, Refinería de Petróleo “Camilo Cienfuegos” E-mail: [email protected] Santa Clara 2010 "Año 52 de la Revolución".

(3) Hago constar que el presente Trabajo de Diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad de Ingeniería en Automática, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del Autor. Firma del Jefe de Departamento donde se defiende el trabajo. Firma del Responsable de Información Científico-Técnica.

(4) i. PENSAMIENTO. “Si tu intención es describir la verdad, hazlo con sencillez y la elegancia déjasela al sastre.” ALBERT EINSTEIN.

(5) ii. DEDICATORIA. A mi mamá, mi abuela y mi hermano que me han apoyado para lograrlo todo en la vida. A mi novia que se ha preocupado mucho..

(6) iii. AGRADECIMIENTOS. A mi mamá Gladys y a mi abuela mima por confiar en mí. A mi Dailyn por estar conmigo desde el principio. A mis suegros Aguedo y Greta por apoyarme en todo. A todos los profesores de la FIE que contribuyeron a mi formación. A mis profesores y amigos José Omar y Fidel. A mis compañeros de aula que siempre me apoyan: Ciro, Roberto Carlos, Gustavo, Yandy, Joaquín, O’ farril, Rafael, Delvis, Richard, Carlos Enrique y Rigo. A los que me ayudaron en el proyecto: Yandry, Lemus, Jarol y Anderson. A todos mis amigos por estar ahí cuando los he necesitado. A todos aquellos que siempre me han acompañado..

(7) iv. TAREA TÉCNICA. Para la confección del siguiente Trabajo de Diploma se llevaron a cabo las actividades que se enuncian a continuación: 1. Realizar una búsqueda, análisis e interpretación de la información científica relacionada al desarrollo de aplicaciones cliente-servidor usando la tecnología OPC. 2. Definir las características del software a desarrollar. 3. Selección de la tecnología idónea para implementar el software. 4. Ilustrar el proceso de diseño del software y su implementación. 5. Pruebas y validación del software. 6. Elaborar el informe final.. Firma del Autor. Firma del Tutor.

(8) v. RESUMEN. En los procesos industriales es de gran importancia la recopilación de información de variables medidas, así como crear reportes y históricos de las mismas. El presente trabajo aborda el desarrollo de un servicio que según la configuración lea de uno o varios servidores OPC de la Refinería de Petróleo “Camilo Cienfuegos” y escriba los valores en la base de datos de históricos cada intervalo de tiempo especificado. Este software, código abierto, sustituirá el ya existente del tipo propietario que dificulta cualquier cambio debido al pago de licencias a su proveedor. El trabajo incluye un detallado estudio sobre el tema, el proceso de diseño del software indicado, así como aspectos relacionados con la tecnología usada para su implementación. El software creado brinda la posibilidad de realizar una organización de la información de variables tecnológicas, facilitando la gestión de datos del proceso industrial total..

(9) vi. TABLA DE CONTENIDOS. PENSAMIENTO.................................................................................................................i DEDICATORIA ................................................................................................................ii AGRADECIMIENTOS.....................................................................................................iii TAREA TÉCNICA ........................................................................................................... iv RESUMEN ........................................................................................................................ v INTRODUCCIÓN ............................................................................................................. 1 CAPÍTULO 1.. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. ALMACENAMIENTO DE DATOS. ................................................................................. 4 1.1. Evolución y Antecedentes ............................................................................... 6 1.1.1. 1.2. Desarrollos previos en el área................................................................. 7 OPC: Definición y Características ................................................................... 8. 1.2.1. Especificaciones................................................................................... 10. 1.2.2. Interfaz OPC DA Automation............................................................... 13. 1.2.3. Seguridad OPC .................................................................................... 16. 1.3. OPC en la Refinería “Camilo Cienfuegos” .................................................... 17. 1.4. Almacenamiento de Datos............................................................................. 18 1.4.1. 1.5. Comunicación entre aplicaciones ......................................................... 21 Aspectos concluyentes .................................................................................. 22.

(10) vii CAPÍTULO 2.. DISEÑO DEL SOFTWARE.................................................................. 24. 2.1. Descripción general....................................................................................... 24. 2.2. Modelado de la aplicación............................................................................. 25 2.2.1. Herramienta utilizada ........................................................................... 25. 2.2.2. Diagramas de Casos de Usos................................................................ 25. 2.2.3. Actores................................................................................................. 26. 2.2.4. Casos de Usos Generales...................................................................... 27. 2.3. Infraestructura de la aplicación...................................................................... 31 2.3.1. Interfase de Usuario ............................................................................. 31. 2.3.2. Estrategia utilizada ............................................................................... 32. 2.3.3. Implementación ................................................................................... 33. 2.3.4. Herramientas utilizadas ........................................................................ 34. CAPÍTULO 3.. RESULTADOS Y DISCUSIÓN............................................................ 35. 3.1. Pruebas realizadas ......................................................................................... 35. 3.2. Manual de Usuario ........................................................................................ 37. 3.3. 3.2.1. Introducción......................................................................................... 37. 3.2.2. Aspectos importantes ........................................................................... 38. 3.2.3. Servicios .............................................................................................. 38. 3.2.3.1. Servicio de búsqueda y conexión.......................................................... 38. 3.2.3.2. Servicio de creación de grupos ............................................................. 39. 3.2.3.3. Servicio listar y añadir ítems ................................................................ 40. Valoración económica................................................................................... 41. CONCLUSIONES ........................................................................................................... 42 RECOMENDACIONES .................................................................................................. 43.

(11) viii REFERENCIAS BIBLIOGRÁFICAS .............................................................................. 44 GLOSARIO DE TÉRMINOS........................................................................................... 46 ANEXOS ......................................................................................................................... 48 Anexo I. Pasos para realizar una conexión remota con un servidor OPC ...................... 48. Anexo II. Interfase de Usuario ...................................................................................... 52.

(12) INTRODUCCIÓN. 1. INTRODUCCIÓN. En el ambiente industrial es determinante la recolección, procesamiento y gestión de datos de los procesos involucrados. Los sistemas de control modernos incluyen software SCADA como el Movicon para el monitoreo y control. La información que brindan es de gran importancia porque puede ser usada para la toma de decisiones estratégicas, así como el análisis del comportamiento. de la producción en un. momento. determinado.. Lamentablemente estos programas son costosos y normalmente obligan al usuario a depender de un solo fabricante. Como una solución menos costosa y más flexible se usa la arquitectura cliente-servidor, basada en el estándar de comunicación OPC. (Arias, 2006). La tecnología OPC soluciona el problema de la integración de componentes pertenecientes a diversos fabricantes; la industria no tiene que trabajar con un solo sistema propietario. Dado que funciona sobre una plataforma universal (OLE/COM), los costos de desarrollo de sistemas de aplicación son menores y además se podrán desarrollar sistemas específicos, según nuestras necesidades y no las que nos ofrezcan los fabricantes. El estándar OLE es un ambiente. unificado de servicios basados en objetos, con la. capacidad de que estos servicios sean hechos a la medida y permitan extender arbitrariamente la arquitectura a través de estos servicios, con el único propósito de permitir una rica integración entre componentes. (Brockschmidt, 1993). En la Refinería de Petróleo “Camilo Cienfuegos” se montó un servicio de obtención de los datos de las variables de los procesos, basado en la arquitectura cliente-servidor de OPC, esos datos pueden ser usados a nivel general de la planta para obtener históricos y así realizar análisis de producción y tomas de decisiones. El software en cuestión al ser propietario es necesario pagar licencias y permisos a sus proveedor tanto para su uso como para realizar cambios específicos, esto trae como consecuencias dependencia tecnológica y.

(13) INTRODUCCIÓN. 2. falta de flexibilidad en el sistema. Es necesario expandir la adquisición de datos usando OPC y además integrarlo con la comunicación Modbus TCP/IP en la misma base de datos, para así tener una mayor cantidad de información disponible; esto es dificultado por la configuración del software existente: las bases de datos solo guardan información adquirida por el modelo OPC y no permiten el aumento de grupos de variables.. En el siguiente trabajo se implementa un software que realice las mismas acciones del ya existente con la diferencia de tener acceso a su código fuente y así tener la posibilidad de realizar los cambios que se deseen y eliminar con esto la dependencia tecnológica, además de crear una base de datos común tanto para OPC como Modbus TCP/IP.. Para cumplir con la problemática anteriormente expuesta se trazaron como objetivos generales y específicos los siguientes: Objetivo General: Implementar un servicio que obtenga los datos de uno o varios servidores OPC de la Refinería de Petróleo “Camilo Cienfuegos” y almacene los valores en la base de datos de históricos en un período de tiempo específico. Objetivos Específicos: 1. Analizar la bibliografía existente sobre el desarrollo de aplicaciones cliente-servidor usando la tecnología OPC. 2. Determinar las prestaciones a incluir en el servicio a partir de las necesidades y especificaciones tecnológicas. 3. Analizar las características de la base de datos y protocolos según especificaciones requeridas. 4. Describir el proceso de diseño. 5. Implementar el servicio y realizar los ajustes correspondientes..

(14) INTRODUCCIÓN. 3. 6. Analizar los resultados.. Con la implementación del servicio se esperan alcanzar los siguientes resultados: 1. Sistematización de los conocimientos sobre la tecnología OPC. 2. Implementación de la interfaz gráfica para la configuración. 3. Desarrollo de un software que sea capaz de leer los datos de los servidores OPC y que según la configuración guarde los valores en la base de datos histórico. 4. Creación de un manual de usuario del software. Impacto: 1. Fomentar el uso de la tecnología OPC en nuestro país 2. Reducir costos en cuanto a dependencias tecnológicas creadas por el uso de software propietario. 3. Mejorar el manejo y gestión de datos en la Refinería de Petróleo “Camilo Cienfuegos”. 4. Contribuir a una migración futura hacia el software de código abierto. Organización del Informe: El informe se encuentra estructurado de la siguiente manera: introducción, tres capítulos, conclusiones, recomendaciones, anexos. En el primer capítulo se abordan conceptos y definiciones relacionadas con la modalidad cliente-servidor de la tecnología OPC, así como un análisis del estado actual de la misma en la Refinería de Petróleo “Camilo Cienfuegos”. En el segundo capítulo se expone la experiencia en el diseño, desarrollo y funcionamiento del proyecto para la posterior puesta en marcha de dicho servicio en la Refinería de Petróleo. El tercer capítulo presenta las pruebas realizas para validar el software, además se incluye un manual de usuario para garantizar el correcto uso del mismo..

(15) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 4. ALMACENAMIENTO DE DATOS.. CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y ALMACENAMIENTO DE DATOS.. El mundo actual está sumido en la competencia de un mercado globalizado, por lo cual se da la necesidad de impulsar un proceso continuo de mejoramiento y modernización. En la industria se brinda una gran importancia al sistema de adquisición y almacenamiento de datos, debido a que la toma de decisiones y estrategias a seguir salen a partir del análisis de esta información guardada en bases de datos, a menudo estas funciones son realizadas por SCADAS. Según Castillo (1998) SCADA (Supervisory Control and Data Acquisition) es el nombre genérico que recibe el software que realiza las funciones de interfaz con el operador, capas superiores (supervisoras) de control y recolección de datos de históricos e informes, entre otras.. A menudo los software SCADAS son muy costosos y crean una dependencia tecnológica de la industria hacia el proveedor, debido a que normalmente tanto el hardware como el software son del mismo fabricante, esto trae consigo la dificultad de integración. de. diferentes tecnologías, además ocurre que no cumplen con todas las especificaciones de la planta o por el contrario están sobre dimensionados, haciendo que se pague una gran suma de dinero por una cantidad de funcionalidades que nunca se usarán.. Una solución a estos problemas sería el desarrollo de sistemas de monitoreo y control propios, pero cuando se desarrollan aplicaciones distribuidas en ambientes industriales.

(16) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 5. ALMACENAMIENTO DE DATOS.. usando tecnologías tradicionales de programación, se encuentran problemas difíciles de sortear, debido a que cada fabricante ha creado de manera independiente sus propias aplicaciones para que los sistemas informáticos se comuniquen con sus dispositivos industriales (Fig. 1.1). (Arias, 2006). En este punto es donde OPC triunfa, debido a que rompe con la dificultad de comunicación entre dispositivos de diversos fabricantes (Fig. 1.1 y 1.2), haciendo posible crear arquitecturas propias para cada empresa y a la medida necesaria, logrando bajos costos y mejor operatividad.. Fig.. 1.1 Sistema de control distribuido de. proceso. Fig.. 1.2 Sistema de control distribuido de. proceso que incorpora una tecnología OPC. Según Cobo (2007), en un artículo de la revista Electroindustria, el uso de la tecnología OPC en la industria aumentará en los próximos años, así lo demuestra el gráfico de la Fig. 1.3..

(17) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 6. ALMACENAMIENTO DE DATOS.. Fig. 1.3 Porcentaje de uso de OPC en la industria mundial en diferentes aplicaciones y lo que se espera en cinco años. (Cobo, 2007). 1.1. Evolución y Antecedentes. Como un desarrollo necesario y visionario desde los tiempos del sistema operativo DOS se intentó conectar los dispositivos de campo a los ordenadores personales, esto propició el desarrollo de un estándar de comunicación fiable, así surgió en 1990 DDE. La tecnología DDE permitió la creación del primer interfaz Hombre – Máquina (HMI) y programas SCADA basados en la incursión de la computadora personal en el área del control y la automatización industrial. Con DDE por ejemplo se podían ver datos de la instrumentación de campo en una hoja de Excel.. En 1992 aparece OLE (Object Linking and Embedding), el sucesor a la tecnología DDE, con éste término se describe por entero una nueva terminología que terminó en la construcción de sistemas orientados a objetos. (Lange, 2002). Posterior a esto continuó un desarrollo de OLE con nuevas versiones, debido a que los fabricantes de SCADAS estaban muy interesados en estandarizar la interfase con los drivers de los dispositivos de campo; surgió un grupo creado en 1995 con el objetivo de crear un estándar en poco tiempo; este fue el OPC Task Force. Los primeros miembros que.

(18) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 7. ALMACENAMIENTO DE DATOS.. integraban el grupo son: Fisher-Rosemount, Intellution, Intuitive Technology, OPTO 22, Rockwell Software y Microsoft. (Castillo, 1998). En agosto de 1996 apareció la primera versión, OPC 1.0, definiendo una interfase común de accesos a datos, que posteriormente se le denominó OPC-DA, unido a esto se crea La Fundación OPC, una organización sin fines de lucro que actualmente está formada por más de 300 miembros de todo el mundo, incluyendo algunos de los mayores proveedores de sistemas de control, instrumentación, sistemas de control de procesos y software para la automatización de industrias. La rápida adopción en la industria de OPC-DA propició el desarrollo de nuevas especificaciones incluyendo: OPC-HAD, OPC A&E, and OPC Security. (Pocock, 2010). 1.1.1 Desarrollos previos en el área “Research and Implementation of OPC Server Based on Data Access Specification” Este artículo presentado en el 5to Congreso Mundial de Control Inteligente y Automatización por los investigadores Zhihao Ling, Weibin Chen y Jinshou Yu, describe la implementación de un servidor de datos OPC basado en la especificación de acceso a datos OPC versión 2.05, el cual, consta de cuatro secciones principales: los objetos e interfaces del servidor, el manejador del hardware de adquisición de datos, la interfaz gráfica de usuario y la sección de almacenamiento de datos. Al estar basado en la especificación Data Access Custom Interface, el programa fue desarrollado con Microsoft Visual C++ 6.0. Los autores del trabajo se centraron en cómo diseñar e implementar un servidor de acceso a datos OPC con el fin de generar experiencia en el campo para futuros desarrollos. Este trabajo utilizó un modelo muy simple y general para describir la arquitectura del servidor, el cual, fue considerado para el diseño del servidor de datos creado en ésta investigación. La validación fue realizada con una aplicación tipo cliente desarrollada por los investigadores, sin embargo, se reconoce que una manera de verificar la interoperabilidad de los servidores OPC, es precisamente mediante la realización de pruebas con aplicaciones del tipo cliente. (Ling, 2004).

(19) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 8. ALMACENAMIENTO DE DATOS.. “Desarrollo de clientes y servidores OPC para MATLAB” Este trabajo de grado realizado por Carlos Hernández en la Universidad Simón Bolívar de Venezuela en el año 2002, describe el desarrollo de un cliente OPC implementado bajo la plataforma de programación MATLAB. La investigación documenta los problemas encontrados al momento de desarrollar el servidor de datos OPC debido a la complejidad del manejo de funciones, clases e interfaces COM directamente desde el sistema operativo Windows. A partir de la experiencia de esta investigación se evidenció la importancia de seleccionar de manera adecuada las herramientas y paquetes de desarrollo necesarios para la implementación, no traumática, de este tipo de servidor de datos OPC. (Hernández, 2002) 1.2. OPC: Definición y Características. El modelo de comunicación OPC (OLE for Process Control) se basa en la estructura cliente-servidor. Es decir, existen servidores que son los responsables de efectuar la comunicación con los dispositivos conforme a lo que los clientes requieran. El software servidor de comunicaciones OPC deberá contener el o los drivers necesarios para la interconexión con los distintos dispositivos, y será el que hace el enlace con las diferentes aplicaciones. Además, puede comunicarse con varios dispositivos distintos y, a su vez, proveer el enlace con diversas aplicaciones al mismo tiempo. (Fig. 1.4). (Cobo, 2007). OPC usa la tecnología COM, de Microsoft, que permite definir cualquier elemento de campo mediante sus propiedades, convirtiéndolo en una pieza de software que realiza las funciones de un bus de comunicaciones, de esta manera es posible conectar fácilmente cualquier elemento de campo con un servidor de datos local (COM), o remoto (DCOM). (Penin, 2007).

(20) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 9. ALMACENAMIENTO DE DATOS.. Fig. 1.4 Estructura cliente-servidor de OPC.. Según Penin (2007) . Cliente OPC: Es una aplicación que sólo utiliza datos, tal como hace un paquete SCADA. Cualquier cliente OPC se puede comunicar con cualquier servidor OPC sin importar el tipo de elemento que recoge esos datos (el aspecto que veremos, desde el punto de vista de los datos, será siempre similar, sin importar el fabricante del equipo).. . Servidor OPC: Es una aplicación que realiza la recopilación de datos de los diversos elementos de campo de un sistema automatizado y permite el acceso libre a estos elementos desde otras aplicaciones que los soliciten (clientes OPC).. Los servidores están organizados en grupos y cada grupo puede contener distintos ítems, los datos se identifican con una cadena. Las diferentes partes de la aplicación (displays de operador, informes, etc.) pueden usar distintos grupos, los cuales pueden tener distinta frecuencia de refrescamiento y pueden ser de acceso secuencial o basado en excepciones (eventos). Los ítems representan conexiones a fuentes de datos dentro del servidor.

(21) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 10. ALMACENAMIENTO DE DATOS.. (variables de proceso). A cada ítem se asocia un valor (valor de la variable de proceso), un calificador (estado de la variable, OK, bajo rango, etc.) y una marca de tiempo. (Fig. 1.5). El cliente OPC puede leer o escribir ítems, las lecturas pueden ser sincrónicas o asincrónicas. Los servidores OPC pueden manejar datos del tipo: bool, byte, word, dword, float, double (con signo o sin signo), permite realizar manejos de cadenas, arreglos de los tipos anteriores y datos estructurados en algunos casos. (Castillo, 1998).. Fig. 1.5 Organización de los datos en un servidor OPC. 1.2.1 Especificaciones Con la aparición de la primera versión de OPC en 1995 continuó el trabajo conjunto de la Fundación OPC para el desarrollo de nuevas especificaciones que cumplieran con las necesidades de la industria, estas son: . OPC-DA Provee el acceso a datos en tiempo real, o sea se puede obtener los valores recientes de temperatura, presión, densidad, aceleración y otros datos desde un servidor OPC.. . OPC-HDA usado para extraer datos históricos del proceso industrial para el análisis. Estos datos son guardados en archivos, bases de datos.. . OPC-AE se encarga de reconocer las alarmas y eventos del proceso..

(22) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 11. ALMACENAMIENTO DE DATOS.. . OPC-DX Define la comunicación entre servidores OPC.. . OPC-XML Define el esquema y formato de representación de los datos basado en el estándar XML. Esto tiene como ventaja el intercambio y la manipulación de datos a través de todos los sistemas operativos: Windows, Unix, Solares, etc.. . OPC-UA es la más reciente especificación lanzada por la Fundación OPC, que provee de una mayor integración de datos y software.. Extraído de (Tiwari, 2005). A continuación se le presta una mayor atención a OPC-DA por tener una gran acogida a nivel mundial y ser la especificación en uso en la Refinería “Camilo Cienfuegos” y OPCUA debido a la importancia del tema actualmente.. OPC-DA es una especificación creada por la Fundación OPC que define la forma de comunicación y transferencia de datos entre una fuente de datos y una aplicación cliente (por ejemplo un PLC y un SCADA). Debido a que la mayoría del mundo gira en torno a la automatización de datos en tiempo real, OPC-DA se convirtió en la especificación de más amplio apoyo seguido de OPC-A&E y, por último, OPC-HDA. (Paine, 2008) Según Figueroa (2007) OPC-DA está basado en una arquitectura cliente-servidor (Fig. 1.6), el servidor ofrece datos y el cliente accede a estos, los servidores proporcionan diferentes datos como: . Datos de sensores (presión, caudal, temperatura, etc.). . Parámetros de control (abierto, cerrado, arranque, etc.). . Información de estado (estado de hardware y las conexiones).

(23) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 12. ALMACENAMIENTO DE DATOS.. Fig. 1.6 Diagrama cliente-servidor OPC.. Las ventajas de usar OPC-DA según Figueroa (2007) son: . 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. La industria no tendrá que trabajar con un solo sistema propietario (Red Industrial o Bus de Campo), Sistemas SCADA o DCS específicos.. . Permite integración de múltiples plataformas (Windows, Linux, Unix, Suse) mediante la utilización de COM, DCOM, Active X y Entire X, además el desarrollo dentro de redes LAN y WAN, así como también exportar datos a Internet.. . Comunicación On-line eficaz y flexible desde el nivel de procesos hasta el nivel de gestión. Por medio de software industriales específicos se puede lograr un mayor control dentro del proceso productivo y optimizar materias primas, recursos y costos..

(24) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 13. ALMACENAMIENTO DE DATOS.. OPC-UA es la nueva generación de OPC, fue el fruto de la decisión de la Fundación OPC de crear una arquitectura unificada. La primera parte de la especificación fue presentada en agosto de 2006 y terminada en el 2009. Tiene incluida todas las funcionalidades de las especificaciones del clásico OPC (OPC-DA, OPC-A&E, Commands and Complex Data) y además se diseñó con la posibilidad de poder adicionar funcionalidades en el futuro. (Pocock, 2010) Las características principales de OPC-UA según Pocock (2010) son: . Plataforma independiente (Microsoft, Linux, y dispositivos integrados, entre otros.) para la máxima escalabilidad.. . Combinación de todas las funcionalidades del estándar OPC clásico.. . Alto rendimiento.. . Arquitectura extensible.. . Arquitectura de seguridad orientada a garantizar la integridad y la confidencialidad.. 1.2.2 Interfaz OPC DA Automation La especificación OPC DA Automation es un estándar para proveer a los desarrolladores de clientes y servidores OPC-DA de un interfaz de comunicación común. La Fig. 1.7 muestra un diagrama en el cual se realiza el enlace entre cliente y servidor usando la especificación OPC DA Automation, la cual está encapsulada en una DLL, el uso de COM o DCOM está dado por el acceso al servidor: local o remoto. (Fundación OPC, 1999)..

(25) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 14. ALMACENAMIENTO DE DATOS.. Fig. 1.7 Conexión entre cliente y servidor OPC usando la especificación OPC DA Automation. En la Fig. 1.8 se expone un diagrama con los objetos definidos por la Fundación OPC y la jerarquía entre ellos.. Fig. 1.8 Jerarquía de objetos definidos en la especificación OPC DA Automation. Como se puede observar en la Fig. 1.8 un servidor OPC es un objeto que contiene una colección de grupos y a su vez estos poseen colecciones de ítems los cuales muestran los valores de las variables. En la Tabla 1.1 se expone una descripción detallada de cada una de los objetos definidos en un servidor OPC..

(26) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 15. ALMACENAMIENTO DE DATOS. Tabla 1.1 Descripción de los objetos definidos en la especificación OPC DA Automation 2.02. Objeto. Descripción. OPCServer. Es una instancia de un objeto servidor OPC. Se debe crear un objeto OPCServer antes de poder obtener referencias a otros objetos. Contiene la Colección OPCGroups y crea objetos OPCBrowser.. OPCGroups. Una colección que contiene todos los objetos OPCGroup, creados dentro del objeto OPCServer.. OPCGroup. Es una instancia de un objeto OPCGroup. Contiene. la. colección. OPCItems.. El. propósito de este objeto es mantener la información de estado y proporcionar el mecanismo para proporcionar servicios de adquisición de datos. OPCItems. Es una colección que contiene todos los objetos OPCItem.. OPCItem. Un objeto OPCItem mantiene la definición del elemento, el valor actual, la información de. estado,. el. tiempo. de. la. última. actualización. OPCBrowser. Es un objeto que navega por los nombres de los elementos que existen en el servidor. Sólo existe una instancia de un objeto OPCBrowser dentro del servidor OPC..

(27) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 16. ALMACENAMIENTO DE DATOS.. 1.2.3 Seguridad OPC La seguridad en servidores OPC es consistente con el modelo de seguridad Windows NT. Cada estación de trabajo posee un permiso de acceso (Access Token) apoyado por DCOM dentro del canal de comunicación. Al solicitar al Monitor de referencia acceso a los Objetos, éste verificará su nivel de acceso con la Lista de Control de Acceso (ACL). El Monitor de referencia no tiene acceso a leer desde el Canal de comunicación. Ver Fig. 1.9. (Figueroa, 2007).. Fig. 1.9 Modelo de Seguridad. Existen tres niveles de seguridad OPC según Figueroa (2007): . 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 o Suse.. . Seguridad OPC: El Servidor OPC sirve como un regulador de control de acceso a fabricantes de sistemas operativos como Linux y Unix sobre objetos específicos que son expuestos por el servidor OPC, para esto cuenta con un sistema de decisiones de acceso mediante la utilización y autorización de un NT Access Token..

(28) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 17. ALMACENAMIENTO DE DATOS.. El NT Access Token es ineficiente cuando: . El Servidor OPC trabaja sobre sistemas operativos como Linux o Unix.. . Las aplicaciones del cliente pueden estar corriendo en un sistema operativo que no apoya la creación de NT Access Token.. . El servidor OPC y las aplicaciones cliente son distribuidas en dispositivos múltiples fuera del contexto del dominio de la red.. Por lo anterior, la Fundación OPC define una condición para el servidor OPC: una credencial privada (certificado de acceso) que realice un proceso de verificación y acceso mediante una Identificación de Usuario combinada con una Contraseña. (Figueroa, 2007). 1.3. OPC en la Refinería “Camilo Cienfuegos”. En la Refinería “Camilo Cienfuegos” se utiliza la tecnología OPC con el objetivo de obtener datos de las áreas de producción para poder realizar análisis y tomas de decisiones, estos datos son usados por tecnólogos, personal de mantenimiento. Actualmente existen dos servidores, uno para los datos de la Planta de Tratamiento de Residuales (PTR) y el otro servidor adquiere los valores de la Planta de Procesos. La necesidad era obtener los datos en tiempo real por eso se instaló la especificación OPC-DA versión 2.0 del fabricante YOKOGAWA. La red de comunicación de la Refinería está dividida en dos: la red administrativa y la red de control, en esta última se encuentra todo el hardware y software necesario para el funcionamiento del Sistema de Control Distribuido de sus siglas en ingles DCS. Los servidores OPC se encuentran en la red DSC. Actualmente se accede a los datos obtenidos por los servidores OPC desde la red administrativa con un servicio Web que se conecta a la base de datos proporcionada por YOKOGAWA, para el histórico de las mediciones. La diferencia de redes brinda una mayor seguridad al sistema y evita sobrecargas de la red de control por consultas y análisis de la información existentes. Los problemas en el sistema radican en las consultas; debido a que se maneja gran cantidad de datos en las bases de datos el sistema se bloquea en ocasiones, lo que causa demoras en los procesos de análisis;.

(29) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 18. ALMACENAMIENTO DE DATOS.. esto conllevó a la decisión de rediseñar la base de datos junto a la aplicación que se comunica con los servidores OPC. El deseo es seguir expandiendo la tecnología OPC hacia todas las plantas y así tener una mayor cantidad de datos para procesar por lo que aumentarían las prestaciones de este servicio en dicho centro. 1.4. Almacenamiento de Datos. Desde la introducción del ordenador en la industria se pensó en la posibilidad de disponer de datos almacenados sobre un sistema, de manera que se pudiera realizar cualquier tipo de análisis como, por ejemplo: reportes, diagnósticos. Inicialmente estos ordenadores estaban muy limitados en sus capacidades de almacenamiento de variables, tanto en cantidad como en tiempo. (Penin, 2007). A continuación se expone una breve evolución en las técnicas de almacenamiento de información según Penin (2007).. Ficheros La primera época de almacenamiento, anterior a las bases de datos, se basaba en el almacenamiento de información en ficheros, accesibles por los programadores de las aplicaciones. Estos ficheros eran complicados debido a que tenían que estar perfectamente identificados y localizados en el disco, así como la situación y el formato de los datos dentro de éstos. La primera revolución aparece con la técnica del indexado. Un archivo puede entonces estar ordenado por un criterio determinado, por ejemplo, la fecha o el nombre de variable. De esta manera es fácil acceder a unos datos si el nombre de la variable es conocido.. Bases de datos La aparición de las bases de datos jerárquicas permite ordenar los elementos, en las cuales un tipo de datos consiste en un subconjunto de otro tipo de datos más genérico. Por.

(30) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 19. ALMACENAMIENTO DE DATOS.. ejemplo, en una línea de producción hay un conjunto general de variables compuesto por los conjuntos de variables particulares de cada máquina. Este modelo está limitado en prestaciones si queremos acceder, por ejemplo, a variables pertenecientes a distintos grupos de datos situados en diferentes niveles.. Bases de datos relacionales El paso definitivo, que separa los programas de las estructuras de datos, se da con la aparición de las bases de datos relacionales. Este tipo de bases de datos permite reflejar estructuras de datos, independientemente del tipo de programas que accede a los datos o de la estructura de éstos. Una base de datos relacional no es más que un conjunto de tablas de datos que contienen campos que sirven de nexos, de unión (relación) y que permiten establecer múltiples combinaciones mediante la utilización de estos nexos.. Bases de datos industriales Las bases de datos relacionales comunes no son adecuadas para los sistemas actuales de producción. Una instalación con 5.000 variables, si se requiere almacenarlas cada segundo, arroja la cantidad de 12.960.000.000 registros al cabo de un mes de trabajo.. Las limitaciones principales son: . La cantidad de datos a almacenar en un período de tiempo dado. El ejemplo anterior arroja 5.000 inserciones por segundo en la base de datos, cadencia muy elevada para una base de datos relacional.. . El espacio necesario es considerable debido a la cantidad de información a almacenar..

(31) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 20. ALMACENAMIENTO DE DATOS.. . SQL no está optimizado para trabajar con datos con indexación temporal, lo cual hace difícil la tarea de especificar resoluciones temporales.. Las nuevas técnicas desarrolladas permiten aumentar el rendimiento de las bases de datos y, por tanto, el acceso a la información: . Las arquitecturas cliente-servidor permiten a los desarrolladores de producto transferir las aplicaciones desde los clientes y el servidor hacia una Capa de Aplicación intermedia.. . Los objetos distribuidos basados en tecnologías tales como DNA, de Microsoft Windows, y que emplean modelos como DCOM y CORBA, se utilizan para implementar la Capa de Aplicación donde se usarán las herramientas de análisis, seguimiento y gestión.. . CORBA es un estándar para computación con objetos distribuidos. Se trata de una tecnología de modelado abstracto de objetos que describe los componentes de un sistema y sus interfases, así como estructuras estándar orientadas a lenguajes de programación concretos.. . OLE DB es un conjunto de interfases basadas en la tecnología COM que permite hacer accesibles los datos a herramientas SQL. Permiten la interacción con Sistemas de Gestión de Bases de Datos (DBMS) y también compartir los datos a las bases de datos.. . Los Objetos de Datos ActiveX (ADO) proporcionan una serie de interfases que dan acceso a los datos. Mediante estas tecnologías las bases de datos distribuidas pueden ser accesibles como si formaran una única base de datos local. Por ejemplo, desde un Panel de Operador se podrá acceder a datos de cualquier lugar de la planta de fabricación.. . Los Servicios de Datos Remotos (RDS) y las Páginas de Servidores Activos (ASP), permitirán el acceso fiable a Internet. RDS proporciona la infraestructura para el intercambio de datos por Internet y ASP permite a un servidor Web interactuar con los datos para satisfacer las exigencias de un Cliente de forma dinámica..

(32) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 21. ALMACENAMIENTO DE DATOS.. 1.4.1 Comunicación entre aplicaciones ODBC Mediante ODBC, también de Microsoft Windows, tenemos un estándar que permite a las aplicaciones el acceso a datos en Sistemas de Gestión de Bases de Datos (DBMS) utilizando SQL como método estándar de acceso. (Penin, 2007). ODBC permite que una aplicación pueda acceder a varias bases de datos mediante la inclusión del controlador correspondiente a la aplicación.. Según Penin (2007) la interfase ODBC define: . Una librería de llamadas a funciones ODBC.. . La sintaxis SQL necesaria.. . Códigos de error estándar.. . El método de conexión a un Sistema de Gestión de Bases de Dato (DBMS). . El formato de presentación de los datos. Para acceder a los datos, una aplicación necesita un controlador, que en Windows se llama Librería de Enlace Dinámico (DLL) y en UNIX recibe el nombre de Objeto (OBJ). ODBC define un estándar que permite el intercambio entre bases de datos y aplicaciones. SQL Al surgir el estándar SQL en 1986, bajo el nombre: ANSI X3.135-1986, se logró un paso muy importante en la comunicación con las bases de datos. SQL permite una interfase común para el acceso a los datos por parte de cualquier programa que admita al estándar SQL. Según Penin (2007) las posibilidades de esta tecnología incluyen: . Procedimientos:.

(33) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 22. ALMACENAMIENTO DE DATOS.. Son bibliotecas de comandos almacenados en la base de datos. Permiten reducir el tráfico de red y simplificar los procedimientos de acceso a los usuarios de las bases de datos. . Eventos: Son comandos que se activan de forma automática bajo unas ciertas condiciones, facilitando el mantenimiento de la integridad de los datos.. . Replicación: Permite la duplicación y sincronización de bases de datos. Por ejemplo, para actualizar los datos de la base de datos central con los almacenados en una unidad remota (RTU), más actuales o para actualizar un servidor de datos que ha quedado temporalmente fuera de servicio y se vuelve a poner en funcionamiento.. . Accesibilidad: Permite el intercambio o envío de información basándose en eventos. Por ejemplo, el envío automático de mensajes cuando se cumplen ciertas condiciones dentro de un sistema.. 1.5. Aspectos concluyentes. Después de realizar un detallado análisis de la tecnología OPC y su actual desempeño en la industria, se pueden hacer las siguientes afirmaciones. 1. OPC es la solución a los problemas de interoperabilidad e integración en torno a sistemas de control y de supervisión industrial.. 2. Desde el surgimiento de OPC, con los primeros pasos en el año 1995, se ha ganado un lugar respetable a nivel mundial mostrando un incremento de su uso en muchas aplicaciones..

(34) CAPÍTULO 1. LA TECNOLOGÍA OPC EN LOS SERVICIOS DE ADQUISICIÓN Y. 23. ALMACENAMIENTO DE DATOS.. 3. La tendencia a nivel mundial es lograr una mayor integración en la industria, debido a esto la especificación OPC-UA está ganando terreno en la industria por su arquitectura unificada.. 4. El uso de la tecnología OPC brinda la posibilidad de crear soluciones a la medida y con las características deseadas por el usuario..

(35) CAPÍTULO 2. DISEÑO DEL SOFTWARE. 24. CAPÍTULO 2. DISEÑO DEL SOFTWARE. Aumentar el manejo, análisis y procesamiento de información de las variables involucradas en los procesos industriales es una tarea a la cual se le presta gran atención, del correcto análisis depende el buen funcionamiento, así como futuras medidas que se tomen para obtener una mejor producción y ganancias cuantitativas. La necesidad de mejorar el sistema de obtención de datos usando la tecnología OPC, unido al deseo de eliminar bloqueos o demoras por un mal diseño de la base de datos y unificar los datos obtenidos, tanto por los servidores OPC como los máster Modbus TCP/IP, trajo consigo la aparición de una nueva aplicación cliente OPC que posibilita la obtención de determinados datos cada tiempo específico y su posterior almacenamiento. En este capítulo se abordan aspectos relacionados con el diseño, elección de tecnologías e implementación de la aplicación desarrollada. 2.1. Descripción general. El software en cuestión se elaboró basado en la arquitectura cliente-servidor de OPC; un servidor OPC es un objeto COM, por lo tanto nuestra aplicación se comunica usando el estándar de comunicación COM para servidores locales o DCOM para remotos. Para una mejor robustez el sistema fue dividido en dos capas o bloques, un primer bloque que incluye una aplicación visual que se conecta con el servidor en la cual se puede realizar la configuración determinada o sea: cantidad de grupos, tiempo de refrescamiento y los ítems que se van a leer del servidor, esta configuración es guardada en una base de datos. El segundo bloque no es más que un servicio sin aplicación visual el cual debe correr indefinidamente en la máquina de trabajo, el cual lee la información de la base de datos de configuración, realiza nuevamente una comunicación con el servidor, pero esta vez para.

(36) CAPÍTULO 2. DISEÑO DEL SOFTWARE. 25. leer directamente los datos deseados y así almacenarlos en la base de datos de históricos, la misma está diseñada de forma tal que muestre los registros por grupos de determinados tamaños, esto trae como ventaja evitar la sobre carga de la memoria de la máquina por mostrar información que no va ser usada en determinado momento. 2.2. Modelado de la aplicación. En el modelado de la aplicación se utilizó el Lenguaje Unificado de Modelo (UML), con el objetivo de especificar y documentar todas las funcionalidades y aspectos del sistema. El Lenguaje Unificado de Modelo se ha convertido en la notación estándar para definir, organizar y visualizar los elementos que conforman la arquitectura de un sistema, mediante el uso de diagramas tales como: casos de uso, secuencias, clases, componentes y dispersión. 2.2.1 Herramienta utilizada Como herramienta se utilizó el software Visual Paradigm Enterprise Edition 3.0 Visual Paradigm es una herramienta UML profesional que soporta el ciclo de vida completo del desarrollo de software: análisis y diseño orientados a objetos, construcción, pruebas y despliegue. El software de modelado UML ayuda a una construcción más rápida de aplicaciones de calidad, mejores y a un menor costo. Permite dibujar todos los tipos de diagramas de clases, código inverso, generar código desde diagramas y generar documentación. Esta herramienta presenta las siguientes ventajas: . Buena integración con IDEs.. . Incluye localización en castellano.. . Muy personalizable.. . Soporta más lenguajes de programación.. 2.2.2 Diagramas de Casos de Usos EL Diagrama 2.1 presenta los actores y casos de usos principales de la aplicación visual de configuración, así como las relaciones entre los mismos. En los próximos epígrafes se.

(37) CAPÍTULO 2. DISEÑO DEL SOFTWARE. 26. abordarán más detalladamente los diagramas y subdiagramas de los casos de usos abstractos.. Diagrama 2.1 Casos de Usos de la aplicación visual de configuración. 2.2.3 Actores El primer bloque del software compuesto por la aplicación visual de configuración cuenta con dos actores, cada uno con roles diferentes, los actores son: Actor – servidor desconectado y Actor – servidor conectado. Cada uno está asociado a determinados casos de usos en relación al estado en que se encuentran.. A continuación se describe la relación de cada uno de los actores con los casos de usos que tienen relacionados:. Actor – servidor desconectado.

(38) CAPÍTULO 2. DISEÑO DEL SOFTWARE. 27. A este Actor la aplicación le brinda el servicio de conectarse a un servidor OPC local o remoto, incluyendo una búsqueda de los servidores disponibles.. Actor – servidor conectado Este Actor ya se encuentra conectado a un servidor por lo cual el software le brinda la posibilidad de administrar los grupos, o sea, crear, editar y eliminar grupos. Además, puede listar y administrar ítems, que no es más que obtener los ítems del servidor, añadir ítems a los grupos o eliminarlos. Puede también listar las propiedades del servidor para ver en qué estado se encuentra el mismo, la opción de guardar la configuración realizada, así como desconectarse del servidor para luego realizar una nueva conexión. 2.2.4 Casos de Usos Generales A continuación se presenta detalladamente el funcionamiento de los diferentes casos de usos.. Conexión con el servidor: Cuando el usuario se encuentra en la aplicación tiene la posibilidad de conectarse a un servidor OPC, propiciando el nombre del servidor ProgID y la máquina en que se encuentra o Nodo en caso de ser un servidor remoto, además de contar con un servicio de búsqueda de los servidores disponibles locales o remotos en el caso deseado. Ver Diagrama 2.2..

(39) CAPÍTULO 2. DISEÑO DEL SOFTWARE. 28. Diagrama 2.2 Caso de Uso, Conexión con el servidor. En la Tabla 2.1 se muestra el flujo de eventos para el Caso de Uso: Conexión con el servidor Tabla 2.1 Flujo de eventos para el caso de uso conexión con el servidor. ¿Qué hace el actor?. ¿Qué hace el sistema?. El actor desconectado hace clic en el enlace El sistema muestra un diálogo para conexión con el servidor. especificar si el servidor es local o remoto. El actor selecciona servidor local.. El sistema activa el campo nombre del servidor para especificar manualmente el nombre del servidor.. El actor selecciona servidor remoto.. El sistema activa los campos nombre y nodo para especificar manualmente los detalles del servidor. El actor selecciona el servicio de búsqueda.. El sistema realiza la búsqueda de los servidores disponibles dependiendo de si es local o remoto.. El actor hace clic en el botón conectar.. El sistema realiza la conexión con el servidor determinado anteriormente.. Administrar grupos: El actor que se encuentra conectado a algún servidor OPC pude crear, editar y eliminar grupos de variables en dicho servidor, cuando se crea un grupo se realiza la edición del.

(40) CAPÍTULO 2. DISEÑO DEL SOFTWARE. 29. mismo incluyendo: nombre, tiempo de refrescamiento en milisegundos y si está activo o no. Ver Diagrama 2.3.. Diagrama 2.3 Caso de Uso, Administrar grupos. En la Tabla 2.2 se muestra el flujo de eventos para el Caso de Uso: Administrar grupos Tabla 2.2 Flujo de eventos para el caso de uso administrar grupos. ¿Qué hace el actor?. ¿Qué hace el sistema?. El actor conectado hace clic en el enlace El sistema muestra un diálogo para llenar añadir grupos. los campo necesarios de un grupo. El actor llena los campos y especifica si el El sistema crea el grupo en el servidor grupo estará activo o no y confirma la determinado. configuración. El actor hace clic en eliminar grupo.. El sistema elimina el grupo del servidor.. Listar ítems En el siguiente caso de uso el actor cuenta con una búsqueda de los ítems del servidor OPC, comienza por los grupos y luego lista los ítems del grupo seleccionado. Así brinda un mejor servicio en cuanto a la organización. Ver Diagrama 2.4..

(41) CAPÍTULO 2. DISEÑO DEL SOFTWARE. 30. Diagrama 2.4 Caso de Uso, Listar Ítems. En la Tabla 2.3 se muestra el flujo de eventos para el Caso de Uso: Listar ítems. Tabla 2.3 Flujo de eventos para el caso de uso listar ítems. ¿Qué hace el actor?. ¿Qué hace el sistema?. El actor conectado hace clic en el enlace El sistema realiza una búsqueda y muestra listar ítems. los grupos existentes en el servidor. El actor hace clic en un grupo determinado El sistema realiza una búsqueda y muestra del servidor. los ítems contenidos dentro del grupo seleccionado.. Administrar ítems Caso de uso que permite al actor añadir los ítems a los grupos creados anteriormente, así como eliminarlos si se desea. Ver Diagrama 2.5.. Diagrama 2.5 Caso de Uso, Administrar Ítems. En la Tabla 2.4 se muestra el flujo de eventos para el Caso de Uso: Administrar ítems..

(42) CAPÍTULO 2. DISEÑO DEL SOFTWARE. 31. Tabla 2.4 Flujo de eventos para el caso de uso administrar ítems. ¿Qué hace el actor?. ¿Qué hace el sistema?. El actor conectado hace doble clic en el ítem El sistema añade el ítem al grupo creado seleccionado. anteriormente El actor hace clic en el enlace eliminar.. 2.3. El sistema elimina el ítem del grupo y de la lista.. Infraestructura de la aplicación. El sistema surgió partiendo de un análisis detallado de las prestaciones que debía incluir, en general se creó una interfase de usuario que realiza la configuración del servidor OPC determinado y un segundo paquete de software que realiza la adquisición de los datos para luego almacenarlos en la base de datos de históricos. En este epígrafe se argumenta sobre las características del diseño y se dará una descripción de la estrategia utilizada. 2.3.1 Interfase de Usuario La interfase de usuario se diseñó con las características necesarias para un fácil manejo y entendimiento, el sistema cuenta con barra de herramienta, barra de estado, diálogos de configuración, mensajes de ayuda. Ver Anexo II. Leyenda 1. Barra de título 2. Barra de menú 3. Lista de grupos creados 4. Lista de Ítems añadidos 5. Grupos del servidor 6. Ítems del servidor 7. Guardar configuración 8. Barra de Estado Fig. 2.1 Esquema de la interfase de usuario.

(43) CAPÍTULO 2. DISEÑO DEL SOFTWARE. 32. 2.3.2 Estrategia utilizada La arquitectura general se desarrolló en la relación cliente-servidor del la tecnología OPC, el servidor obtiene los datos y el cliente accede a ellos; el diseño se basó en la organización por capas: configuración del servidor, lectura de datos, almacenamiento de la información en las bases de datos creadas.. A continuación, se describe la arquitectura de tres capas usada en el diseño. Arquitectura de tres capas Cada uno de los componentes de la aplicación fue distribuido dentro de las capas siguientes: . Lógica de presentación: Interfaz de usuario, presentación de la información, entrada de datos.. . Lógica de negocio: Reglas de negocio, validación de datos y tareas específicas de la aplicación.. . Lógica de acceso a datos: Comunicación con las bases de datos, construcción de sentencias SQL.. Ventajas de la arquitectura de tres capas: . La comunicación con las bases de datos se realiza solo con la capa de acceso a datos.. . No existe ninguna comunicación directa entre la capa de presentación y la capa de acceso a datos, toda la comunicación la realiza la capa de negocio.. . Todas las reglas de negocio son procesadas por los objetos de la capa de negocio..

(44) CAPÍTULO 2. DISEÑO DEL SOFTWARE. 33. Fig. 2.1 Arquitectura de tres capas. 2.3.3. Implementación. Para la implementación de la aplicación se tuvo en cuenta el uso del software libre, se logró realizar una selección tanto del soporte técnico como de los lenguajes de programación que cumplieran con esta premisa.. Software libre El software libre permite a los usuarios ejecutar, copiar, distribuir, estudiar cambiar y mejorar el software, esto incluye: . Libertad de usar el programa con cualquier propósito.. . Acceso al código fuente.. . Libertad de estudiar el funcionamiento del programa.. . Libertad de distribuir copias.. . Libertad de mejorar el programa y hacer públicas las mejoras, de modo que todo el mundo se beneficie.. Ventajas del uso del software libre: . Eliminación de barreras presupuestarias.. . Combate a la copia ilícita del software..

(45) CAPÍTULO 2. DISEÑO DEL SOFTWARE. . Beneficio social y tecnológico para el país.. . Ahorro en adquisición de licencias.. . Tiempos de desarrollos menores.. 34. Lenguajes usados: CSharp: en toda la infraestructura del software SQL: para el acceso al servidor de base de datos. 2.3.4 Herramientas utilizadas Para la implementación del servicio se usaron diferentes herramientas: CSharp.NET como lenguaje de programación muy avanzado y montado en la plataforma Visual Studio. NET, en las bases de datos se usó el lenguaje SQL por la importancia en la seguridad y fiabilidad.. CSharp es una versión avanzada de C y C++ fue diseñado para el entorno .NET. Amplía las capacidades de C, C++, Visual Basic y Java para proporcionar un completo entorno de desarrollo. Es un lenguaje orientado a objetos empleado por programadores de todo el mundo para crear aplicaciones que se ejecuten en la plataforma .NET, CSharp es un paso muy importante en la evolución de los lenguajes de programación y es una solución ideal para las aplicaciones empresariales de alto nivel. Con CSharp se puede desarrollar todo tipo de proyectos de aplicaciones cliente-servidor.. SQL es un estándar ANSI para acceder a sistemas de bases de datos. Las sentencias SQL se pueden usar para recuperar y actualizar información en una base de datos. Se puede emplear SQL con bases de datos como Microsoft Access, Oracle, SQL Server y Sybase, entre otras. (Pandey, 2002)..

(46) CAPÍTULO 3. RESULTADOS Y DISCUSIÓN. 35. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN. En este capítulo se exponen una serie de pruebas realizadas y además un detallado manual de usuario destinado al correcto uso del software. 3.1. Pruebas realizadas. Para demostrar los resultados obtenidos se realizaron pruebas que validan el diseño, a continuación se detallan los experimentos. Para demostrar la comunicación con el servidor OPC se instaló un servidor de prueba del proveedor KEPware en diferentes máquinas: el KepServerEx.V4. Es importante aclarar que los productos de KEPware cumplen con las normas y especificaciones de la Fundación OPC. Primero se realizó una comunicación local (Fig. 3.1) y luego una conexión con un servidor remoto que se encontraba en la máquina 10.12.25.206 (Fig. 3.2). Cada figura demuestra los resultados obtenidos en la conexión, se crearon grupos de diferentes nombres, así como se realizó la lectura posterior de determinados datos (ítems) propiciados por el servidor para probar su funcionamiento..

(47) CAPÍTULO 3. RESULTADOS Y DISCUSIÓN. 36. Fig. 3.1 Conexión con un servidor local. Fig. 3.2 Conexión con un servidor remoto. El segundo experimento estuvo enfocado a la lectura de los ítems dentro del mismo servidor, se crearon tres grupos con diferente tiempo de refrescamiento: 30, 100, 150 milisegundos (Fig. 3.3), para lograr una comparación técnica se obtuvo el valor del mismo ítem en los tres casos: una función seno que recorre los valores de 1 hasta -1. Como se.

(48) CAPÍTULO 3. RESULTADOS Y DISCUSIÓN. 37. puede observar en la Tabla 3.1 el tiempo del servidor es el mismo, sin embargo el valor obtenido es diferente debido a la diferencia en el tiempo de refrescamiento de cada grupo.. Fig. 3.3 Lectura de ítem con diferente tiempo de refrescamiento. Tabla 3.1 Comparación entre los grupos creados. Servidor. Grupo creado. Refrescamiento. Item. Valor. Tiempo. KepServerEx.V4. Grupo de Prueba. 30 ms. Sine1. -0.000355581. 6/7/2010 8:15:01 PM. KepServerEx.V4. Grupo de Prueba. 100 ms. Sine1. 0.03733482. 6/7/2010 8:15:01 PM. KepServerEx.V4. Grupo de Prueba. 150 ms. Sine1. -0.08820532. 6/7/2010 8:15:01 PM. 3.2. Manual de Usuario. 3.2.1 Introducción El software cliente OPC creado está enfocado para el uso en aplicaciones de adquisición y almacenamiento de datos, este brinda el servicio de conexión y configuración de un.

(49) CAPÍTULO 3. RESULTADOS Y DISCUSIÓN. 38. servidor OPC para luego realizar la lectura correspondiente de los ítems que van a ser registrados en la base de datos de históricos. 3.2.2 Aspectos importantes Muchos clientes se comunican con servidores OPC usando DCOM a través de la red, en algunos sistemas operativos debido a la seguridad y determinadas configuraciones aparecen limitaciones de acceso para realizar dicha comunicación. En las pruebas realizadas de conexión a servidores remotos se encontraron problemas que se resolvieron llevando a cabo una serie de pasos planteados por la Fundación OPC. En el Anexo I se detallan algunos cambios que se deben realizar a la hora de conectarse a un servidor OPC remoto según Haus (2004). 3.2.3 Servicios Como bien se plantea en la bibliografía un cliente OPC accede a los servidores los cuales contemplan toda la información de los datos involucrados: valor, marca de tiempo y calidad del dato. La interfaz visual del software contempla una serie de servicios que facilitan la interacción con el usuario, el cual puede hacer uso de las siguientes funciones: servicio de búsqueda de servidores disponibles, conexión con un servidor determinado local o remoto, así como administrar toda la configuración realizada en dicho servidor, además presenta diálogos de ayuda que logran un fácil entendimiento por parte del operador del software. 3.2.3.1 Servicio de búsqueda y conexión El servicio de búsqueda se contempla dentro del diálogo de nueva conexión, está destinado para brindarle al usuario la posibilidad de obtener una lista de todos los servidores disponibles. (Fig. 3.4) La búsqueda cuenta con dos opciones: búsqueda local y búsqueda remota en la cual se especifica en que máquina se desea realizar. Luego de determinar el nombre y nodo del servidor se procede a la conexión con el mismo, la cual se efectúa dando clic en el botón conectar..

(50) CAPÍTULO 3. RESULTADOS Y DISCUSIÓN. 39. Fig. 3.4 Diálogo de búsqueda de servidores. 3.2.3.2 Servicio de creación de grupos La creación de grupos se encuentra dentro de las acciones de configuración que se realizan en el servidor, al añadir un grupo al servidor el usuario tiene la posibilidad de especificar nombre, tiempo de refrescamiento y si el grupo estará activo o inactivo. (Fig. 3.5). La configuración es validada al dar clic en el botón aceptar o desechada dando clic en el botón cancelar.

(51) CAPÍTULO 3. RESULTADOS Y DISCUSIÓN. 40. Nombre del grupo creado. Tiempo de refrescamiento. Fig. 3.5 Diálogo de creación de grupos. A continuación se muestra el resultado de la creación de grupos en el software. (Fig.3.6) Grupos creados. Fig. 3.6 Grupos creados. 3.2.3.3 Servicio listar y añadir ítems Este servicio tambien es parte de la configuración del servidor, el mismo brinda la posibilidad de realizar una búsqueda dentro del servidor y obtener los ítems existentes para acceder a esta opción se debe dar clic en la Barra de Menú –> Edición –> Listar items. Luego de obtener los resultados de la búsqueda de ítems (Ver Fig. 3.7) el usuario escogerá cual ítem desea añadir a los grupos creados, acción que se realiza dando doble clic en el mismo..

(52) CAPÍTULO 3. RESULTADOS Y DISCUSIÓN. 41. Items añadidos. Items del servidor. Fig. 3.7 Listar y añadir ítems. 3.3. Valoración económica. Desde el punto de vista cualitativo la implementación del software presupone una serie de beneficios:. 1. Reducción de costos en cuanto al pago de licencias por software. 2. Aumentar las prestaciones de los servidores OPC instalados. 3. Facilitar la gestión y manejo de información por parte del personal administrativo.. Cuantitativamente permite el ahorro por concepto de compra y pagos de licencias adicionales de $ 10 000.00 CUC, valor al que asciende el costo del actual servicio instalado en la Refinería de Petróleo “Camilo Cienfuegos” por el proveedor YOKOGAWA..

(53) CONCLUSIONES. 42. CONCLUSIONES. A partir de los resultados obtenidos se pueden enumerar las siguientes conclusiones:. 1. El uso de la tecnología OPC permite desarrollar sistemas específicos, según las necesidades propias y no las que ofrezcan los fabricantes.. 2. La tendencia a nivel mundial es ampliar el desarrollo de soluciones basadas en el estándar OPC.. 3. Con el uso correcto de las especificaciones de la Fundación OPC se pueden crear soluciones propias para cada empresa, logrando bajos costos y mejor operatividad.. 4. La creación de servicios de obtención y almacenamiento de datos usando la tecnología OPC permite un ahorro sustancial en cuanto al pago de licencias por software, así como disminuye la dependencia tecnológica de la industria hacia el proveedor.. 5. Se logró crear una aplicación que se comunique con un servidor OPC y obtenga en tiempo real la información presente en el mismo.. 6. La metodología empleada en esta investigación puede ser usada en el diseño y desarrollo de sistemas de este tipo en cualquier industria que lo necesite.. 7. La implementación de este servicio constituye un avance en el desarrollo de aplicaciones industriales en Cuba..

(54) RECOMENDACIONES. 43. RECOMENDACIONES. En pos de un mejor desarrollo futuro de aplicaciones de este tipo se proponen las siguientes recomendaciones:. 1. Analizar el uso de éste servicio en el sistema SCADA, actualmente en desarrollo, de la Refinería de Petróleo “Camilo Cienfuegos”.. 2. Continuar el desarrollo y expansión del uso de la tecnología OPC en Cuba debido a su gran fiabilidad y ahorro en cuanto al pago de licencias.. 3. Analizar el uso de la especificación OPC-UA en el caso que sea necesario debido a que combina todas las funcionalidades..

(55) REFERENCIAS BIBLIOGRÁFICAS. 44. REFERENCIAS BIBLIOGRÁFICAS. Arias, J. D. L. D. M. A. (2006). "OPC como alternativa a las tecnologías propietarias de comunicación industrial." Revisada el 03/02/2010, de http://pisis.unalmed.edu.co/avances/archivos/ediciones/2006/lemos_etal06.pdf. Brockschmidt, K. (1993). Inside OLE Redmond, EEUU, Microsoft Press. Castillo, J. d. (1998). "Tendencias en Arquitecturas de Control." Revisada el 08/02/2010, de http://www.alcion.es/Download/ArticulosPDF/iq/gratis/07articulo.pdf Cobo, R. (2007). "OPC: El estándar para comunicaciones entre dispositivos y sistemas de control de procesos " Revisada el 30/11/2009, de http://www.emb.cl/electroindustria/articulo.mv?xid=764&srch=OPC:&act=4&tip=7 Figueroa, P. V. S. (2007). "Curso básico de OPC." Revisada el 18/11/2009, de http://www.todocontrol.es/index.php. Haus, K.-H. D. J. L. R. M. K. T. (2004). "Using OPC via DCOM with Microsoft Windows XP Service Pack 2", Revisada el 20/04/2010, de http://opcfoundation.org/DownloadFile.aspx/Using%20OPC%20via%20DCOM%2 0with%20XP%20SP2%20v1.10.pdf?RI=326 Hernández, C. (2002). OPC Clients/Servers for MATLAB. Electronic Eng. Venezuela, Universidad Simón Bolívar. Lange, F. I. J. (2002). OPC Fundamentals, Implementation and Application. Heidelberg, Alemania, Húthig GMBH & Co KG Heidelberg..

(56) REFERENCIAS BIBLIOGRÁFICAS. 45. Ling, Z. (2004). Research and Implementation of OPC Server based o Data Access Specification. Fifth World Congress on Intelligent Control and Automation, Hangzhou, China. Murphy, E. (2006). "OPC – A decade of success by any standard." Revisada el 11/02/2010, de http://www.controlglobal.com/articles/2006/129.html. Paine, T. (2008). "Meet the Next Generation of OPC." Revisada el 11/02/2010, de http://www.sensorsmag.com/networking-communications/industrialnetworking/meet-next-generation-opc-1494. Pandey, G. A. B. A. N. (2002). Programación C#. Madrid, Ediciones ANAYA Multimedia. Penin, A. R. (2007). Sistemas SCADA. M. Alfaomega. México. Pocock, M. M. N. (2010). "What is OPC in 2010? It is all about the Tag." Revisada el 11/02/2010, de http://www.controlglobal.com/articles/2010/OPC2010.html. Tiwari, S. (2005). "OPC Technology." Revisada el 18/02/2010, de http://www.codeproject.com/KB/COM/opctechnology.aspx.

(57) GLOSARIO DE TÉRMINOS. 46. GLOSARIO DE TÉRMINOS. ACL. Access Control List, Lista de Control de Acceso. ADO. ActiveX Data Objects, Objetos de Datos ActiveX. ANSI. American. Nacional. Standard. Institute,. Instituto. Nacional. de. Estandarización Americano ASP. Active Server Pages, Páginas de Servidores Activos. COM. Component Object Model, Modelo de Objetos de Componentes. CORBA. Common Object Request Broker Architecture, Arquitectura común de. intermediarios en peticiones a objetos DBMS. Data Base Management Systems, Sistemas de Gestión de Bases de Datos. DCOM. Distributed COM, COM Distribuido. DCS. Distributed Control System, Sistema de Control Distribuido. DDE. Dynamic Data Exchange, Intercambio Dinámico de Datos. DLL. Dynamic Link Library, Enlace Dinámico de Bibliotecas. HMI. Human Machine Interface, Interfaz Hombre Máquina. LAN. Local Area Network, Red de Área Local. ODBC. Open Data Base Connectivity, Conectividad abierta de base de datos. OLE. Object Linking and Embedding, Vinculación e Incrustación de Objetos. OPC. OLE for Process Control, OLE para el control de procesos.

Figure

Fig.    1.2  Sistema  de  control  distribuido  de  proceso  que  incorpora  una  tecnología  OPC
Fig.  1.3 Porcentaje de uso de OPC en la industria mundial en diferentes aplicaciones y lo que se espera  en cinco años
Fig.  1.4 Estructura cliente-servidor de OPC.
Fig.  1.5 Organización de los datos en un servidor OPC
+7

Referencias

Documento similar

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)