Integración De Un Sistema Automatizado Para Medición Fiscal Y De
-
Rating
-
Date
September 2018 -
Size
1.4MB -
Views
1,850 -
Categories
Preview only show first 6 pages with water mark for full document please download
Transcript
UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios Profesionales Coordinación de Ingeniería Electrónica INTEGRACIÓN DE UN SISTEMA AUTOMATIZADO PARA MEDICIÓN FISCAL Y DE REFERENCIA PARA LAS ESTACIONES DE FLUJO Y PATIO DE TANQUES DE PDVSA DIVISIÓN CENTRO-SUR. Por Víctor René Rodríguez Gutiérrez Realizado con la Asesoría de Ing. Cristhian de Castro PROYECTO DE GRADO Presentado ante la Ilustre Universidad Simón Bolívar como requisito parcial para optar al título de Ingeniero Electrónico Sartenejas, Abril de 2005. ii UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios Profesionales Coordinación de Ingeniería Electrónica Integración de un Sistema Automatizado para Medición Fiscal y de Referencia para las Estaciones de Flujo y Patio de Tanques de PDVSA División Centro-Sur. PROYECTO DE GRADO presentado por Víctor René Rodríguez Gutiérrez REALIZADO CON LA ASESORÍA DE: Ing. Cristhian de Castro (Tutor Académico) Ing. Juan Pomares (Tutor Industrial) RESUMEN La integración del Sistema Automatizado para Medición Fiscal y de Referencia basada en el Sistema de Adquisición de Datos en Red Net-DAS y en tecnologías Web para la visualización de los datos, propone una alternativa para Supervisión y Monitoreo de las variables de proceso involucradas en la medición en línea en los oleoductos de las Estaciones de Flujo y Patio de Tanques de PDVSA Distrito Sur. Dicha integración contempla el estudio integral del funcionamiento del sistema de adquisición de datos y la comprensión de todos los elementos involucrados: computador modular industrial con estándar PC/104-Plus, transmisores de campo, servidor Web, entre otros. De esta manera, se puede apreciar los requerimientos para la selección de los protocolos de comunicación entre las etapas de la arquitectura y los lenguajes de programación a utilizar para el desarrollo de las aplicaciones, para plantear una solución para la integración e implementación del sistema. Posteriormente, se adecuó el despliegue gráfico para mostrar en ambiente Web, los datos recogidos de campo a través de las redes que se integran al sistema de adquisición de datos. Se logró presentar una alternativa para la integración del sistema automatizado de medición en cuestión, que permite un avance en cuanto a características técnicas y mejora en la relación costo/funcionalidad. PALABRAS CLAVES Medición Fiscal y de Referencia, Adquisición de Datos, Supervisión y Monitoreo, Oleoductos, PDVSA. Aprobado con mención: Postulado para el premio: Sartenejas, Abril de 2005. iii Dedico este libro a mis padres y a mi hermanita Carla, por ser las personas más especiales que conozco en el mundo, Víctor René. iv AGRADECIMIENTO Por sobre todas las cosas le agradezco a Dios, quién me ha brindado paz, fuerza, gran paciencia, voluntad, y autodominio, para culminar satisfactoriamente mis metas a lo largo de mi vida. A mis Padres, Pedro y Mercedes, a mi Hermanita Carla, quienes con humildad, ánimo, dedicación y amor, me han apoyado, aconsejado e inspirado para culminar mi carrera. A abuelita Doris, quien con sus sabios consejos me ha guiado por los caminos correctos durante toda mi vida. A mis familiares, Abuela Ángela, Luis Gonzalo, Ludys, Marisela, Tío Rafael, Tía Chepi, Tía Candi, Cabeto, Tía Negra, Mariela, quienes me han ayudado de alguna manera u otra a lo largo de mi carrera. Al ingeniero Juan Pomares, tutor industrial, quien con gentileza y profesionalismo se esforzó por ayudarme y atender cualquier problema e inquietud durante el desarrollo del trabajo. A la ingeniero Teresa De Caires, quién con su dedicación y esfuerzo hizo posible que llevará a cabo mi trabajo. Al ingeniero, Cristhian de Castro, tutor académico, por comprometerse y disponer de tiempo para atender la realización de mi trabajo. A mis Grandes Amigos quienes compartieron conmigo toda la carrera, ayudándonos unos a los otros: Fran, Fede, Dioris, Silvia, Antonio, Mara, Álvaro, Gabriel, Max, Francisco, Gus, Emilio, Lenny, José Rafael, Raúl, Katiuska, Pedro, José Javier, Ian. A dos Grandes Personas, Martina y Dayana, quienes con su humildad, cariño y amor, me han ayudado y apoyado en mis cosas. A mis Amigos y Compañeros de Trabajo quienes me apoyaron y me ayudaron cuando lo necesité: Ana María, Guillermo, Reneé, Galo, Carlos, Luisa, Grace, Sr. Tony, Kathleen, Celeste, Romel, Karina. A todos Muchas Gracias! v ÍNDICE GENERAL RESUMEN ii DEDICATORIA iii AGRADECIMIENTO iv INDICE GENERAL v INDICE DE TABLAS ix INDICE DE FIGURAS x LISTA DE ABREVIATURAS xii CAPITULO 1.- INTRODUCCIÓN 1 CAPITULO 2.- PLANTEAMIENTO DEL PROYECTO 6 2.1.- Introducción 6 2.2.- Antecedentes y Justificación 6 2.3.- Objetivos del Proyecto 8 2.4.- Alcance del Proyecto 8 CAPITULO 3.- MARCO TEÓRICO 10 3.1.- Introducción 10 3.2.- Descripción del área de Coordinación Operacional 10 3.2.1.- Aspectos Generales 10 3.2.2.- Descripción de los Servicios del área Coordinación Operacional 11 3.2.3.- Estaciones de Válvulas 13 3.2.4.- Estaciones de Rebombeo 14 vi 3.2.5.- Estaciones de Flujo 14 3.2.6.- Mediciones Más Importantes 16 3.2.6.1.- Medición De Presión 16 3.2.6.2.- Medición de Temperatura 16 3.2.6.3.- Medición de Flujo 16 3.3.- Medición Fiscal y de Referencia 17 3.3.1.- Medición en Tanques 18 3.3.2.- Medición en Línea 18 3.4.- Protocolos de Comunicación 20 3.4.1.- HART 20 3.4.1.1.- Descripción 20 3.4.1.2.- Lazo de Conexión 21 3.4.1.3.- Conexión Multipunto 22 3.4.1.4.- Estructura del Mensaje 23 3.4.2.-Modbus 27 3.4.2.1.- Introducción 27 3.4.2.2.- Modbus RTU 29 3.4.2.3.- Modbus TCP 29 3.4.2.4.- Enmarcado del Mensaje Modbus 30 3.4.3.- HTTP 34 3.4.4.- XML – RPC 36 3.4.5.- Interfaces RS - 232 & RS- 485 37 3.5.- PC Industrial Modular / Arquitectura Net-DAS 39 3.5.1.- Características Técnicas 39 3.5.2.- Estándar PC/104 40 3.5.3.- Estructura del PC Industrial Modular 41 3.5.4- Arquitectura Net-DAS 46 3.5.4.1.- Definición 46 3.5.4.2.- Objetivos 47 3.5.4.3.- Ventajas 47 3.5.4.4.- Características 48 vii 3.6.- Servidores HTTP Apache 50 3.7.- Lenguajes de Programación 51 3.7.1.- HTML 51 3.7.2.- PHP 52 3.7.3.- JavaScript 53 3.7.4.- Perl 53 CAPITULO 4.- SISTEMA INTEGRADO DE SUPERVISIÓN Y MONITOREO 57 4.1.- Introducción 57 4.2.- Metodología 57 4.2.1.- Primera Fase: Ingeniería 57 4.2.2.- Segunda Fase: Desarrollo e Implementación del Sistema 58 4.2.3.- Tercera Fase: Pruebas 60 4.3.- Sistema integrado de Supervisión y Monitoreo 60 4.3.1.- Generalidades del Sistema 60 4.3.2.- Módulo de Captación de Datos en Campo 64 4.3.2.1.- Lazos de Comunicación 65 4.3.2.2.- Captación de Datos con Net-DAS 70 4.3.3.- Módulo de Comunicación entre Servidor Agente Interfaz y Computador Net-DAS 83 4.3.4.- Módulo de Captación de Datos desde el Servidor Web 84 4.3.5.- Módulo de Visualización en Web 87 4.4.- Dominio Web CAPITULO 5.- PRUEBAS Y ANÁLISIS DE RESULTADOS 90 94 5.1.- Introducción 94 5.2.- Pruebas y Resultados Técnicos 94 5.3.- Ventajas del Sistema 98 5.4.- Limitaciones del Sistema 100 CAPITULO 6.- CONCLUSIONES Y RECOMENDACIONES 101 viii REFERENCIAS BIBLIOGRÁFICAS APÉNDICES.- Contenido del CD Anexo APÉNDICE A.- Especificaciones Técnicas de los Módulos del Computador Industrial PC/104 - Plus A.1.- MOPSlcd7 A.2.- PCM-3116 A.3.- PCM-3660 A.4.- Xtreme/104 A.5.- HE104 APÉNDICE B.- Códigos Fuentes B.1.- Archivo dat_EF_SIN.pl B.2.- Archivo HTMLRenderData.pm B.3.- Archivo FieldAccess.pm B.4.- Archivo dsp_EF_SIN.htm B.5.- Archivo netdaslib.js B.6.- Archivo htmlIO.js B.7.- Archivo netdasPageRefresh.js APÉNDICE C.- Configuración del Setup del PC Modular PC/104-Plus APÉNDICE D.- Archivo de Configuración del Servidor Web APÉNDICE E.- Normas Técnicas para la Fiscalización de Hidrocarburos Líquidos. APÉNDICE F.- Especificaciones Técnicas de los Equipos de Campo F.1.- Transmisor de Flujo Micromotion RFT9739 F.2.- Transmisor de Presión Rosemount 3051TG F.3.- Transmisor de Temperatura Rosemount 3144P 104 ix ÍNDICE DE TABLAS Tabla 3.1.- Descripción de los Servicios 12 Tabla 3.2.- Byte de inicio 24 Tabla 3.3.- Especificaciones Módulo Xtreme/104 45 Tabla 3.4.-Especificaciones Módulo HE104 46 Tabla 4.1.- Especificaciones de la Comunicación Modbus RTU empleada 68 Tabla 4.2.- Registros de los Transmisores de Presión y Temperatura 79 Tabla 4.3.- Distribución de los Registros de Entrada en la Tabla Modbus Interna de la Net-DAS 79 Tabla 4.4.- Distribución de los Registros de Estatus de Comunicación 81 Tabla 4.5.- Registros de las Variables de Proceso del Transmisor de Flujo 82 Tabla 4.6.- Detalle de Mapeo de Memoria de la Net-DAS 85 x ÍNDICE DE FIGURAS Figura 3.1.- Procesos Operacionales Asociados 11 Figura 3.2.- Ubicación Esquemática de las Instalaciones de P.T.S 13 Figura 3.3.- Estaciones de Flujo 15 Figura 3.4.- Medición en Tanques 18 Figura 3.5.- Medición en Línea 19 Figura 3.6.- Señal HART BELL 202 20 Figura 3.7.- Lazo HART 22 Figura 3.8.- Estructura del Mensaje HART 23 Figura 3.9.- Dirección HART en Formato Corto 25 Figura 3.10.- Dirección HART en Formato Largo 25 Figura 3.11.- Ciclo de Pregunta – Respuesta en Modbus 28 Figura 3.12.- Marco Modbus TCP 30 Figura 3.13.- Marco Modbus RTU 31 Figura 3.14.- Principio de Solicitud/Respuesta del Protocolo http 35 Figura 3.15.- RS -485 de un solo par trenzado 38 Figura 3.16.- RS -485 de dos pares trenzado 39 Figura 3.17.- PC Industrial Modular PC/104-Plus 42 Figura 3.18.- Módulo MOPSlcd7 42 Figura 3.19.- Módulo PCM-3116 43 Figura 3.20.- Módulo PCM-3660 44 Figura 3.21.- Módulo Xtreme/104 44 Figura 3.22.- Módulo HE104 45 Figura 3.23.- Ejemplo sencillo de un código PHP 52 Figura 4.1.- Módulos de la Arquitectura SAMEL 61 Figura 4.2.- Diagrama de Bloques de las Etapas de la Arquitectura SAMEL 61 Figura 4.3.- Arquitectura del Sistema Automatizado de Medición en Línea 63 Figura 4.4.- Diagrama de Flujo entre las Etapas de la Arquitectura SAMEL 64 Figura 4.5.- Lazo HART de la Arquitectura SAMEL 66 Figura 4.6.- Esquema de Conexión Modbus de la Arquitectura SAMEL 67 xi Figura 4.7.- Terminales del Transmisor de Flujo RFT9739 69 Figura 4.8.- Pantalla de Configuración en el Prolink 70 Figura 4.9.- Pantalla de Inicio de la Administración Web para Net-DAS 71 Figura 4.10.- Applet de Java/Configuración de Amos 72 Figura 4.11.- Applet de Java/Configuración de Esclavos 73 Figura 4.12.- Despliegue Completo/Configuración de Esclavos 73 Figura 4.13.- Despliegue Completo/Configuración TCP/IP 74 Figura 4.14.- Aplicación Telnet en el Navegador Web 75 Figura 4.15.- Visualización del Contenido de los Registros 75 Figura 4.16.- Estadísticas de Comunicación de los Puertos del Computador Modular 76 Figura 4.17.- Pantalla de Selección de Puerto para la Detección de Dispositivos Hart 77 Figura 4.18.- Estaciones del Amo Hart 78 Figura 4.19.- Asignación de Registros en la Estación asociada al Transmisor de Presión 80 Figura 4.20.- Asignación de Registros en la Estación asociada al Transmisor de Flujo 83 Figura 4.21.- Ejemplo de Definición de TAGs a ser Consultados desde el Servidor Web al Servidor Agente Interfaz 86 Figura 4.22.- Esquema de Funcionamiento del Módulo de Captación de Datos desde el Servidor Web 87 Figura 4.23.- Plantilla Gráfica para la Visualización de los Datos de Campo 89 Figura 4.24.- Esquema de Funcionamiento del Módulo de Visualización en Web 89 Figura 4.25.- Página Inicial de la URL del Dominio Web 90 Figura 5.1.- Respuesta de los Transmisores en la Detección Hart 95 Figura 5.2.- Configuración de un Amo Modbus TCP para Prueba de Comunicación con Net-DAS 96 Figura 5.3.- Comunicación con el Esclavo Modbus TCP configurado en la Net-DAS 96 Figura 5.4.- Datos de Campo vistos desde el Script de Perl 97 Figura 5.5.- Despliegue Gráfico de la Arquitectura Desarrollada 98 xii LISTA DE ABREVIATURAS AIT: Superintendencia de Automatización, Informática, Telecomunicaciones y Seguridad. CGI: Common Gateway Interface. CRC: Cyclic Redundancy Check. DC: Direct Current DHCP: Dynamic Host Configuration Protocol EF: Estación de Flujo. HART: Highway Addressable Remote Transducer. HTML: HyperText Markup Language HTTP: Hypertext Transfer Protocol. ID: Identificación IP: Internet Protocol LAN: Local Area Network. MEM: Ministerio de Energía y Minas. Net-DAS: Network Data Acquisition System. PC: Personal Computer. PCI: Peripheral Component Interconnect. PDVSA: Petróleos de Venezuela, S.A. Perl: Practical Extraction and Report Language. PHP : Hypertext Preprocessor. PLC: Programmable Logic Controller. PTS: Patio de Tanques de Silvestre. RFC: Request for Comments. RPC: Remote Procedure Call. RTU: Remote Terminal Unit. SAMEL: Sistema Automatizado de Medición en Línea SCADA: Supervisory Control And Data Acquisition TCP: Transmission Control Protocol. UE: Unidad de Explotación. URL: Uniform Resource Locator. xiii XML: Extensible Markup Language. CAPÍTULO 1.- INTRODUCCIÓN El presente libro expone el trabajo de pasantía realizado en el Departamento de Automatización Industrial, de la Superintendencia de Automatización, Informática, Telecomunicaciones y Seguridad (AIT) del Distrito Sur dentro de la División Centro - Sur de Petróleos de Venezuela, S.A, ubicado en la ciudad de Barinas, Venezuela. El Proyecto contempla la planificación, desarrollo e implementación de la integración de un Sistema Automatizado de Medición en Línea modelando las arquitecturas dispuestas para las Estaciones de Flujo y Patio de Tanques. Para la medición en línea de la producción en los oleoductos de las Estaciones de Flujo y Patio de Tanques se utilizan estaciones de medición, las cuales contienen la instrumentación necesaria para medir flujo volumétrico o másico, presión, temperatura, densidad y corte de agua. Para el desarrollo de la integración se utilizó instrumentos de campo para modelar las estaciones de medición instaladas en los oleoductos. En Barinas la industria petrolera tuvo su origen en junio de 1930, con la perforación del pozo Uzcategui-1, a cargo de la Zamora Venezuela Petroleum Company, ubicada en las inmediaciones del que era entonces el caserío de Quebrada Seca, a unos 14 kilómetros al noroeste de la ciudad de Barinas. En marzo de 1934 los trabajos en el pozo Uzcategui-1 fueron abandonados. Fue hasta el año 1942, cuando la Socony Vacuum Oil Company, reinicia la perforación con resultados satisfactorios. En agosto de 1947, se une la explotación del pozo Silvestre-2 en el Municipio Torunos, con una producción para la época de 2.800 barriles diarios de petróleo. En 1953 la Sinclair Venezuela Oil Company, perforó con éxito el pozo Sinco-1 y logra una producción diaria de 1.000 barriles, y en ese año se desarrollan los campos San Silvestre-2 y Sinco-1, con 35 pozos perforados todos productores de los cuales 18 correspondieron a Campo San Silvestre y 17 a Campo Sinco. En 1960 la misma empresa perforó el pozo Nutria-2, en el Campo Nutrias, descubriéndose hidrocarburos líquidos con una densidad de 11 grados API y un alto porcentaje de agua, hallazgo que para le época no era comercial por lo que es abandonado al poco tiempo. En 1961 la Mobil Oil Company perfora el pozo Hato-1 a unos 38 kilómetros al sur de la ciudad de Barinas, vecino del Campo Sinco. Un año más tarde la Corporación Venezolana de Petróleo (CVP), perfora los pozos Maporal, 2 INTRODUCCIÓN Silván y Palmita. En 1965 la Venezuela Atlantic Refining Company, perfora el pozo Páez-4, con una producción inicial de 300 barriles por día. En 1977 con la nacionalización petrolera, las 14 empresas operadoras que existían para ese momento pasan a ser propiedad del Estado. Entre su nueva estructura destaca Llanoven que en ese año se fusiona con la CVP, absorbiendo a Palmaven, Bariven y Deltaven para formar CVP – Llanoven. En 1978, se firma el registro mercantil de Corpoven filial de Petróleos de Venezuela y al año siguiente la casa matriz le asigna a la nueva empresa las áreas operacionales integradas, entre las cuales se encuentra la de Barinas donde seguiría la extracción de crudos en campos ya existentes como Sinco, Silvestre, Mingo, Maporal, Silván, Hato y Páez. La Unidad de Explotación de Apure (U.E.A) comprende los campos de la Victoria y Guafita que fueron descubiertos en 1984 y explotados firmemente dos años después de su descubrimiento. La Unidad de Explotación de Apure fue creada en el año 1998, para coordinar la explotación racional de las reservas de los yacimientos. A finales de 1997, la Corporación Energética Venezolana creó la empresa PDVSA Petróleo y Gas fusionando las tres filiales principales existentes: Corpoven, Maraven y Lagoven. Hoy en día PDVSA Petróleo y Gas se constituye por tres grandes divisiones, dedicadas a las actividades medulares del negocio: PDVSA Exploración, Producción y Mejoramiento; PDVSA Refinación, Suministro y Comercio; y PDVSA Gas. Cada una de estas divisiones a su vez está integrada por diversas empresas y unidades de negocio, ubicadas tanto en Venezuela como en el exterior, siendo desarrollado el sector petroquímico por Pequiven y sus empresas mixtas. Con esta reestructuración organizativa las áreas operacionales de Barinas y Apure quedaron ubicadas dentro del organigrama en la división correspondiente a Exploración, Producción y Mejoramiento, específicamente en Producción bajo la denominación de Distrito Sur, al mismo nivel de las otras dos gerencias en el ámbito nacional: Gerencia General Oriente y Gerencia General Occidente. De esta manera, el Distrito Sur maneja hoy por gestión directa las Unidades de Explotación de los yacimientos petrolíferos de crudos livianos y medianos, ubicados en los llanos occidentales, en los estados Barinas y Apure, abarcando una superficie estimada de 280 Km2. En esta área no hay campos bajo convenios operativos. Su capacidad de producción actual es de 150 mil barriles diarios de crudo, los cuales vienen a 3 INTRODUCCIÓN representar el cuatro por ciento de la capacidad de producción nacional. Se espera llegar a una capacidad de producción de 260 mil barriles diarios de crudo y condensado, para finales del año 2009. Su producción es transferida a la Refinería El Palito por el Oleoducto de 20 pulgadas con una longitud de 643 Km, recorriendo los estados Apure, Barinas, Portuguesa, Yaracuy y Carabobo. Actualmente, en el Departamento de Automatización Industrial de la División Centro – Sur, por las necesidades de buscar alternativas de Supervisión, Control y Adquisición de Datos de última generación que se adapten a los requerimientos de costo, funcionalidad y calidad, se han ido emprendiendo proyectos pilotos de escala intermedia y de poco impacto con miras a obtener resultados y soluciones en un corto plazo. A partir de esto, se origina la necesidad de planificar, desarrollar e implementar la integración de un Sistema Automatizado para Medición Fiscal y de Referencia que contribuya con todos los esfuerzos que se están llevando a cabo dentro del Departamento de Automatización Industrial de la División Centro-Sur, en busca de nuevas alternativas de menor costo que aumenten las capacidades y desempeño del sistema. La integración del sistema implicó establecer la interacción de las distintas etapas que conforman la arquitectura, desde la captación de los datos de campo enviados por los distintos transmisores de las variables de procesos, hasta la disposición de esos datos en un ambiente desarrollado bajo estándares Web que permita la consulta de los mismos desde cualquier parte de la red de procesos de la Corporación, sin necesidad de utilizar computadores y herramientas especializadas. La aplicación Web debe ser consultada desde un explorador convencional, que contenga los requerimientos que comúnmente se exigen al navegar en Internet. La Captación de Datos está basada en el Sistema Net-DAS montado sobre un computador modular de estándar industrial de conexión PC/104 – Plus. Los protocolos de comunicación están dentro de los estándares utilizados comúnmente en las redes industriales de la Corporación. Las aplicaciones utilizadas para la implementación están desarrolladas en lenguajes de programación comúnmente utilizados, siguiendo los estándares más empleados para arquitecturas basadas en Web. 4 INTRODUCCIÓN Antes de establecer la integración de la arquitectura se garantizó un correcto funcionamiento de cada una de las etapas que conforman a la misma, para luego, conformar las diferentes redes de comunicación y realizar la implementación completa del sistema, demostrando que los datos mostrados en el entorno Web, correspondían a los datos registrados por los equipos de campo. La implementación del sistema se hizo localmente en un espacio de laboratorio, utilizando los equipos reales de campo. Para realizar la implementación se desarrolló la ingeniería previa para diseñar las estrategias de montaje, y se configuraron e instalaron las distintas redes y equipos que componen la arquitectura del sistema. La selección de los protocolos de comunicación y lenguajes de programación, y la estructuración de la arquitectura fueron la más acertadas que permitieron obtener los resultados óptimos esperados. El libro consta de seis capítulos, los cuales son brevemente descritos a continuación: El segundo capítulo plantea los argumentos y bases teóricas necesarias para ayudar al lector al entendimiento del contenido del resto de los capítulos que conforman el libro. Se dan definiciones y características de los principales tópicos abarcados en el contexto del Proyecto. En el tercer capítulo, se hace revisión de la descripción del Proyecto que permite conocer en rasgos generales el contexto sobre el cual está enmarcado el mismo, seguido del planteamiento del objetivo principal junto con el detalle de sus objetivos específicos. La justificación y el alcance del Proyecto también forman parte de este capítulo. El desarrollo del Proyecto está explicado en el cuarto capítulo, el cual empieza por una descripción de la metodología empleada para lograr la integración del sistema. La metodología está conformada por un grupo de fases que hacen posible llevar a cabo el Proyecto de manera exitosa y organizada. El cuerpo principal de este capítulo esta constituido por el estudio a fondo de la arquitectura del sistema, para lo cual se hace una descripción técnica – detallada de cada uno de los módulos que conforman a la misma. Se describe el funcionamiento lógico del sistema, la configuraron los transmisores de campo, la conformación de las redes para la 5 INTRODUCCIÓN comunicación de las distintas partes, la instalación y configuración del sistema de adquisición de datos, la adaptación de las distintas interfaces para el entendimiento entre las distintas etapas de la arquitectura y la programación de las aplicaciones basadas en ambiente Web. A lo largo del capítulo se hace referencia a los protocolos y herramientas utilizadas para la conformación del sistema, de acuerdo a los requerimientos planteados con el Proyecto. En el quinto capítulo se describen por un lado las ventajas y limitaciones del sistema, y por otro, el conjunto de pruebas hechas para evaluar el funcionamiento de las etapas que constituyen el sistema, y los resultados obtenidos de cada una de ellas. Por último se presenta el capítulo de las conclusiones obtenidas del Proyecto y recomendaciones sugeridas para futuros desarrollos basados en la misma arquitectura. CAPITULO 2.- PLANTEAMIENTO DEL PROYECTO 2.1.- Introducción Debido a los constantes cambios y las crecientes exigencias por las que atraviesan todas las empresas productoras de bienes y servicios en lo referente a calidad de la información, productividad, disminución de costos de producción, la industria en general ha venido encaminando sus acciones hacia la formulación de planes que hagan posible la optimización y el mejoramiento de los procesos, con el fin de obtener los mayores beneficios y cumplir con los retos que se imponen. El Departamento de Automatización Industrial del División Centro – Sur tiene como propósito fundamental proveer dos líneas de servicios: Soporte y Mantenimiento de la infraestructura de automatización de operaciones de producción; Ingeniería y Proyecto para la automatización de nuevas instalaciones de acuerdo al plan de crecimiento del distrito de tal forma de racionalizar y optimizar la operación y control de sus procesos industriales e incrementar la productividad de sus actividades. Por lo tanto, una de las responsabilidades de este departamento es mantener actualizados, en cuanto a avances tecnológicos en automatización, a los Sistemas de Adquisición de Datos, Control y Supervisión de los distintos procesos industriales que se desarrollan en el distrito. 2.2.- Antecedentes y Justificación El Departamento de Automatización Industrial de la Superintendencia de Automatización, Informática, Telecomunicaciones y Seguridad (AIT) de la División Centro – Sur de Petróleos de Venezuela, S.A., sobre la base de excelentes resultados obtenidos en otras regiones y el incentivo de implementar en todos sus procesos tecnología de punta, decidió emprender proyectos pilotos para la Automatización de los Sistemas de Adquisición de Datos de Campo que garantice las operaciones de mando, señalización, medición y ocurrencia de incidentes en los parámetros operacionales asociados a la Estaciones de Flujo y el Patio de Tanques Silvestre (PTS), empleando una Nueva Arquitectura conocida como Net-DAS (Network Data Acquisition System) desarrollada por Intevep, S.A., basada en computadores modulares que utilizan el estándar industrial PC/104. La tecnología de medición y control de los procesos industriales automatizados presentes en el área, son de última generación; se 7 PLANTEAMIENTO DEL PROYECTO obtienen datos en tiempo real y continuo de las variables importantes. Por lo tanto, es factible la prueba de sistemas alternativos de captación de datos, más aún si son desarrollos propios de la Corporación. Actualmente el Sistema de Supervisión, Control y Adquisición de Datos está basado en el Sistema Especializado SCADA (siglas de Supervisory Control And Data Acquisition). Debido a la robustez de este sistema, es muy difícil que sea reemplazado en un corto plazo. Los proyectos pilotos con la Nueva Arquitectura contemplan inicialmente la Supervisión y Adquisición de Datos, debido a que implementar el Control sin contar con una madurez suficiente de las nuevas aplicaciones, es una tarea sumamente delicada y difícil. Se pretende ir implementando y probando la Nueva Arquitectura en paralelo al Sistema actual, para evitar causar algún impacto dentro de los procesos que luego se pueda convertir en costosas pérdidas. El Ministerio de Energía y Minas, como ente regulador y supervisor de la disposición de los hidrocarburos y de todos sus derivados, ha exigido a través de unos lineamientos de política petrolera la automatización de las mediciones sobre puntos críticos para la contabilización de volúmenes netos de hidrocarburos producidos, siendo necesaria la adecuada disposición de los datos obtenidos para el correspondiente monitoreo por parte del Ministerio. Por lo tanto, es recomendable y obligatorio que los puntos críticos de supervisión, deban estar basados en sistemas de medición que cumplan con los requerimientos exigidos en las Normas impuestas por el Ministerio. La División Centro – Sur, no cuenta con un sistema que le permita al Ministerio monitorear y supervisar fácilmente los datos críticos de campo, es por ello que se origina la necesidad de planificar, desarrollar e implementar la integración de un Sistema Automatizado para Medición Fiscal y de Referencia, bajo la filosofía de incorporar, desarrollar y utilizar aplicaciones y sistemas propios de la Corporación, basados en estándares y protocolos de tecnología de punta, sin que haya la necesidad de invertir en costosos sistemas especializados que actualmente se encuentran en el mercado. Este Sistema para Medición Fiscal y de Referencia, va completamente alineado a la filosofía de las nuevas alternativas para Supervisión de menor costo y de mayor desempeño, 8 PLANTEAMIENTO DEL PROYECTO formando parte de los proyectos pilotos que actualmente se desarrollan en el área de Automatización. Este Sistema aprovecha las ventajas de los protocolos utilizados en el mundo Web, por lo que la disposición de los datos al supervisor, en este caso al Ministerio, sería de manera inmediata y desde cualquier ubicación dentro de la red de procesos de la Corporación. 2.3.- Objetivos del Proyecto Objetivo General: Planificar, Desarrollar e Implantar un Sistema Integrado para Medición Fiscal y de Referencia en las Estaciones de Flujo y Patio de Tanques. Objetivos Específicos: • Seleccionar los protocolos de comunicación a emplear en cada una de las interfaces del sistema. • Instalar y Configurar el Módulo de Captación de Datos en Campo constituido por el Computador Modular PC/104-Plus y el Sistema Net-DAS. • Establecer la comunicación entre los transmisores de mediciones y la unidad terminal remota Net-DAS. • Estudiar la interfaz entre el Net-DAS y la Recepción de Datos para la Visualización vía Web. • Diseñar la estrategia de contenido a manejar en el monitoreo, adaptado a la normativa utilizada en la Corporación. • Implementar la Aplicación Web para el monitoreo, empleando los lenguajes de comunicación PHP, HTML, JavaScript y Perl. • Configurar el Servidor Web y puesta en marcha de la aplicación corriendo sobre el mismo. 2.4.- Alcance del Proyecto El Proyecto se desarrolló a nivel de laboratorio en las oficinas del Departamento de Automatización Industrial de la División Centro Sur de PDVSA. La implementación de la 9 PLANTEAMIENTO DEL PROYECTO arquitectura para el Sistema de Monitoreo y Supervisión vía Web, se hizo localmente utilizando los transmisores reales de campo (presión, temperatura y flujo), el computador modular con el Sistema Net-DAS, un computador personal haciendo las funciones de Servidor Web, y un servidor dedicado para unas funciones de comunicación para la transmisión de los datos. El Proyecto no contempla la instalación en campo, por lo tanto, la integración se desarrolló a manera de prueba como posible alternativa para supervisión de las variables de proceso en los oleoductos de las Estaciones de Flujo y Patio de Tanques. Debido que la integración no se hizo directamente en campo, era inadecuado instalar todos los equipos en las oficinas donde se estableció el laboratorio, como son los casos del transmisor de corte de agua, del sensor de corte de agua, y del sensor de flujo. Para el caso en particular del transmisor de flujo, por ausencia del sensor, se dispuso de un simulador para enviar datos empleando el mismo protocolo de comunicación del equipo. Se dispuso de las herramientas y equipos necesarios para llevar a cabo con éxito la integración del Sistema. CAPÍTULO 3.- MARCO TEÓRICO 3.1.- Introducción En el presente capítulo se pretende hacer una revisión por cada uno de los conceptos abarcados en el desarrollo del proyecto, para facilitar el entendimiento de los distintos sistemas y aplicaciones que conforman la integración de la arquitectura del Sistema de Medición Fiscal y de Referencia en Línea. 3.2.- Descripción del área de Coordinación Operacional 3.2.1.- Aspectos Generales El Patio de Tanques de Silvestre (P.T.S.) está definido como el gran centro de acopio de la producción del Distrito Sur. Está ubicado geográficamente a 35 Km de la ciudad de Barinas en el campo Silvestre a 2 Km de la carretera Barinas-San Silvestre, a una altitud de 125 m con respecto al nivel del mar. Fue diseñado para la recolección del crudo producido tanto en Apure como de Barinas. Los procesos operacionales que están asociados a P.T.S. son los siguientes (ver Figura 3.1): • Recepción de crudo, proveniente de los campos del Estado Apure (Estaciones de Flujo Guafita y La Victoria) y del Estado Barinas (Estaciones de Flujo Silván, Mingo, Silvestre B, Sinco y Palmita). • Almacenamiento de crudo, a través de cuatro tanques de techo flotante con capacidad nominal de 150 mil barriles cada uno, altura de 50 pies y 150 pies de diámetro. Cada tanque cuenta con un patio, muros de contención de 2.5 Mts de altura, sistemas de drenajes de agua de lluvia y rampas de acceso. El crudo llega a través de líneas de 20 pulgadas para el caso de Apure y 16 pulgadas para Barinas, distribuyéndose al tanque de interés por medio de sistemas de válvulas motorizadas con acción remota desde la Sala de Control. 11 MARCO TEÓRICO • Transporte de crudo almacenado, hacia la Refinería El Palito en el Estado Carabobo, por medio de un sistema de bombas de precarga, sistema de bombas principales y tres Estaciones Reforzadoras. • Transferencia de custodia de crudo, a través del Oleoducto P.T.SRefinería El Palito. El proceso de transferencia de custodia abarca tanto la llegada del crudo a los tanques de almacenamiento de la Refinería, así como su contabilización a través de medidores de flujo. Es importante destacar que estos medidores son monitoreados desde P.T.S. y son considerados solo una medida operacional de referencia por cuanto la medida oficial del crudo bombeado es la que arroja el proceso de aforo de los tanques de la Refinería. Figura 3.1.- Procesos Operacionales Asociados 3.2.2.- Descripción de los Servicios del área Coordinación Operacional Los servicios prestados son cinco en total y están asignados actualmente a un área determinada de la siguiente manera (ver Tabla 3.1). La supervisión y control de las operaciones de producción en el Patio de Tanques Silvestre (P.T.S.) de la U.E. Barinas, está basada en un SCADA marca Intellution, modelo FIX32 v7.0 ubicado en la sala de telemetría 12 MARCO TEÓRICO de dicha localidad (el mismo que supervisa y controla las operaciones de los campos de producción de Barinas), en 1 PLC marca Allen Bradley, modelo 5/20E ubicado en la sala de bombas de dicha instalación, en 2 RTU’s marca Bristol Babcock, modelo DPC3330 ubicadas en la sala de telemetría de dicha localidad. La comunicación entre el sistema SCADA y las RTU’s se realiza a través de la aplicación OpenBSI v2.3 de Bristol Babcock y el controlador BR3 v6.10f del referido SCADA. La comunicación con los equipos de campo se realiza mediante enlaces seriales a 9.600 bps con el protocolo BISAP. La comunicación entre el sistema SCADA y el PLC se realiza a través de la aplicación RsLinx Gateway v02.10.118.0 de Rockwell Software y el controlador ABR v6.53g del referido SCADA, mediante un enlace de red Ethernet TCP/IP (tanto el SCADA como el PLC están conectados a la red de datos de la corporación). Tabla 3.1.- Descripción de los Servicios Servicio Instalación Estación Patio Tanques Bombas Booster y Filtros de Crudo Línea de Entrada de Crudo de Apure - Barinas Patio Tanques Silvestre Bombas de Torres de Enfriamiento Trampa de Salida de PTS Bombas Principales de PTS Oleoducto Apure – Barinas (28 Estaciones de Válvula) Oleoducto Barinas - El Palito (13 Estaciones de Válvula) Estación Reforzadora Guanare Estaciones de Rebombeo Estación Reforzadora Yaritagua Estación Reforzadora Acarigua Estación de Flujo Palmita Estaciones de Flujo Estación de Flujo Silvestre B Estación de Flujo Sinco D Barinas Estación de Flujo Silvan Estación de Flujo Mingo 13 MARCO TEÓRICO Dentro de este servicio se encuentran las siguientes instalaciones: Patio de Tanques, Bombas Booster y Filtros de Crudo, Línea de Entrada de Crudo de Apure – Barinas, Bombas de Torres de Enfriamiento, Trampa de Salida de PTS, Bombas Principales de PTS (ver Figura 3.2). Figura 3.2.- Ubicación Esquemática de las Instalaciones de P.T.S 3.2.3.- Estaciones de Válvulas. Las Estaciones de Válvulas supervisan y controlan el transporte de crudo desde su extracción hasta la Refinería el Palito para su posterior embarque o proceso en la planta. Dentro de la arquitectura de las Estaciones del Oleoducto Apure – El Palito se encuentran las remotas y radios, las remotas 3305 marca Brístol y los radios digitales. Las Estaciones de Válvulas supervisan y controlan el transporte de crudo desde su extracción hasta la refinería el palito para su posterior embarque o proceso en la planta. Dentro de este servicio se encuentran las siguientes instalaciones: • Oleoducto Apure - Barinas (conformado por 28 Estaciones de Válvula): La Victoria 4 , La Victoria 5, La Mona, Caño Colorada, 14 MARCO TEÓRICO Mata Larga, Hato Angostura, Caño Muñoz, El Amparo, Pueblo Viejo, La Miel, Guaritico, Bogante, La Idea, Palmarito 1, Palmarito 2, Caño el Babo, Mata de Banco, Apure Sur; Apure Norte, Araguaney, Calzada Páez, Canagua, Zamoa, Paguey, Morrocoy. • Oleoducto Barinas - El Palito (conformado por 13 Estaciones de Válvula): Torunos, San Nicolás, Guanare, Por Fin, Acarigua, Cambiaba, Chivacoa, Boraure, El Peñón, Bananera, Santa Rita, Simonera. 3.2.4.- Estaciones de Rebombeo. El sistema de control de las Reforzadoras se encuentra conformado por dos remotas Bristol (Esclava y Maestra) ubicada en la sala de control. Las remotas permiten operar, supervisar y controlar el bombeo de la planta, en forma remota (desde la estación PTS) ya que la estación es desasistida. El sistema se divide en dos gabinetes, el primero se encuentra en la sala de control y contiene: dos remotas, una amo y una segunda remota esclava, el equipo de comunicación con P.T.S. y en la misma sala se encuentra una consola de operación local. El segundo gabinete se encuentra en un centro de control de motores (CCM) en el cual se concentra el I/O discretos involucrados en el manejo de las bombas. Adicionalmente se encuentra con dos reguladores cargadores ubicados en la misma sala de control que asegura el suministro eléctrico para las remotas y parte de la instrumentación. El sistema de automatización esta conformado por tres remotas una interfaz Hart, los equipos de comunicación, una consola local y una Master Rotork. 3.2.5.- Estaciones de Flujo. La supervisión y control de las operaciones de producción en los campos de la Unidad de Explotación (U.E.) Barinas, que cubren un radio máximo de 70 kilómetros de la ciudad de Barinas, en el Edo. Barinas) está basada en un SCADA marca Intellution, modelo FIX32 v7.0 ubicado en la sala de telemetría del Patio de Tanques Silvestre, y en RTU’s marca Bristol Babcock, modelo DPC3330 como equipos de adquisición de datos de campo. 15 MARCO TEÓRICO La comunicación entre el sistema SCADA y las RTU’s se realiza a través de la aplicación OpenBSI v2.3 de Bristol Babcock y el controlador BR3 v6.10f del referido SCADA. La comunicación con los equipos de campo se realiza mediante un enlace serial de radio punto-multipunto a 9.600 bps con el protocolo BISAP. Las instalaciones que conforman este servicio son cinco Estaciones de Flujo: Estación de Flujo Mingo, Estación de Flujo Palmita, Estación de Flujo Silván, Estación de Flujo Silvestre - B, Estación de Flujo Sinco - D. En la Figura 3.3 se muestra una estación de Flujo. Figura 3.3.- Estaciones de Flujo Cada una de las instalaciones asociadas a un servicio están compuestas por siete sistemas: SCADA, Sistema de Energía de Sala de Control, Sistema de Energía de la Estación, Telecomunicaciones, Equipos de Adquisición de Datos (PLC o RTUs), Equipos Inteligentes e Instrumentación de Campo). Es necesario destacar que ésta es la arquitectura actual presente en el Distrito Sur, la cual está sujeta a variación. De los elementos anteriormente nombrados: los servicios y las instalaciones pueden cambiar, en otras palabras pueden desaparecer o crearse nuevos elementos; a excepción de los sistemas que no pueden modificarse bajo ningún concepto, ni en este distrito ni en cualquier otra parte del país. 16 MARCO TEÓRICO 3.2.6.- Mediciones Más Importantes 3.2.6.1.- Medición De Presión La presión se define como la fuerza ejercida por unidad de área. Existen muchas razones por las cuales en un determinado proceso se puede medir presión. Entre estas se tiene: calidad del producto, seguridad de los procesos, contabilidad, etc. La presión se puede medir en valores absolutos o diferenciales. La presión manométrica se define como la presión relativa a la presión atmosférica. La presión absoluta es la suma de la presión manométrica más la presión atmosférica. El vacío es la diferencia entre la presión atmosférica y la presión absoluta, es decir, la presión medida por debajo de la presión atmosférica. 3.2.6.2.- Medición de Temperatura La temperatura es una propiedad termodinámica de la materia y no existe un medio directo de medirla. Sin embargo, esta puede medirse en términos de los efectos indirectos que ella tiene sobre las propiedades físicas de los materiales (como la presión), o por el cambio que produce en circuitos eléctricos (cambios de voltaje y resistencia). Los sensores más utilizados para medir temperatura son: termómetros (de bulbo, bimetálicos, de resistencia), termistores, termocuplas, pirómetros de radiación, sensores infrarrojos, radiación laser. 3.2.6.3.- Medición de Flujo La medición de flujo es uno de los aspectos más importantes en el control de procesos. De hecho, bien puede ser la variable más comúnmente medida. Existen muchos métodos confiables y precisos para medir flujo. Algunos son aplicables solamente a líquidos, algunos solamente a gases o vapores y otros a los dos últimos nombrados. El fluido puede ser limpio o sucio, seco o húmedo, erosivo o corrosivo. Las condiciones del proceso tales como presión, temperatura, densidad, viscosidad, pueden variar afectando la medición y por tanto deben ser tomados en cuenta al momento de seleccionar el medidor de flujo a implementar. Es necesario por lo tanto conocer el principio de operación y características de funcionamiento de los diferentes medidores de flujo disponibles. Sin tal conocimiento es muy difícil seleccionar 17 MARCO TEÓRICO el medidor más apropiado para una determinada aplicación. Para mayor información sobre la Descripción del área de Coordinación Operacional consultar [GARCÍA, 2004]. 3.3.- Medición Fiscal y de Referencia En el año 2001, el Ministerio de Energía y Minas emitió un lineamiento de política petrolera relacionada con la fiscalización automática de los volúmenes de hidrocarburos producidos por esfuerzo propio de Petróleos de Venezuela, S.A. y bajo la figura de Asociaciones y Convenios Operativos, para efectuar una medición más efectiva y precisa de los volúmenes de hidrocarburos producidos en los campos y vendidos en los Mercados Interno y de Exportación, mediante la aplicación de unas Normas Técnicas de Fiscalización que garanticen los pagos de estipendios a los contratistas por servicios prestados, así como también los montos por concepto de los diferentes impuestos en el ramo de los hidrocarburos que las empresas operadoras deben pagar al Fisco Nacional. Esa Norma tiene como propósito principal servir de guía a la industria petrolera establecida en el país para alcanzar un nivel de medición automatizado que permita conocer exactamente la producción y utilización de los recursos naturales explotados. Las normas de Fiscalización de Hidrocarburos de Venezuela utiliza algunos procedimientos acreditados internacionalmente provenientes de organismos oficiales y de instituciones especializadas en la materia, así como la aplicación de patrones adecuados que garanticen la exactitud de la medición fiscal en la industria petrolera nacional, con la utilización de equipos confiables debidamente certificados por empresas terceras acreditadas. En el Apéndice E se encuentra en detalle las Normas Técnicas para la Fiscalización de Hidrocarburos Líquidos. Del lineamiento de política petrolera que establece la normativa para la fiscalización de hidrocarburos líquidos, se deduce que toda aquella medición que no cumpla a cabalidad con los requerimientos de precisión, efectividad y certificación exigidos para la medición de volúmenes de hidrocarburos producidos, será considerada una Medición de Referencia. 18 MARCO TEÓRICO 3.3.1.- Medición en Tanques La medición de nivel por tanque constituye un método indirecto de cálculo del volumen contenido en el mismo basado en la geometría del tanque y de las variables claves de medición. Los componentes básicos asociados a este método de medición son: a. Medidor de nivel de crudo. b. Medidor de nivel de agua libre. c. Medidor múltiple de temperatura. d. Medidor de presión. e. Medidor de contenido de agua en hidrocarburos líquidos. f. Sistema de monitoreo de inventario en tanques. g. Sistema de fiscalización y contabilidad de hidrocarburos líquidos. En la Figura 3.4 se muestra el diagrama típico de la instrumentación de tanques, el cual cumple con los requerimientos para la fiscalización. Figura 3.4.- Medición en Tanques1 3.3.2.- Medición en Línea En los puntos de fiscalización donde se acuerde realizar la medición en línea de la Producción se deben utilizar estaciones de medición, las cuales contengan la instrumentación necesaria para medir flujo volumétrico o másico, presión, temperatura, densidad, corte de agua 1 Figura extraída de las Normas Técnicas para la Fiscalización de Hidrocarburos Líquidos (ver Apéndice E). 19 MARCO TEÓRICO y tomamuestra automático en línea y las facilidades mecánicas para la conexión de un probador. Así mismo, deben contener todos los accesorios necesarios para la correcta adecuación del líquido (válvulas de bloqueo, válvulas de control de presión y retropresión, filtros y/o separadores de gas y vapor). El número de medidores de flujo en paralelo, debe garantizar que a la máxima rata nominal de flujo prevista, siempre exista, al menos un medidor de reserva para ser utilizado en caso de contingencia. De esta forma se garantiza el alto grado de disponibilidad que se necesita para estas operaciones. El diseño y construcción de la estación de medición debe permitir que los medidores individuales puedan ser excluidos del servicio sin necesidad de suspender la operación de la estación completa. Los sistemas de medición de flujo, deben incluir las facilidades necesarias para probar el comportamiento de los equipos y determinar los correspondientes factores del medidor. Las estaciones de medición con gran cantidad de medidores, manejo de grandes volúmenes y manejo de diferentes tipos de fluidos por los mismos medidores, deben poseer probadores en sitio, preferiblemente de tipo bidireccional. No es permitida la construcción de vías alternas a los medidores o bypass que puedan permitir que el líquido sea transferido sin medición. Los medidores de flujo utilizados deben incluir compensación automática por temperatura. Esta compensación es ejecutada de manera individual en cada ramal de las estaciones de medición. En la Figura 3.5 se muestra el diagrama típico de la instrumentación de Estación de Medición en Línea para fiscalización. Figura 3.5.- Medición en Línea2 2 Figura extraída de las Normas Técnicas para la Fiscalización de Hidrocarburos Líquidos (ver Apéndice E). 20 MARCO TEÓRICO 3.4.- Protocolos de Comunicación 3.4.1.- HART 3.4.1.1.- Descripción HART es un acrónimo para Highway Addressable Remote Transducer. El protocolo HART fue desarrollado por Rosemount Inc, sin embargo, para difundir el uso de comunicación digital en los dispositivos de campo, Rosemount ha transferido todos sus derechos sobre el protocolo HART a la Fundación de Comunicación HART (HCF, siglas en inglés) y está disponible para el uso de cualquier compañía o persona. HART utiliza una señal estándar de BELL, 202 codificada por desplazamiento en frecuencia, para comunicar a 1200 baudios, superpuesta sobre la señal de medición de 420mA. Teniendo un promedio de cero, la señal codificada por desplazamiento en frecuencia no interfiere con la señal analógica. El “1” es representado por un ciclo de 1200Hz, mientras que el “0” es representado por aproximadamente dos ciclos de 2200Hz, tal como se muestra en la Figura 3.6. I (mA) “1” +0.5 mA 0 20 1200 Hz “0” 2200 Hz -0.5 mA comando respuesta comando respuesta 4 t (s) Figura 3.6.- Señal HART BELL 202 Hart es un protocolo amo-esclavo. Puede haber hasta dos amos y hasta 15 dispositivos esclavos se pueden conectar en configuración multipunto. Cada mensaje incluye las direcciones de su fuente y destino, para asegurarse de que es recibido por el dispositivo 21 MARCO TEÓRICO correcto, y tiene una suma de verificación (checksum) para poder detectar cualquier corrupción del mensaje. El estado del dispositivo de campo está incluido en cada mensaje de respuesta, indicando su estado de operación correcto. Puede o no haber información o datos incluidos en el mensaje, dependiendo del comando en particular. Dos o tres transacciones de mensajes se pueden realizar cada segundo. HART es un protocolo Half-Duplex, la portadora debe ser desactivada para permitir que la otra estación transmita. Las reglas de tiempo de la portadora establecen que la portadora debe ser activada no más del tiempo de 5 bits antes del inicio del mensaje (preámbulo) y ser desactivada no más del mismo tiempo después de la transmisión del último byte del mensaje (la suma de verificación). El amo es el responsable de las transacciones de mensajes. Si no hay respuesta a un comando dentro de cierto tiempo, el amo debe retransmitir el mensaje. Después de unos cuantos intentos debe abandonar la transacción y notificar el problema. La longitud y retardo típicos de los mensajes, permiten dos transacciones por segundo. Para llevar a cabo diferentes funciones preestablecidas el protocolo HART utiliza los comandos, o en otras palabras los identificadores de la funciones que se pretende utilizar. Los comandos del protocolo HART se clasifican en tres grupos. El primer grupo es el de comandos universales, y provee funciones que están implementadas en todos los dispositivos de campo. El segundo grupo, comandos de práctica común, provee funciones comunes a muchos dispositivos de campo, pero no todos. Si un dispositivo implementa funciones que estos comandos describen, deberán ser invocadas mediante el número de comando asignado por la Fundación Hart. El tercer grupo, comandos específicos de dispositivo provee funciones que son más o menos únicas para un dispositivo particular. 3.4.1.2.- Lazo de Conexión La conexión convencional para un transmisor alimentado por lazo de corriente de dos hilos se muestra en la Figura 3.7. Las especificaciones de Hart permiten resistencias de carga de 230 a 1100 ohms. 22 MARCO TEÓRICO + 24 V + Tx RL - 0V Figura 3.7.- Lazo HART La señal HART debe ser introducida y leída del lazo de corriente. La fuente de poder está casi en corto circuito para las frecuencias de la señal Hart, por lo que el dispositivo amo no puede ser conectados directamente al lazo, se deben conectar en paralelo al transmisor o a la resistencia de carga. Un equipo con protocolo de comunicación Hart no debe introducir ninguna carga DC a la línea. Para asegurarse de que así sea se debe conectar al lazo mediante un condensador de 5µF o más. Algunos de los dispositivos de campo con lazo de 4-20mA son activos, es decir, estos son los que alimentan el lazo. Con este tipo de dispositivos no hace falta la fuente de poder. 3.4.1.3.- Conexión Multipunto Múltiples dispositivos pueden ser conectados al mismo amo, ya que en los mensajes se incluye la dirección de los dispositivos que se comunican. Las consecuencias de este tipo de conexión son, principalmente, el retardo en la comunicación entre amo-esclavo, y la pérdida de la señal analógica. Cada dispositivo conectado en la red multipunto (paralelo al lazo HART) debe tener una dirección única comprendida entre cero y quince. 23 MARCO TEÓRICO 3.3.1.4.- Estructura del Mensaje PREAMBULO INICIO DIRECCIÓN COMANDO CUENTA BYTE ESTATUS DATOS CHECKSUM Figura 3.8.- Estructura del Mensaje HART La estructura del mensaje se muestra en la Figura 3.8. Existe el formato largo y el formato corto. Los primeros instrumentos Hart (inclusive la revisión 4) siempre utilizaron el formato corto. En este formato, la dirección del esclavo es de un byte, y tiene un valor comprendido del 0 al 15 para configuración multipunto. Esta corta dirección se denomina dirección multipunto. La revisión 5 introduce el formato largo. En este, la dirección del esclavo es un número de identificación único, un número de 38 bits derivado del código del fabricante, del código del tipo de dispositivo y del número de identificación del dispositivo. De un modo estricto, el identificador único, realmente no es único, puede haber hasta cuatro veces el mismo número, ya que del código del fabricante solo se toman 6 bits, cuando el número en realidad consta de 8 bits. La mayoría de los dispositivos amos deben incluir ambos formatos en su totalidad, de modo que puedan trabajar correctamente con los dispositivos ya existentes así como con los nuevos. La revisión 5 establece que todos los dispositivos deben implementar el comando #0 (leer identificación única) en ambos formatos del mensaje. Un amo normalmente utilizará el comando #0 para la primera conexión con el dispositivo, ya que en ese momento el número único de identificación no se conoce, sin embargo como el mensaje también incluye el nivel de revisión de HART, el amo sabrá que formato deberá utilizar. El preámbulo: El preámbulo consiste de 5 a 20 bytes con el número hexadecimal FF (todos 1’s). Esto permite que el receptor sincronice la frecuencia de la señal y la cadena de caracteres recibida después de la detección inicial del mensaje Hart. Para el primer intento y cualquier intento sucesivo de comunicación, se debería utilizar 20 bytes de preámbulo para tener la mayor probabilidad de éxito. La respuesta al comando #0 le dice al amo cuantos caracteres de 24 MARCO TEÓRICO preámbulo le gustaría recibir al dispositivo; el amo puede utilizar el comando #59 para indicarle cuantos bytes de preámbulo debe incluir en la respuesta. El caracter de inicio (start byte): A través del caracter de inicio se puede indicar cual formato está siendo utilizado, la fuente del mensaje, y si es o no un mensaje tipo ráfaga. Estos valores se muestran en la Tabla 3.2. Tabla 3.2.- Byte de inicio Tipo de Mensaje Formato Corto Amo a Esclavo 2H Formato Largo 82H Esclavo a Amo 6H 86H Ráfaga del Esclavo 1H 81H Después de capturar por lo menos 2 caracteres FF (para sincronizar), los receptores se encuentran en la búsqueda de estos valores del start byte para indicar el inicio del mensaje. Estos mensajes se pueden identificar completamente con el contenido de los bits 0,1,2 y 7. Se ha propuesto que para mejoras futuras se utilicen los bits 5 y 6 del caracter de inicio para indicar la presencia de bytes extra entre la dirección y el comando. La dirección (address bytes): El campo de dirección contiene tanto la dirección del amo como la del esclavo del mensaje enviado. Esta contenida en un byte, para el formato corto y en 5 bytes para el formato largo. El bit más significativo de la dirección, indica si el amo es primario (1) o secundario (0) . Los mensajes de tipo ráfaga son una excepción, en la cual el dispositivo alterna ambas direcciones, lo que le da oportunidad a ambos amos de interrumpir. También en ambos formatos, el bit que le sigue al más significativo indica si el mensaje proviene de un dispositivo en modo ráfaga, lo que no implica que el mensaje sea de tipo ráfaga. En el formato corto, los dispositivos esclavos tienen direcciones de la cero a la quince. Este número se incluye de modo binario en los 4 bits menos significativos del byte de 25 MARCO TEÓRICO dirección. En el formato largo, la dirección de multipunto no es utilizada, conteniendo, los 38 bits restantes de los cinco bytes del campo de direcciones, el valor identificador único del dispositivo. En las Figuras 3.9 y 3.10 se puede observar la estructura de las direcciones. DM MR 0 0 DE DM: Dirección del Amo (1 bit) MR: Modo Ráfaga ó BURST (1 bit) DE: Dirección del Esclavo (4 bits) Figura 3.9.- Dirección HART en Formato Corto DM MR DE ……… DM: Dirección del Amo (1 bit) MR: Modo Ráfaga ó BURST (1 bit) DE: Dirección del Esclavo (38 bits) Figura 3.10.- Dirección HART en Formato Largo En la estructura de formato largo, si se asigna cero a todos los bits, se puede utilizar como un mensaje de transmisión sin destinatario específico, es decir, un mensaje que sea aceptado por todos los dispositivos. Esto solo es posible si los datos en el mensaje determinan cual de los dispositivos debe responder. Por ejemplo, el comando #11 (leer el identificador único asociado a la etiqueta) normalmente utiliza direcciones de transmisión sin destinatario específico con una etiqueta en el campo de datos, de modo que todos los dispositivos conectados reciben el mensaje pero solo uno de ellos responde. Comando: El campo de comando contiene un entero del 0 al FD (en decimal 253), como su nombre lo indica representa el comando HART. El comando recibido se incluye en la respuesta del esclavo al ser enviada, ya que para cada comando se define una estructura específica para el campo de datos, y una respuesta en particular. 26 MARCO TEÓRICO Cuenta de bytes: Este campo contiene un entero, que indica el número de bytes que forman el resto del mensaje (eso es los campos de estado y de datos, la suma de verificación ó checksum no se incluye). El dispositivo receptor utiliza esto para identificar el byte de suma de verificación y para determinar cuando el mensaje se ha completado. Como el campo de datos esta limitado a 25 bytes máximo, esta cuenta puede ser cualquier número decimal entre 0 y 27. Estado: El campo de estado también es llamado el “código de respuesta”, solo se incluye en el mensaje de respuesta de un esclavo. Consta de dos bytes, a través de los cuales se reporta cualquier error de comunicación, el estado del comando recibido (como por ejemplo dispositivo ocupado o que no reconoce dicho comando), y el estado de operación del esclavo. Datos: No todas las respuestas contienen datos. Para aquellas que si, y además cumplan con las reglas de tiempo, el campo de datos no puede exceder los 25 bytes. Los datos pueden estar en forma de enteros sin signo, números de punto flotante o cadenas de caracteres ASCII. El número de bytes del campo de datos, y el formato de datos utilizado para cada ítem se especifican de acuerdo al comando recibido. Suma de verificación (checksum): El byte de suma de verificación contiene el OR exclusivo (paridad longitudinal) de todos los bytes que le preceden en el mensaje, comenzando con el carácter de inicio. Esto provee un segundo chequeo para la integridad de la transmisión después de la paridad por byte. La combinación de estos dos garantiza la detección de hasta tres errores en un mensaje y tiene buenas probabilidades de detectar errores en más bits. Para una información más detallada sobre el Protocolo Hart, consultar [FEBRES,2001]. 27 MARCO TEÓRICO 3.4.2.- Modbus 3.4.2.1.- Introducción El protocolo Modbus emplea el principio de amo – esclavo aunque la red de comunicación sea persona a persona, en el cual el dispositivo (el amo) puede inicializar transacciones llamadas “queries”3. Los otros dispositivos (los esclavos) responden al amo enviando la data solicitada o ejecutando la acción requerida en el query. El dispositivo amo puede direccional individualmente a los esclavos, o puede inicializar un mensaje de difusión (broadcast, en inglés) a todos los esclavos. Éstos devuelven un mensaje o respuesta a las preguntas que son direccionadas individualmente a cada uno de ellos. Las respuestas no son contestadas al query de difusión hecho por el amo. El protocolo Modbus establece un formato para las preguntas hechas por el amo, donde incluye la dirección del dispositivo (o en su defecto la dirección broadcast), un código de función de acuerdo a la acción solicitada, una data a ser enviada, y un campo de chequeo de error. Por otra parte, el formato del mensaje de respuesta originario del esclavo, contiene campos de confirmación de la acción ejecutada, alguna data a ser regresada, y un campo de chequeo de error. Si algún error ocurre en la recepción del mensaje, o si el esclavo no esta en capacidad de realizar la acción solicitada, el esclavo construye un mensaje de error y lo envía como su respuesta. En la Figura 3.11 que se muestra a continuación se puede apreciar el ciclo establecido entre el amo y el esclavo. La Pregunta: El Código de Función en la Pregunta le dice al dispositivo esclavo direccionado que tipo de acción debe ejercer. Los bytes de datos contienen información adicional que el esclavo necesita para ejecutar la función. Por ejemplo, el código de función 03 le solicita al esclavo la lectura de los registros de mantenimiento (holding registers, en inglés), y éste responde con los datos contenidos en tales registros. El campo de datos debe contener la información del registro de inicio en la cual empezará a leer el esclavo, así como también la cantidad de 3 En español se interpreta como preguntas, solicitudes. 28 MARCO TEÓRICO registros a leer. El campo de chequeo de error proporciona un método para que el esclavo pueda validar la integridad de los contenidos del mensaje. Figura 3.11.- Ciclo de Pregunta – Respuesta en Modbus La Respuesta: Si el esclavo hace una respuesta normal, el código de función en la respuesta es una replica del código de función en la preguntas. Los bytes de datos contienen la información recolectada por el esclavo, tal como los valores de registro o estatus. Si un error ocurre, el código de función es modificado para indicar que la respuesta es un error, y los bytes de datos contienen un código que describe el error. El campo de chequeo de error le permite al amo confirmar que el contenido del mensaje es válido. Dos Modos de Transmisión Serial: Existen dos modos de comunicación serial en las redes Modbus estándar; ASCII y RTU. Los usuarios pueden seleccionar el modo deseado, siempre y cuando sea el mismo para todos los dispositivos en la red Modbus. Cada modo define el contenido de bit de los campos del mensaje transmitidos serialmente, y determina como la información será empaquetada en los campos del mensaje, para su posterior decodificación. 29 MARCO TEÓRICO El proyecto contempla la utilización del modo RTU. Por ello a lo largo del libro no se hace referencia al modo ASCII. Para más detalles sobre este protocolo consultar [MODICON,1996]. 3.4.2.2.- Modbus RTU En el modo RTU (siglas en inglés de Remote Terminal Unit) cada byte en el mensaje contiene dos caracteres en hexadecimal. La principal ventaja de este modo es que su mayor densidad de caracteres permite mejor transferencia de datos que el ASCII para una misma tasa de baudios. Cada mensaje debe ser trasmitido en una corriente de bits continua. El formato de cada byte en el modo RTU es el siguiente: Sistema de Codificación: Binario 8 – bit, hexadecimal 0-9, A-F Dos caracteres hexadecimal contenidos en cada campo de 8 bit del mensaje Bits por Byte: 1 bit de inicio 8 bits de datos, LSB4 se envía primero 1 bit de paridad (par/impar); 0 bit sin paridad 1 bit de parada (con paridad); 2 bits (sin paridad) Campo de Chequeo de Error: Chequeo de Redundancia Cíclica (CRC, siglas en inglés de Cyclic Redundancy Check) 3.4.2.3.- Modbus TCP Modbus TCP/IP es un protocolo de Internet. De hecho TCP/IP es el protocolo de transporte de Internet, lo que significa automáticamente que Modbus TCP puede ser usado sobre la Internet. Por lo tanto, un dispositivo instalado en Barinas (Venezuela), puede ser direccionado a través de Modbus TCP/IP desde Caracas (Venezuela), o desde cualquier otra parte del mundo. Se puede obtener información adicional de este protocolo en [INTELLICOM, 2005]. 4 Least Significant Bit. En español, Bit Menos Significativo. 30 MARCO TEÓRICO Modbus TCP básicamente embebe, de una manera simple, un marco (frame) Modbus en un marco TCP. Esto es una transacción orientada a conexión lo cual significa que cada query o pregunta debe tener su correspondiente respuesta. El principio de pregunta/respuesta se ajusta bien a la naturaleza de amo/esclavo de Modbus, unido a la ventaja determinística que el Ethernet suichado ofrece a los usuarios industriales. El uso de Modbus con el marco TCP proporciona una solución totalmente escalable de diez a cientos de nodos sin mayor riesgo. En la Figura 3.12 se muestra el marco del Modbus TCP. Identificador de Transacción MARCO MODBUS Identificador de Protocolo Dirección del Dispositivo Campo de Longitud Código de Función Marco Modbus Datos MARCO TCP Chequeo de Error Figura 3.12.- Marco Modbus TCP 3.4.2.4.- Enmarcado del Mensaje Modbus El mensaje Modbus es generado por el dispositivo transmisor dentro un marco (frame, en inglés) que tiene un punto conocido de inicio y de fin. Esto le permite a lo receptores ubicar el comienzo del mensaje, leer la porción correspondiente a la dirección y determinar cual dispositivo es direccionado (o todos los dispositivos, si el mensaje es de difusión), y por último, conocer cuando ha culminado el mensaje. Los mensajes incompletos pueden ser detectados y los errores ocurridos pueden ser enviados como un resultado. Enmarcado RTU: En este modo, los mensajes comienzan con un intervalo de silencio de no menos de 3.5 veces de caracter. Esto es implementando más fácilmente como un múltiple de veces de 31 MARCO TEÓRICO caracter en la tasa de baudios, el cual es utilizado en la red (mostrando en la Figura 3.13 como T1-T2-T3-T4). El primer campo transmitido es la dirección del dispositivo. Inicio Dirección Función Datos T1 – T2 – T3 –T4 8 bits 8 bits n x 8 bits Chequeo de Error (CRC) 16 bits Final T1-T2-T3-T4 Figura 3.13.- Marco Modbus RTU Los caracteres permitidos para todos los campos son hexadecimal 0-9, A-F. Los dispositivos monitorean continuamente el bus de la red, incluso durante los intervalos de silencio. Cuando el primer campo (el campo de dirección) es recibido, cada dispositivo lo decodifica para determinar si el es el dispositivo direccionado. Seguido al último caracter transmitido, un intervalo similar de no menos de 3.5 veces de caracter marca el final del mensaje, por lo tanto, un nuevo mensaje puede comenzar después de este intervalo. Similarmente, si un nuevo mensaje comienza antes del intervalo final de las 3.5 veces de caracter de un mensaje previo, el receptor lo considera como una continuación del mensaje previo. Esto origina un error, como un valor inválido del campo CRC (o Chequeo de Error) por la combinación de los mensajes. Un marco típico del mensaje Modbus RTU se muestra a continuación. Campo de Dirección: El campo de dirección del marco del mensaje contiene 8 bits en el modo RTU. El rango de las direcciones válidas de dispositivos esta comprendido entre 0 – 247 en decimal. Los dispositivos esclavos utilizan direcciones comprendidas en el rango entre 1 – 247. Un dispositivo amo direcciona a un esclavo colocando la dirección del esclavo en el campo correspondiente en el mensaje. Cuando el esclavo envía su respuesta, éste ubica su propia dirección en el campo de dirección para que el amo conozca cual dispositivo esta respondiendo. 32 MARCO TEÓRICO La dirección 0 es utilizada como la dirección de difusión, la cual todos los dispositivos reconocen. Cuando el protocolo Modbus es utilizada en redes de alto nivel, la difusión puede no ser permitida y puede ser reemplazada por otros métodos. Campo de Función: El campo de código de función de un marco de mensaje contiene 8 bits en el modo RTU. Los códigos válidos están en el rango de 1 – 255 en decimal. Dependiendo del dispositivo algunos códigos aplican, otros no. Cuando un mensaje es enviado del amo al esclavo, el campo de código le permite al esclavo saber que tipo de acción realizar. Por ejemplo, la lectura de estado 0N/OFF de un grupo de entradas analógicas y discretas; la lectura de contenido de datos de un grupo de registros; la lectura del estatus de diagnostico de un dispositivo esclavo; la escritura a determinados registros; o permitir la carga, el grabado, o la verificación de un programa con el esclavo. Cuando el esclavo le responde al amo, éste utiliza el campo de código de función para indicar si es una respuesta sin error o si algún tipo de error ocurrió (llamada una respuesta de excepción). Para una respuesta normal, el esclavo simplemente replica el código de función original. Para una respuesta de excepción, el esclavo retorna un código que es equivalente al código de función original con su bit más significativo puesto en 1 lógico. Por ejemplo, un mensaje del amo al esclavo para leer un grupo de registros de mantenimiento (holding registers, en inglés) tendría el siguiente código de función: 0000 0011 (hexadecimal 03) Si el dispositivo esclavo toma la acción solicitada sin error, éste regresa el mismo código como su respuesta. Si excepción ocurre, éste regresa: 1000 0011 (hexadecimal 83) 33 MARCO TEÓRICO En adición a su modificación del código de fundón, el esclavo coloca un código único en el campo de datos en el mensaje de respuesta. Esto le dice al esclavo que tipo de error ocurrió, o la razón de la excepción. La aplicación del dispositivo amo tiene la responsabilidad de manejar respuestas de excepción. Campo de Datos: El campo de datos es construido utilizando conjuntos de dígitos hexadecimales, en el rango de 00 a FF hexadecimal. El campo de data de los mensajes enviados de un amo a un esclavo contiene información adicional, la cual debe ser usada por el esclavo para tomar la acción definida por el código de función. Esto puede incluir direcciones de registros, la cantidad de términos a ser manejados, y la cuenta de bytes de la data actual en el campo. Por ejemplo, si el amo le solicita al esclavo la lectura de un grupo de registros de mantenimiento (código de función 03 en hex), el campo de datos especifica el registro de comienzo y cuantos registros serán leídos. Si el amo escribe a un grupo de registros en el esclavo (código de función 10 en hex), el campo de datos especifica el registro de comienzo, la cantidad de registros a escribir, la cuenta de bytes de datos tal campo, y los datos a escribir en los registros. Si no ocurre error, el campo de datos de una respuesta esclavo – amo, contiene la información solicitada. De lo contrario, el campo contiene un código de excepción. El campo de datos puede ser no-existente (de longitud cero) en ciertos tipos de mensajes. Por ejemplo, cuando el amo solicita el registro (log, en inglés) de evento de comunicaciones, el esclavo no requiere ninguna información adicional. El código de función por sí solo especifica la acción completa. Campo de Chequeo de Error: En modo RTU, el campo de chequeo de error contiene un valor de 16 bits implementado con dos bytes. El valor del chequeo de error es el resultado de un cálculo de Chequeo de Redundancia Cíclica (CRC, siglas en inglés) realizado al contenido del mensaje. 34 MARCO TEÓRICO El campo de CRC esta adherido al mensaje como el último campo del mismo. Cuando está hecho, el byte de orden bajo se encuentra seguido del byte de orden alto. El byte de orden alto del CRC es el último byte enviado en el mensaje. Registros Modbus Más Utilizados: • Coil Status: Estatus ON/OFF de salidas discretas (referenciadas con 0X) en el esclavo. Soportan Lectura y Escritura. No es soportada la difusión o broadcast. Ejemplo: El registro 08004, es de Coil Status. • Input Status: Estatus ON/OFF de entradas discretas (referenciadas con 1X) en el esclavo. Soportan solo Lectura. No es soportada la difusión. Ejemplo: El registro 10000, es de Input Status. • Holding Register: Contenido binario referenciado con 4X en el esclavo. Soportan Lectura y Escritura. No es soportada la difusión. Ejemplo: El registro 41008, es un Holding Register. • Input Register: Contenido binario referenciado con 3X en el esclavo. Soportan solo Lectura. No es soportada la difusión. Ejemplo: El registro 30010, es un Input Register. 3.4.3.- HTTP El Protocolo de Transferencia de HiperTexto (Hypertext Transfer Protocol, en inglés) es un sencillo protocolo cliente-servidor que articula los intercambios de información entre los clientes Web y los servidores HTTP. La especificación completa del protocolo HTTP 1/0 está recogida en el RFC 1945. Fue propuesto por Tim Berners-Lee, atendiendo a las necesidades de un sistema global de distribución de información como el World Wide Web. Desde el punto de vista de las comunicaciones, está soportado sobre los servicios de conexión TCP/IP, y funciona de la misma forma que el resto de los servicios comunes de los entornos UNIX: un proceso servidor escucha en un puerto de comunicaciones TCP (por defecto, el 80), y espera las solicitudes de conexión de los clientes Web. Una vez que se 35 MARCO TEÓRICO establece la conexión, el protocolo TCP se encarga de mantener la comunicación y garantizar un intercambio de datos libre de errores. HTTP se basa en sencillas operaciones de solicitud/respuesta (ver Figura 3.14). Un cliente establece una conexión con un servidor y envía un mensaje con los datos de la solicitud o petición. El servidor responde con un mensaje similar, que contiene el estado de la operación y su posible resultado. Todas las operaciones pueden adjuntar un objeto o recurso sobre el que actúan; cada objeto Web (documento HTML, fichero multimedia o aplicación CGI) es conocido por su URL. Cliente Servidor HTTP Figura 3.14.- Principio de Solicitud/Respuesta del Protocolo HTTP Las principales características del protocolo HTTP son: • Toda la comunicación entre los clientes y servidores se realiza a partir de caracteres de 8 bits. De esta forma, se puede transmitir cualquier tipo de documento: texto, binario, etc., respetando su formato original. • Permite la transferencia de objetos multimedia. • Existen tres verbos básicos (hay más, pero por lo general no se utilizan) que un cliente puede utilizar para dialogar con el servidor: GET, para recoger un objeto, POST, para enviar información al servidor y HEAD, para solicitar las características de un objeto (por ejemplo, la fecha de modificación de un documento HTML). 36 MARCO TEÓRICO • Cada operación HTTP implica una conexión con el servidor, que es liberada al término de la misma. Es decir, en una operación se puede recoger un único objeto. • No mantiene estado. Cada petición de un cliente a un servidor no es influida por las transacciones anteriores. El servidor trata cada petición como una operación totalmente independiente del resto. • Cada objeto al que se aplican los verbos del protocolo está identificado a través de la información de situación del final de la URL. En [UNICAN, 2005] se encuentra más información sobre el protocolo HTTP. 3.4.4.- XML – RPC Es un conjunto de implementaciones que permiten ejecutar programas en sistemas operativos diferentes, corriendo en ambientes diferentes para hacer llamadas a procedimiento sobre la Internet. Es decir, es la Llamada Remota de Procedimiento (ó RPC, por sus siglas en inglés) usando el protocolo HTTP como el transporte y el XML (Extensible Markup Language) como el codificador. XML – RPC es diseñado para ser tan simple como sea posible, permitiendo que estructuras complejas de datos sean transmitidas, procesadas y regresadas. Una llamada de procedimiento es el nombre del procedimiento, sus parámetros, y el resultado que genera. RPC es una extensión muy sencilla de la idea de llamada de procedimiento, permitiendo crear conexiones entre procedimientos que están corriendo en diferentes aplicaciones, o en diferentes máquinas. Conceptualmente, no hay diferencia entre una llamada local de procedimiento y una remota, pero ellas son implementadas de manera diferente, tienen un desenvolvimiento diferente (RPC es mucho más lento), y por consiguiente, son usadas para utilidades diferentes. Las llamadas remotas son enmarcadas en un formato que puede ser entendido desde el otro lado de la conexión. Mientras las dos máquinas estén de acuerdo en un formato, ellas se pueden hablar entre sí. He ahí el valor de estandarizar la plataforma intermedia para poder 37 MARCO TEÓRICO hacer llamadas de procedimiento entre máquinas de sistemas operativos diferentes, por ejemplo, máquinas Unix hablen con máquinas Windows y viceversa. Hay un número infinito de formatos posibles para la estandarización entre los diferentes sistemas. Un formato es XML, un nuevo lenguaje que tanto los humanos como los computadores pueden leer. XML – RPC emplea XML para establecer el formato. Con este lenguaje de marcado es fácil ver lo que se este haciendo, y también es relativamente fácil replicar el formato interno de llamada de procedimiento en un formato remoto. Para mayor información consultar [XML-RPC, 2005] 3.4.5.- Interfaces RS - 232 & RS- 485 La interfaz RS-232 es bien conocida debido a la popularidad que tienen hoy en día las PCs, a diferencia de RS-485, la cual es utilizada a nivel industrial para sistemas de control y transferencia de volúmenes pequeños de datos.Las señales RS-232 son representadas por niveles de voltajes con respecto a tierra. Tiene un cable para cada señal junto con la señal de tierra (referencia para los niveles de voltaje). Esta interfaz es útil para la comunicación punto a punto a bajas velocidades. Por ejemplo, el puerto COMM1 en una PC puede ser utilizado para un ratón, el COMM2 para un modem, etc. Este es un ejemplo de una comunicación punto a punto: un puerto, un dispositivo. Debido a la manera que las señales son conectadas, una tierra común es requerida. Esto implica cable limitado de longitud alrededor de 30 a 60 metros como máximo, los principales problemas son la interferencia y la resistencia del cable. RS - 232 fue diseñado para comunicación de dispositivos locales, y soporta un transmisor y un receptor. RS - 485 utiliza un principio diferente: Cada señal utiliza una línea de par trenzado (2 cables trenzados alrededor de ellos mismos). Se habla de Transmisión de Data Balanceada o Transmisión de Voltaje Diferencial. Por simplicidad, se habla de un par trenzado ‘A’ y otro ‘B’. Entonces, la señal esta inactiva cuando el voltaje en ‘A’ es negativo y el voltaje en ‘B’ es positivo. De otra forma, la señal esta activa cuando ‘A’ es positivo y ‘B’ es negativo. Con RS 485 el cable puede sobrepasar los 1200 metros de longitud, y comúnmente trabaja en circuitos a una tasa de transferencia a 2.5 MB/s. 38 MARCO TEÓRICO La interfaz RS - 485 utiliza transmisores diferenciales con voltajes alternados entre 0 y 5V. Por utilizar dos pares trenzados de cables, la data puede ser transferida en ambas direcciones simultáneamente. Esta interfaz es utilizada para comunicación multipunto, en la cual muchos dispositivos pueden ser conectados a un cable de señal sencillo, similar a redes Ethernet de cable coaxial. La mayoría de los sistemas emplean la arquitectura Amo/Esclavo, cuando cada unidad esclavo tiene su dirección única y responde sólo a los paquetes direccionados a esta unidad. Esos paquetes son generados por un amo, el cual periódicamente chequea todas las unidades esclavas conectadas. La interfaz RS - 485 existe en dos versiones: la de un solo par trenzado y la de dos pares trenzados. Un solo par trenzado: En esta versión, todos los dispositivos están conectados en un par trenzado sencillo. Por lo tanto, cada uno de ellos debe tener manejadores de salidas tri-state (incluyendo el amo). La comunicación se realiza sobre la línea sencilla en ambas direcciones. Es importante prevenir que muchos dispositivos transmitan a la vez (problema de programa). Ver Figura 3.15. Doble par trenzado: Aquí, el amo no es necesario que tenga salida con tri-state, ya que el esclavo transmite sobre el segundo par trenzado. Ver Figura 3.16. Equipo Terminal de Data (DTE, en inglés) Periférico RS-485 Conector DB9 Figura 3.15.- RS -485 de un solo par trenzado 39 MARCO TEÓRICO Equipo Terminal de Data (DTE, en inglés) Periférico RS-485 Conector DB9 Figura 3.16.- RS -485 de dos pares trenzado 3.5.- PC Industrial Modular / Arquitectura Net-DAS 3.5.1.- Características Técnicas El computador utilizado para la implementación de la Arquitectura Net-DAS, (arquitectura que se estudiará más adelante en la sección 3.5.4) está basada en el estándar PC/104-Plus, con las siguientes características técnicas principales: • Procesador Intel Pentium III de 700 MHz • 512 MB de Memoria RAM • Compact Flash de 1 GB (Dispositivo de Almacenamiento) • 10 puertos de Comunicación Serial (2 RS – 232 + 8 configurable como RS -232/RS - 485). • 1 puerto paralelo. • 2 Puertos USB. • Controlador de Unidad de Diskette, de Teclado y de Ratón. • Controlador Gráfico Integrado. • Ethernet 10/100 Base T • Sistema Operativo Embebido QNX 4.0 40 MARCO TEÓRICO 3.5.2.- Estándar PC/104 PC/104 se trata del bus ISA adaptado para satisfacer las necesidades de las aplicaciones empotradas e industriales. Es un estándar para módulos PC-compatible que pueden ser apilados uno sobre otro para crear un sistema de cómputo empotrado. El estándar PC/104 se describe como una especificación publicada por el consorcio PC/104. Su nombre (PC/104) deriva de su arquitectura PC y el conector de 104 pines. Seleccionando la tecnología PC/104, ingenieros y programadores pueden tomar ventaja de sus conocimientos de hardware y software PC-compatible para desarrollar rápidamente sistemas empotrados. PC/104 es simplemente una versión de la arquitectura PC para aplicaciones empotradas e industriales, donde el espacio, consumo de energía, o la confiabilidad son factores críticos. Los sistemas basados en PC/104 son utilizados para varias aplicaciones, incluyendo fábricas, laboratorios, plantas de proceso, vehículos y casi cualquier otro lugar donde los dispositivos deban ser controlados por una computadora programable. PC/104 difiere de sistemas PC estándar en lo siguiente: • Las tarjetas PC104 (90 x 96mm) son mucho mas pequeñas que las tarjetas ISA comparable a un disquete de 3.5”. Se apilan una sobre otra mediante conectores pin /socket, lo que elimina la necesidad de placas base, backplane o chasis. • Se reducen los requerimientos de alimentación (1-2 Vatios por modulo) y manejo de señal (4mA) y minimiza la circuiteria. • Además de esto, los sistemas PC104 están diseñados para ser más robustos que los sistemas PC. Los módulos PC/104 se encuentran comercialmente disponibles para un amplio rango de funciones, incluyendo: • Tarjetas CPU compatibles con PC completas 41 MARCO TEÓRICO • Entradas / Salidas analógicas y digitales • Video: VGA, LCD, EL, Frame Grabbers • Redes: Ethernet, CAN bus, ARCNET • Controladores : FDD, IDE HDD, SCSI Las especificaciones PC/104 mecánicas y eléctricas comunes de los módulos hacen que sean intercambiables con productos de cualquiera de los cientos de fabricantes de dispositivos PC/104 que existen actualmente. Entre algunas formas de utilizar módulos PC/104, se tienen: • Un modulo PC/104 puede ser utilizado como un sistema independiente (stand– alone) • Módulos PC/104 pueden ser añadidos como parte de otro sistema (cPCI, VME, etc) • Múltiples módulos PC/104 pueden ser apilados entre si para crear un sistema. PC/104-Plus PC/104-Plus es básicamente el agregado del bus PCI (Peripheral Component Interconnect5) al estándar PC/104. PCI permite acceso directo a los dispositivos periféricos al CPU el cual puede mejorar en forma considerable el desempeño el sistema. PC/104-Plus ha llegado justo a tiempo para controladores de video, procesadores y otros dispositivos de alto rendimiento, manteniendo la compatibilidad hacia atrás con PC/104. La especificación PC/104-Plus define la adición de PCI a PC/104 incluyendo detalles de los conectores. El nuevo conector tiene 120 pines con espacio de 2mm. 3.5.3.- Estructura del PC Industrial Modular El Computador Personal Industrial Modular está conformado por cinco módulos interconectados a través del conector de 104 pines (ver Figura 3.17). Las especificaciones técnicas de cada módulo se encuentran el Apéndice A. Los módulos están apilados en el mismo orden (de arriba hacia abajo) como son descritos a continuación. 5 Interconexión de Componente Periférico 42 MARCO TEÓRICO Figura 3.17.- PC Industrial Modular PC/104-Plus Módulo MOPSlcd7 Es la tarjeta madre del equipo. En este módulo se encuentra el procesador Intel Pentium III de 700 MHz, la memoria RAM de 512 MB, dos puertos RS - 232, un puerto paralelo, una entrada IDE6 para dispositivo de almacenamiento, conector para la unidad de diskette, conector para el modem, una salida de video y por último, conectores para teclado y ratón. El módulo MOPSlcd7 se muestra en la Figura 3.18. Figura 3.18.- Módulo MOPSlcd7 6 Intergrated Drive Electronics, una interfaz popular para conectar dispositivo de almacenamientos en PCs. 43 MARCO TEÓRICO Módulo PCM-3116 Permite manejar el Compact Flash como un dispositivo de almacenamiento de conector IDE. Este salida IDE va conectada a través de un cable plano a la entrada de la tarjeta madre. Este módulo se muestra en la Figura 3.19. Salida IDE Compact Flash Figura 3.19.- Módulo PCM-3116 Módulo PCM-3660 Es la Tarjeta de Red del Computador. Tiene las siguientes características técnicas (ver Figura 3.20): • Rendimiento de Procesamiento de 10Mbps • Bus de data de 8/16 bits (auto-detección) • Direcciones de I/O: 300,320,340 o 360 en hexadecimal. • IRQ: 3,4,5,9,10,11,12, ó 15 • Conector 10 Base – T • Fuente de Poder Sencilla de +5V @ 400 mA. • Incluye los drives para ODI, NDIS, PC/TCP, PC-NFS, NCSA, LAN, PATHWAY, WFW y SCO UNIX. 44 MARCO TEÓRICO Figura 3.20.- Módulo PCM-3660 Módulo Xtreme/104 El adaptador Xtreme/104 ofrece ocho puertos seriales RS - 232 y/o RS - 422/485 para los dispositivos de recolección de data en automatización industrial (ver Figura 3.21). Este adaptador fue diseñado para soluciones industriales para aplicaciones de control y automatización que requieren comunicación de nodo simple o comunicaciones multipunto para cortas o largas distancias utilizando computadores compatibles con bus PC/104. Las especificaciones en detalle se muestran en la Tabla 3.3. Figura 3.21.- Módulo Xtreme/104 45 MARCO TEÓRICO Tabla 3.3.- Especificaciones Módulo Xtreme/104 Número de Puertos Interfaz Eléctrica Ocho RS-232 y/o RS-422/485. Cada puerto es seleccionable por jumper. Dos conectores de 40 pines para los ocho puertos. (un cable plano con cuatro cables DB-9 por cada conector Conectores de 40 pines) Señales de Control RS - 422/485: TxD +, RxD +, CTS +, RTS + RS-232: 50 bps - 230,4 Kbps Tasa de Baudios RS-422/485: 50 bps - 460,8 Kbps Ocho grupos predefinidos de direcciones I/O son Direcciones I/O seleccionables por jumper. Seleccionables Interrupciones por jumper para IRQs 3,4,5,6,7,9,10,11,12,14,15 Requerimientos de Fuente de Poder RS-232: DTR, DST, RTS, CTS, RI, TxD, RxD, DCD + 5VDC @ 100 mA (max) +5% Módulo HE104 El Módulo HE104 de múltiple salida DC es una unidad de alta eficiencia y de alto desempeño diseñado para sistemas de computadores embebidos PC/104 de bajo ruido, con un rango de entrada comprendido entre 6 y 40 V (ver Figura 3.22). Las especificaciones técnicas se muestran en la Tabla 3.4. Figura 3.22.- Módulo HE104 46 MARCO TEÓRICO Tabla 3.4.- Especificaciones Módulo HE104 Salida de 5V 10 A Salida de 12V 2A Salida de -5V 400 mA Salida de -12V 500 mA Rango de Voltaje de Entrada 6 a 40V Regulación de Carga < 60 mV Regulación de Línea + 40 mV Frecuencia de Suicheo 75 KHz Ripple de Salida < 20 mV Rango de Temperatura -40 a 85 °C 3.5.4.- Arquitectura Net-DAS 3.5.4.1.- Definición Network Data Acquisition System (en español, Sistema de Adquisición de Datos en Red) es un sistema de supervisión y control, construido sobre elementos comerciales abiertos: PC Industrial Modular PC/104-Plus, Interfaces de Campo (Hart, RS-485,TCP/IP, Direct I/O), sistema Operativo QNX - Linux, SoftPLC Virgo ISAGRAF IEC1131 (SFC, FBD, ST, IL, LD + FC), Radios IP, Interconectividad hacia campo (Modbus RTU/TCP, Hart, Fieldbus), Interconectividad hacia usuario (Modbus, XML, PHP, HTML, Applets de Java, Corba, SQL, ODBC, OPC); a los cuales se les ha agregado valor y funcionalidad en cuanto a conectividad, integrabilidad, mantenibilidad y aplicaciones de negocio, mediante el desarrollo de programas basados en tecnologías de comunicación TCP/IP, de bases de datos y de IHM7 sobre navegadores Web. El Sistema Net-DAS ha sido desarrollado por Intevep, S.A por parte de Petróleos de Venezuela, S.A. Para mayor información sobre esta arquitectura revisar [INTEVEP, 2004]. 7 Interfaz Hombre – Máquina. 47 MARCO TEÓRICO 3.5.4.2.- Objetivos El Sistema Net-DAS se desarrollo con el fin de: • Adquirir, procesar, convertir y transmitir grandes cantidades de variables de cualquier proceso industrial, desde sus instalaciones en campo hasta los sistemas de información, control, y bases de datos corporativas, mediante la programación de protocolos de comunicación asociados a dispositivos ya existentes o propios. • Monitorear y controlar las instalaciones de campo utilizando navegadores Web convencionales y estándares sin que se haga indispensable de invertir en sistemas especializados (SCADA). 3.5.4.3.- Ventajas Entre las principales ventajas que ofrece el Sistema Net-DAS se encuentran: • Permite la Adquisición y transmisión de nuevos tipos de variables, caracterizadas por contener grandes volúmenes de información, tales como perfiles térmicos y cartas dinagráficas, entre otros. • Realiza la distribución masiva de la información de proceso de campo a toda la Corporación sin necesidad de adquirir sistemas de programas de visualización especializados y agregando valor a la infraestructura de redes ya instalada. • Efectúa la conversión de protocolos entre dispositivos especializados que generan la información de campo y los sistemas corporativos de visualización, almacenamiento y explotación de dicha información, permitiendo así la integración de sensores, analizadores especializados y los sistemas de automatización ya existentes, utilizando como medio la Internet/Intranet. • Permite el control avanzado de procesos de producción mediante la ejecución en campo, de lógicas y aplicaciones de alto nivel descritas en cualquier combinación de los lenguajes IEC-61131-3 y lenguajes como C y Java. 48 MARCO TEÓRICO • Configuración y explotación de los datos vía Web, usando protocolos estándares no propietarios tales como Java y Modbus TCP. • Esta equipado con aplicaciones propias del negocio para la supervisión y control especializados de instalaciones 2S (explotación de data SAGD, Cartas Dinagráficas, AI2S, Weltech, WTD, etc.) • Responde a los requerimientos del concepto AI2S, en cuanto a escalabilidad, conectividad, mantenabilidad y capacidad de disponer de toda la inteligencia en sitio para ejecutar las funciones de control, supervisión y optimización en tiempo real. 3.5.4.4.- Características Las características más relevantes del Sistema Net-DAS se pueden clasificar en los siguientes rubros: a. Aplicación y Configuración Se realizan remotamente o localmente: descarga de software desarrollado, debugging y mantenimiento de las lógicas realizadas. Dicha configuración y actualización se pueden realizar local o desde cualquier computadora en PDVSA vía Web/TCP/IP (caso remoto), sin detener los procesos. b. Obtención de los Datos hacia: • Campo: Vía Modbus RTU, Modbus TCP, Hart, I/O directo, Fieldbus, otros especiales. • SCADA: Vía Modbus RTU, Modbus TCP, OPC. • Hacia aplicaciones: Igual a SCADA más SQL, Applets de Java para Web, servlets PHP y Java, Corba. • Otras Net-DAS: anterior + intercambio de variables entre lógicas sobre TCP/IP. • Conectividad global gracias a la aplicación de las tecnologías de redes y servicios TCP/IP en aplicaciones de supervisión y control en campo. 49 MARCO TEÓRICO c. Entradas y Salidas Net-DAS soporta un número ilimitado de entradas y salidas tanto analógicas como digitales, las cuales son cambiables “en caliente” sin parar el proceso ni desconectar el campo. d. Integración de Elementos de Campo: Capacidad de integrar transmisores Hart directamente, pudiéndose realizar la configuración de dichos transmisores desde el SCADA. Igualmente Net-DAS es capaz de integrar múltiples equipos y obtener de estos sus datos. e. Control: Posee la capacidad de: ejecutar varios PLC virtuales para acciones de control en un mismo Hardware, diferentes lógicas en diferentes RTUs (repartición de carga, sistemas DCS), así como la capacidad de Trending, Data Logging y Alarming en la misma RTU. f. Protocolos: • Capacidad de adquisición de datos desde dispositivos Modbus RTU, Modbus TCP y Hart, mientras que los datos son comunicados hacia Sistemas SCADA, mediante Modbus – RTU y Modbus TCP. Con ello se desprende que el equipo realiza implícitamente conversiones entre estos protocolos, y la función de concentrador de datos. • No existe limitación en cuanto a los protocolos, pues el sistema es modular y expansible en cuanto a la cantidad de protocolos, tanto amos como esclavos que se deseen ejecutar en un momento dado. g. Comunicación/Conectividad: Dos opciones para la comunicación CPU – señales de entradas y salidas (I/O Remotos): 1. RS-485 multipunto, bajo Modbus RTU. 2. TCP/IP Ethernet, bajo Modbus TCP. 50 MARCO TEÓRICO h. Supervisión: • Se puede iniciar cámara de video en color, para supervisión visual vía navegadores Web desde cualquier computadora de PDVSA. • Es factible establecer el envío de fotos automáticamente, a intervalos regulares, a otra computadora o servidor Web, o vía email a cualquier usuario. 3.6.- Servidor HTTP Apache El Servidor HTTP Apache es un servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Windows y otras, que implementa el protocolo HTTP (ver sección 3.4.3) y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que originalmente Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. Era, en inglés, a patchy server (un servidor parcheado). El Servidor HTTP Apache tiene capacidad para servir páginas tanto de contenido estático (para lo cual serviría sencillamente un viejo ordenador 486) como de contenido dinámico a través de otras herramientas soportadas que facilitan la actualización de los contenidos mediante bases de datos, ficheros u otras fuentes de información. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras cosas mensajes de error altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. En la actualidad (2005), Apache es el servidor HTTP más usado, siendo el servidor HTTP del 68% de los sitios Web en el mundo y creciendo aún su cuota de mercado (estadísticas históricas y de uso diario proporcionadas por Netcraft). 51 MARCO TEÓRICO 3.7.- Lenguajes de Programación 3.7.2.- HTML HTML, HyperText Markup Language, es un lenguaje simple utilizado para crear documentos de hipertexto para World Wide Web (siglas WWW). No es un lenguaje de descripción de página como Postcript; HTML no permite definir de forma estricta la apariencia de una página, aunque una utilización algo desviada hace que se utilice en ocasiones como un lenguaje de presentación. Además, la presentación de la página es muy dependiente del navegador utilizado: el mismo documento no produce el mismo resultado en la pantalla si se visualiza con navegadores diferentes, o sea, HTML se limita a describir la estructura y el contenido de un documento, y no el formato de la página y su apariencia. Una de las claves del éxito de WWW, aparte de lo atractivo de su presentación es sin duda, su organización y coherencia. Todos los documentos WWW comparten un mismo aspecto y una única interfaz, lo que facilita enormemente su manejo por parte de cualquier persona. Esto es posible porque el lenguaje HTML, en que están escritos los documentos, no solo permite establecer hiperenlaces entre diferentes documentos, sino que es un "lenguaje de descripción de página" independiente de la plataforma en que se utilice. Es decir un documento HTML contiene toda la información necesaria sobre su aspecto y su interacción con el usuario, y es luego el navegador Web el responsable de asegurar que el documento tenga un aspecto coherente, independientemente del tipo de estación de trabajo desde donde se efectúe la consulta. Su simplicidad es tal que no es necesario utilizar un editor particular. Su gran permisividad exige rigor y atención en la estructura de documentos con el fin de que éstos se visualicen correctamente al margen del contexto y el navegador utilizado. Por tanto, HTML es un lenguaje muy sencillo que permite preparar documentos Web insertando en el texto de los mismos una serie de marcas (tags) que controlan los diferentes aspectos de la presentación y comportamiento de sus elementos. Para escribir HTML lo único que se necesita es un editor de texto. Las marcas o tags que controlan el comportamiento del documento son fragmentos de texto encerrados entre los 52 MARCO TEÓRICO signos "mayor que" y "menor que" ((que obliga un salto de línea). Es importante señalar que las marcas, en general pueden estar indistintamente en mayúsculas o en minúsculas. Como todo lenguaje, está en constante evolución. La versión en curso es la versión 2.0 pero existe ya un proyecto para la versión 3.0. En [TECNOLOGÍAS WEB, 2005] se consigue más información sobre HTML y otros lenguajes de programación. 3.7.2.- PHP PHP (acrónimo de "PHP: Hypertext Preprocessor") es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en páginas HTML y ejecutado en el servidor. En la Figura 3.23 se muestra un ejemplo sencillo de PHP.