UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios Profesionales Coordinación de de Ingeniería Electrónica Actualización Tecnológica de Sistemas Control y Parada de las Plantas de Compresión Tía Juana II y III (Edo. Zulia) Por Mauricio Enrique Covarrubias Sanz Sartenejas, Marzo de 2006 UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios Profesionales Coordinación de Ingeniería Electrónica Actualización Tecnológica de Sistemas Control y Parada de las Plantas de Compresión Tía Juana II y III (Edo. Zulia) Por Mauricio Enrique Covarrubias Sanz Realizado con la Asesoría de Ing. Ernesto Granado (Tutor Académico) Ing. José Luis Do Nacimiento (Tutor Industrial) 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, Marzo de 2006 UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios Profesionales Coordinación de Ingeniería Electrónica Actualización Tecnológica de Sistemas Control y Parada de las plantas de compresión Tía Juana II y III (Edo. Zulia) PROYECTO DE GRADO presentado por Mauricio Enrique Covarrubias Sanz REALIZADO CON LA ASESORÍA DE Ing. Ernesto Granado (Tutor Académico) Ing. Jose Luis Do Nacimiento (Tutor Industrial) RESUMEN: En este proyecto se presenta la actualización de dieciséis controladores lógicos programables (PLC) marca Triconex, ubicados en las plantas de compresión de gas Tía Juana II y III. La actualización abarca tanto el hardware como el software, siendo la del último la parte más extensa ya que fue necesario migrar todos los programas de la versión en DOS, escrita en lenguaje escalera, a la nueva versión en Windows donde se desarrollaron las lógicas de control principalmente en diagramas de bloques funcionales. PALABRAS CLAVES: Control, PLC, Lenguaje escalera, Bloques funcionales. Aprobado con mención:_______ Postulado para el premio:_______ Sartenejas, marzo de 2006 Agradecimientos y/o Reconocimientos A Dios por darme fortaleza para seguir adelante cada día. A mis padres por toda la educación y apoyo que me han brindado. A mi tía Rosa y mi tío Cesar por su ayuda en toda mi vida universitaria. Al resto de mi familia por su apoyo incondicional. A Marianna por su cariño y ayuda en el desarrollo de este proyecto. A mis tutores, José Luis Do Nacimiento y Ernesto Granado por sus consejos durante el desarrollo de la pasantita. A Noraima, Ardis, Claudio, Juan, Karín, José, Víctor y Eduardo por las buenas experiencias vividas en el trabajo. A mis amigos por los momentos de distracción. Al personal de Invensys por recibirme como uno más de la familia. A todos, ¡gracias! i ÍNDICE GENERAL CAPÍTULO 1: INTRODUCCIÓN........................................................................................ 1 CAPÍTULO 2: MARCO TEÓRICO ..................................................................................... 4 2.1 Controlador Lógico Programable ........................................................ 4 2.1.1 Definiciones según la Norma ISA-S5.1 ...................................... 4 2.1.2 Controlador Lógico Programable (PLC) ..................................... 5 2.1.3 Controlador PID .......................................................................... 7 2.2 Lenguaje Escalera................................................................................. 8 2.3 Turbinas de Gas .................................................................................. 13 2.3.1 Partes de una Turbina ................................................................ 14 2.3.1.1 Compresor ..................................................................... 14 2.3.1.2 Cámara de Combustión ................................................. 16 2.3.1.3 Turbina .......................................................................... 17 2.3.2 Control de la Turbina................................................................. 18 CAPÍTULO 3: METODOLOGÍA....................................................................................... 20 3.1 Conocimiento del Hardware............................................................... 20 3.2 Adiestramiento en Software ............................................................... 20 3.3 Desarrollo de Programas .................................................................... 20 3.3.1 Documentación del Programa en TriStation Versión 3.1.......... 20 3.3.2 Creación y Configuración del Programa en TriStation Versión 4.1 .............................................................................................. 21 3.3.3 Desarrollo de la Lógica del Programa ....................................... 21 3.3.4 Pruebas al Programa .................................................................. 21 3.4 Desarrollo de un Protocolo para el Cambio de las Tarjetas de los Controladores ..................................................................................... 21 3.5 Desarrollo de un Protocolo de Pruebas para la Lógica en el nuevo Software.............................................................................................. 21 CAPÍTULO 4: MÉTODOS, PROCEDIMIENTOS, MATERIALES Y EQUIPOS UTILIZADOS. ......................................................................................... 22 4.1 Controlador Tricon ............................................................................. 22 4.2 Descripción TriStation MSW V3.1 .................................................... 24 4.2.1 Configuración de Módulos - Module Configurator................... 25 4.2.2 Editor del Diccionario - Dictionary Editor ................................ 26 ii 4.2.3 Editor Escalera - Ladder Editor ................................................. 27 4.2.4 Elementos del lenguaje escalera ............................................... 27 4.2.4.1 Contactos: ...................................................................... 27 4.2.4.2 Bobinas .......................................................................... 28 4.2.4.3. Bloques de Comentarios.............................................. 30 4.2.4.4. Bloques de Expresión .................................................. 30 4.2.5 Documentación.......................................................................... 31 4.3 Descripción TriStation 1131 V4.1...................................................... 32 4.3.1. Diagramas de Bloques Funcionales.......................................... 33 4.3.2 Lenguaje Escalera..................................................................... 34 4.3.3 Texto Estructurado .................................................................... 35 4.4 Librerías.............................................................................................. 37 CAPÍTULO 5: DESARROLLO.......................................................................................... 42 5.1 Documentación del Programa en TriStation Version 3.1................... 42 5.1.1 Base de Datos. ........................................................................... 42 5.1.2 Configuración Física. ................................................................ 43 5.1.3 Lógicas de Control. ................................................................... 44 5.2 Creación y Configuración del Programa en TriStation Version 4.1... 44 5.2.1 Base de Datos ............................................................................ 44 5.2.2 Configuración Física. ................................................................ 46 5.3 Desarrollo de las Lógicas de los Programas....................................... 46 5.3.1 Control de turbina sin control de velocidad. ............................. 47 5.3.2 Sistema de Expansión............................................................... 57 5.3.3 Control de turbina con control de velocidad. ............................ 61 5.3.4 Sistema de Parada de Emergencia ............................................. 73 5.3.5 Sistema de Refrigeración........................................................... 74 5.3.6 Verificación del sistema. ........................................................... 81 5.4 Pruebas a los programas ..................................................................... 82 5.5 Desarrollo de un protocolo para el cambio de las tarjetas de los controladores. ..................................................................................... 83 5.6 Desarrollo de un protocolo de pruebas para la lógica en el nuevo software .............................................................................................. 83 CAPÍTULO 6: RESULTADOS DEL FAT ......................................................................... 84 CAPÍTULO 7: CONCLUSIONES Y RECOMENDACIONES ......................................... 86 iii REFERENCIAS BIBLIOGRÁFICAS ................................................................................ 88 ANEXOS……… ............................................................................................................. …89 APENDICE A… ............................................................................................................... 115 iv ÍNDICE DE TABLAS Y FIGURAS • Tablas Tabla 1: Contacto y bobina normales .................................................................................... 9 Tabla 2: Contacto y bobina negados ..................................................................................... 9 Tabla 3: Contactos de comparación..................................................................................... 13 Tabla 4: Contactos estándar TriStation 3.1 (8).................................................................... 28 Tabla 5: Contactos de comparación TriStation 3.1 (8)........................................................ 28 Tabla 6: Bobinas estándar TriStation 3.1 (8)....................................................................... 29 Tabla 7: Bobinas complejas TriStation 3.1 (8).................................................................... 30 Tabla 8: Lógica de selección del bloque funcional SPD_SELECT03 ................................ 41 Tabla 9: Parámetros de las variables ................................................................................... 45 Tabla 10Modos de Operación de la Turbina ....................................................................... 62 Tabla 11: Selección de modo de la turbina.......................................................................... 68 Tabla 12: Condiciones de Escalamiento, Paro y Alarma (A)............................................. 78 Tabla 13: Variables preprocesadas York............................................................................. 80 • Figuras Figura 1: Operaciones en un Scan ......................................................................................... 6 Figura 2: Esquema Controlador............................................................................................. 7 Figura 3: Función del PID ..................................................................................................... 7 Figura 4: Ejemplo Escalón de Diagrama Escalera (4)........................................................... 8 Figura 5: Contacto Normalmente Cerrado. (4)...................................................................... 9 Figura 6: OR (4) .................................................................................................................. 10 Figura 7: AND (4) ............................................................................................................... 10 Figura 8: OR Exclusivo (4) ................................................................................................. 11 Figura 9: Ejemplo lógica escalera ....................................................................................... 11 Figura 10: Ejemplo lógica de permisivos ............................................................................ 12 Figura 11: Turbina de Gas. (5) ............................................................................................ 13 Figura 12: Compresor Axial. Izquierda.- Rotor; Centro.- Estator; Derecha.- Acople rotor – estator (6) ............................................................................................................ 15 Figura 13: Configuración de Alabes en el Compresor (6) .................................................. 15 Figura 14: Cámara de Combustión Individual (6)............................................................... 16 v Figura 15: Arreglo de Cámaras en Turbina (6) ................................................................... 17 Figura 16: Partes de una Turbina (6) ................................................................................... 18 Figura 17: Arquitectura del Tricon (7) ................................................................................ 22 Figura 18: Módulo de configurado (8) ................................................................................ 26 Figura 19: Ejemplo Programa en Ladder Editor ................................................................. 27 Figura 20: Ejemplo Bloque de Expresión (8)...................................................................... 31 Figura 21: Ejemplo Activación Bloque de Expresión ......................................................... 31 Figura 22: Ejemplo programas TriStation 4.1 ..................................................................... 33 Figura 23: Ejemplo lógica en bloques funcionales.............................................................. 34 Figura 24Ejemplo lógica en lenguaje escalera TriStation 4.1 ............................................. 35 Figura 25: Ejemplo programa en texto estructurado ........................................................... 36 Figura 26: Lógica de Activación del Rele Maestro de la Turbina (R4) .............................. 52 Figura 27: Válvula de Cierre de la Turbina......................................................................... 53 Figura 28: Válvula de Paso de Flujo ................................................................................... 54 Figura 29: Factor de Escape de la Turbina .......................................................................... 65 Figura 30: Función VACyS................................................................................................. 75 vi LISTA DE SÍMBOLOS Y ABREVIATURAS BASIC – Lenguaje de programación cuyas letras significan código de instrucciones simbólicas de propósito general para principiantes (Beginners All-purpose Symbolic Instruction Code) Bypass – Variable o señal que al ser activada, inhibe la acción de otra variable en un sistema. CPU – Unidad Cenral de Proceso. DCS – Sistema de Control Distribuido. ESD – Sistema de parada de Emergencia. FAT – Pruebas de Aceptación en Fábrica. Software - Suma total de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de cómputo Hardware – Componentes físicos de un equipo. I/O – Entradas y Salidas. MS DOS – Sistema operativo de Microsoft. PDVSA – Empresa Petróleos de Venezuela Sociedad Anónima. PID – Controlador Proporcional Integral Derivativo. PLC – Controlador Lógico Programable. psig – Unidad de presión, libras sobre pulgada cuadrada, referida sobre la presión atmosférica. SAT – Pruebas de Aceptación en Sitio. Setpoint - Valor de referencia para una variable en un proceso. Termocupla – Sensor de temperatura. º C – Unidad de temperatura, Grados Centígrados. º F – Unidad de temperatura, Grados Fahrenheit. 1 CAPÍTULO 1: INTRODUCCIÓN INVENSYS es una empresa líder en soluciones globales de gerencia de producción y aprovechamiento de energía, que brinda a sus clientes productos, servicios y tecnología que permite maximizar el retorno de las inversiones, conservar recursos y optimizar su desempeño a lo largo de la cadena de valores La Corporación opera en más de sesenta países a nivel mundial satisfaciendo las necesidades de las industrias de procesos, desde las industrias de petróleo y gas, energía y químicos hasta la industria de alimentos, salud y comunicación. Invensys Systems Sucursal Venezuela, sigue los lineamientos de la organización comercializando productos de las líneas SimSci-Esscor (Simulación de procesos en estado estacionario, simulación dinámica y entrenamiento de operarios), Foxboro y Triconex (automatización y control) y APV (equipos para la industria alimenticia) destinados a diversas industrias, así como también ejecuta proyectos y presta servicios de diagnóstico y mantenimiento en el área de automatización y control. Sus instalaciones se encuentran en las ciudades de Caracas y Maracaibo las cuales tienen la capacidad de atender las necesidades de los clientes en Venezuela, Ecuador, Colombia y El Caribe. Actualmente, Invensys Systems desarrolla el proyecto de actualización del sistema de control de la línea Triconex para las plantas de compresión de gas Tía Juana I y II de PDVSA en el estado Zulia, específicamente del controlador Tricon que es conocido por su gran rendimiento y confiabilidad, razón por la cual es una de las mejores opciones al momento de desarrollar sistemas de parada de emergencia. La planta compresora de gas PC-TJ-2 mostrada en el anexo 1.a pertenece al Distrito Tía Juana e inicia sus operaciones en el año 1957. Está formada por dos trenes de seis etapas de compresión cada uno, con turbinas acopladas a unidades centrifugas. La presión de succión de cada tren es aproximadamente 25 psig. con una descarga final de 1600 psig. como se presenta en el anexo 1.b. El sistema de control supervisorio está constituido por un Sistema de Control Distribuido (DCS) TDC-3000 de Honeywell, al cual se integra cada Controlador Lógico Programable (PLC) marca Triconex de cada unidad compresora y que ejecuta las correspondientes funciones de protección y secuencia. Existen además otros tres 2 PLCs marca Triconex; uno que realiza las funciones del sistema de parada de emergencia de la planta (ESD), uno para el sistema de refrigeración York y otro para el sistema de expansión. La planta compresora de gas PC-TJ-3 pertenece al Distrito Tía Juana e inicia sus operaciones en el año 1958. La planta está formada por dos trenes de siete etapas de compresión cada uno, con turbinas acopladas a unidades centrifugas. La presión de succión de cada tren es aproximadamente 25 psig. con una descarga final de 1400 psig. El sistema de control supervisorio está constituido por un Sistema de Control Distribuido Intelligent Automation (I /A) de Foxboro, con una red de control “Nodebus”, al cual se integran: el Controlador Lógico Programable (PLC) marca G.E. Fanuc Serie VI de cada unidad compresora, el cual ejecuta las correspondientes funciones de control, protección y secuencias de arranque y parada, el PLC G.E Serie VI para el compresor refrigerante y el PLC G.E. 90-70 para el control de velocidad y gas combustible. Además, existe un gabinete formado por PLCs marca Triconex, el cual constituye el sistema de parada de emergencia de la planta (ESD). La actualización a realizar abarca tanto el hardware como software de los sistemas Triconex existentes. Incluye el reemplazo de los módulos procesadores, módulos de comunicación, el firmware y/o reemplazo de módulos I/O y la migración de las aplicaciones existentes desde el software MS DOS a la más reciente versión de Windows XP. La actualización es de suma importancia ya que los Controladores Lógicos Programables (PLC) marca Triconex, instalados en las plantas compresoras PC-TJ-2 y PCTJ-3, corresponden a la versión V6.2 que está en estado de obsolescencia actualmente, sólo tuvieron soporte técnico regular del fabricante hasta finales del año 2003. Luego de este momento, únicamente se cuenta con planes de mantenimiento especial por solicitud. Los programas de aplicación fueron escritos utilizando exclusivamente “lógica escalera” bajo ambiente MS DOS, y no son compatibles con la nueva plataforma Windows que además permite combinar “lógica escalera” con bloques funcionales y código estructurado. Por esto resulta necesario diseñar las mencionadas aplicaciones bajo la nueva plataforma. 3 Dadas las condiciones arriba expuestas, se plantea entonces realizar el proyecto de actualización con la finalidad de garantizar a futuro el funcionamiento confiable y la continuidad operacional de las unidades compresoras, sistema de refrigeración, expansión y la seguridad de las instalaciones por medio de los sistemas de parada de emergencia (ESD). A continuación se muestran los objetivos planteados para el desarrollo del proyecto. Objetivo General Actualización de los PLC marca Triconex de la Versión V6.2 a V9.4 Objetivos Específicos • Cambio de la lógica de control, del software TriStation V3.1 (MS DOS) a TriStation V4.1 (Windows). • Desarrollo de un Protocolo para el cambio de las Tarjetas de los Controladores. • Desarrollo de un Protocolo de Pruebas para la Lógica en el nuevo Software. Seguidamente se muestra un capítulo en donde se describen los fundamentos teóricos que lo apoyan. En el tercer capítulo, se explica el orden de actividades seguido durante la elaboración de la actualización. Seguidamente, en el cuarto capítulo, se hace un resumen del Tricon y del software utilizados para el desarrollo de los programas. El quinto capítulo contiene el desarrollo del proyecto y posteriormente, en el sexto capítulo, se muestran los resultados obtenidos. Finalmente, en el capítulo séptimo, se presentan las conclusiones finales y las recomendaciones propuestas. 4 CAPÍTULO 2: MARCO TEÓRICO En este capítulo se presenta una descripción de los fundamentos teóricos que dan base a este proyecto de pasantita, y que son necesarios para un buen entendimiento de todas las actividades elaboradas. 2.1 Controlador Lógico Programable Para el control de los equipos en las Plantas de compresión Tía Juana 1 y 2 se utilizó un controlador Tricon que, en esencia, es un Controlador Lógico Programable (PLC). Por lo cual, en los siguientes puntos se presentarán los fundamentos básicos para entender el funcionamiento de un PLC. 2.1.1 Definiciones según la Norma ISA-S5.1 • Proceso: Cualquier operación o secuencia de operaciones que involucran un cambio de energía, estado, composición, dimensión u otras propiedades que pueden ser definidas con respecto a un dato. • Sensor: Es la parte de una cadena de medición y control que sensa primero la magnitud de una variable de proceso, asumiendo un estado de salida correspondiente que es predeterminado e inteligible. El sensor puede estar separado o ser parte integral de otro elemento funcional del lazo de control. • Controlador: Dispositivo cuya salida varía para regular una variable controlada en una manera especifica. En general, recibe información de la variable controlada y de la consigna de control o setpoint. Puede ser analógico o digital y puede funcionar automático o manual. Un controlador automático cambia su salida automáticamente en respuesta a una medición directa o indirecta de una variable de proceso. En 5 un controlador manual la salida no depende de una medición, ésta varía sólo por un ajuste manual. • Setpoint o Referencia: Entrada variable que determina el valor deseado de una variable controlada. Puede ser modificado manualmente, automáticamente o mediante un programa. Su valor es expresado en las mismas unidades de la variable controlada. • Programa: Secuencia repetible de acciones que definen el status de salidas según una relación con un conjunto de entradas. 2.1.2 Controlador Lógico Programable (PLC) Los PLC son dispositivos electrónicos muy utilizados en las industrias. Su existencia data de finales de la década de 1960, cuando la industria buscó nuevas tecnologías para reemplazar los sistemas de control basados en reles, los cuales eran ampliamente utilizados en esa época y presentaban muchos problemas de mantenimiento y dificultad para hacer cambios en las lógicas de control. (2) Un PLC es un instrumento que permite el almacenado de instrucciones para realizar funciones como control de eventos secuenciales, control temporizado, funciones de contador, funciones aritméticas, manipulación de datos y comunicación con otros equipos. Además, debe poseer ciertas características como resistencia a ambientes industriales, fácil de programar y mantener, modular, reajustable, etc. (2) Un PLC está compuesto por tres elementos primarios: el CPU, los módulos de entrada y salida, y el programa. El CPU cuenta con el procesador que realiza la lógica; la memoria disponible, tanto para todos los tipos de variables como para el programa y; por último, la unidad de alimentación que permitirá el funcionamiento del PLC de manera normal para un gran rango de voltajes de entrada. Por medio de los módulos de entrada y salida se obtienen las lecturas de las variables de los procesos para poder ejecutar la lógica de control, 6 y, a la vez, se envían las acciones resultantes del programa. Adicionalmente, se cuenta con módulos de comunicación que permiten intercambiar datos por diferentes vías y protocolos como por ejemplo vía serial, paralelo, Internet, etc. Finalmente, el programa generalmente se ejecuta en una computadora aparte con un software especial para el desarrollo de las lógicas y luego, es descargado al PLC por medio de alguna tarjeta de comunicación. Los programas pueden estar escritos en diferentes lenguajes, siendo el principal el lenguaje escalera, además existen programas basados en tablas de estados, diagramas de bloques, texto estructurado, entre otros. (2) El principio de operación del PLC se basa en la ejecución continua del programa de control. Antes de cada ciclo de ejecución, se leen las señales de entrada provenientes del proceso, luego se ejecuta la lógica de control y finalmente, se actualizan las salidas que significarán cambios en el proceso. El tiempo requerido por el PLC para realizar un ciclo completo de operación (leer entradas, ejecutar programas y actualizar salidas) se denomina Scan. A continuación, en la figura1 muestra las operaciones de un PLC en un Scan. (2) Leer Entradas Actualizar Salidas Ejecutar Programa Figura 1: Operaciones en un Scan En la actualidad, gracias a los avances en el área de la electrónica, los PLC realizan un gran número de funciones complejas como por ejemplo la implementación de controladores PID (proporcional-integral-derivativo), lo cual hace de estos equipos una excelente herramienta para el control de procesos en la industria. 7 2.1.3 Controlador PID Los controladores PID (proporcional-integral-derivativo) son dispositivos de control cuyo objetivo consiste en mantener una salida de un proceso en un nivel predeterminado. Para ejecutar su función, el controlador mide el valor de la salida de un proceso por medio de sensores, luego compara este dato con la referencia establecida y, por medio de la aplicación de operaciones aritméticas a la diferencia de ambos valores (error), se determina la entrada de la planta. En la figura 2 se muestra un esquema básico de un controlador. Ref error Controlador u Planta Y + - Figura 2: Esquema Controlador El controlador PID tiene la siguiente función de transferencia: K u = K p + i + Kd ⋅ s error s Figura 3: Función del PID Donde el primer término (Kp) representa la parte proporcional, el segundo la integral (Ki) y el tercero la derivativa (Kd). En la etapa proporcional el error es multiplicado por la constante K p , dando como resultado que la salida sea proporcional al error. En la integral el error es integrado, lo cual cumple la función de promediarlo por un periodo de tiempo y luego se multiplica por la constante K i , este desarrollo tiene el objetivo de corregir el error en estado estacionario. Finalmente, en la etapa derivativa, el error es derivado con respecto al tiempo y luego se multiplica por la constante K d . La función de la derivada es controlar la respuesta a los 8 cambios en el sistema, ya que una mayor derivativa corresponde a un cambio más rápido. En resumen, los aportes de cada parte del PID a la respuesta de un sistema son: la parte proporcional disminuye el tiempo de crecimiento o transitorio de la señal y el error al llegar al estado estacionario, mientras que aumente el pico que puede tener la respuesta por encima del valor deseado, lo cual se conoce como sobre-pico. La parte integral elimina el error en estado estacionario, disminuye el tiempo de crecimiento y aumenta el sobre-pico y el tiempo que se tarda la señal en estabilizarse. Por último la parte derivativa disminuye el sobre-pico y el tiempo de establecimiento. El resumen antes mencionado no es preciso, debido a que el efecto de cada etapa puede depender de los otros debido a que todos están sumados, como se muestra en la función de transferencia.(3) 2.2 Lenguaje Escalera Es un lenguaje de programación gráfico usado normalmente para elaborar la lógica de control de sistemas en la industria. Está basado en esquemas eléctricos de control clásico que son ampliamente conocidos. Su nombre proviene de la semejanza de los programas con una escalera, ya que poseen dos líneas o rieles verticales que representan la fuente de energía (línea izquierda) y la tierra (línea derecha), y tantos escalones (líneas horizontales) como circuitos de control se tengan que representar. (4) Un ejemplo simple de un escalón de control se puede representar como un interruptor que, al estar activado, permite el encendido de una lámpara y en caso contrario la mantiene apagada. La representación de dicha lógica se muestra en la siguiente figura. Figura 4: Ejemplo Escalón de Diagrama Escalera (4) 9 En la figura 4, L1 representa la línea de alimentación y L2 la línea de tierra. El interruptor y la lámpara simbolizan los elementos básicos del lenguaje escalera que son los contactos y bobinas respectivamente. Los contactos se utilizan para desarrollar la lógica, y las bobinas son las salidas o respuesta del sistema para la lógica desarrollada; ambos elementos están asociados a un punto de entrada o salida, o a una variable interna dentro del programa. Dichos elementos funcionan de la siguiente manera: Se activa cuando hay un uno lógico en la variable a que esta asociado. Contacto Se activa cuando la lógica que esta a su izquierda da un uno lógico, su habilitación conlleva a activar la variable a que esta asociada la bobina. Bobina Tabla 1: Contacto y bobina normales Ambos elementos tienen otro estado de operación conocido como normalmente cerrado y funcionan como se muestra a continuación: Se activa cuando hay un cero lógico en la variable a que esta asociado. Contacto Se activa cuando la lógica que esta a su izquierda da un cero lógico, su habilitación conlleva a activar la variable a que esta asociada la bobina. Bobina Tabla 2: Contacto y bobina negados Este modo equivale al funcionamiento de un negador lógico, como se puede observar en la siguiente figura. Figura 5: Contacto Normalmente Cerrado. (4) 10 Por medio de la utilización de múltiples contactos se pueden crear funciones lógicas conocidas, como el OR, AND, XOR, etc. Seguidamente, se muestra la representación de dichas funciones utilizando el estándar binario de 1 para activado y 0 para desactivado. • OR: la bobina se energiza cuando cualquiera de los contactos se activa. Figura 6: OR (4) • AND: la bobina se habilita solo cuando todos los contactos se activan. Figura 7: AND (4) • OR Exclusivo o XOR: la bobina se habilita cuando los contactos Ay B se encuentran en estados diferentes. 11 Figura 8: OR Exclusivo (4) Para realizar el XOR se utilizaron dos contactos por entrada, uno para la entrada directa y otro para la invertida; los dos contactos “A” están asociados a un mismo punto físico o de memoria por lo cual, cuando el mecanismo que controla dicho punto varía, el cambio se verá reflejado en ambos contactos. En general, los contactos y bobinas se encuentran asociados a la variable con el mismo nombre del elemento, y no hay un límite para el número de elementos a usar. A continuación se muestra un ejemplo donde la salida de un escalón se emplea como entrada en otro. Figura 9: Ejemplo lógica escalera 12 En este ejemplo, la Salida_1 se energizará cuando el contacto A esté activado o cuando el B no esté activado, y Salida_2 se energizará cuando el contacto C y Salida_1 estén activados. De esta forma, y utilizando cualquier combinación de contactos, se puede desarrollar la lógica de control de una gran cantidad de sistemas. Entre los principales usos de este lenguaje se encuentra la elaboración de lógicas de permisivos o ínter bloqueos, en los cuales, para que una acción se ejecute se tiene que cumplir con ciertas condiciones que se pueden representar por contactos; seguidamente se muestra un ejemplo donde, para encender un motor, se tiene que cumplir que la presión del combustible sea normal, haya un mínimo de flujo de presión y la válvula de escape de gas se encuentre abierta. Figura 10: Ejemplo lógica de permisivos Además de controlar el encendido de la máquina según los permisivos mencionados, se energiza un bombillo verde cuando la máquina enciende y uno rojo cuando la misma está apagada. En la actualidad, gracias a los avances en los campos de la electrónica y computación, los controladores trabajan ampliamente con variables analógicas, por lo cual el lenguaje escalera ha evolucionado para permitir un mayor manejo de variables. De esta forma, se han creado contactos que se activan si alguna señal es mayor que cierto rango como se muestra a continuación. 13 A Se activa cuando A es mayor que B. B A Se activa cuando A es menor que B. B Tabla 3: Contactos de comparación Finalmente, se han introducido funciones como contadores, temporizadores, retardos, etc., cuyos diagramas dependen más del programa en que se encuentran hechas. De esta forma se cuenta con una gran herramienta para elaborar el control de una amplia variedad de procesos en la industria. 2.3 Turbinas de Gas Con este nombre se designa un motor que forma parte de las máquinas de fluido, las cuales absorben energía de un fluido y restituyen generalmente la energía mecánica en el eje. (5) La turbina, en su esquema más sencillo, está formada por un compresor, una cámara de combustión y una turbina de gas. Cabe destacar que se utiliza el mismo nombre para la máquina formada por las tres unidades que constituye un motor de combustión interna, y para la turbina sola. En la figura 11 se muestra un esquema simple de una turbina de gas. (5) Figura 11: Turbina de Gas. (5) 14 La turbina mostrada en la figura 11 funciona de la siguiente manera: el motor de arranque se utiliza en el momento de encender la turbina para llevarla a una velocidad a partir de la cual se pueda mantener por si misma. En operación normal el aire de la atmósfera entra al compresor, el cual, como su nombre lo indica, realiza una compresión del mismo y luego lo dirige a la cámara de combustión, donde se inyecta y quema combustible, elevándose la temperatura del aire a presión aproximadamente constante; finalmente, la mezcla de aire con los productos de la combustión, a alta presión y temperatura, entran en la unidad de la turbina haciéndola girar, lo cual desarrolla la potencia necesaria para el accionamiento del compresor y la potencia adicional en el eje que se puede acoplar a otro equipo. El gas, después de pasar por la turbina, es expulsado al exterior. (5) Además del esquema simple mostrado, existe una gran cantidad de otros esquemas mucho más complejos en que se combinan variedades de elementos como por ejemplo, uno o varios compresores, una o varias turbinas, incorporación de intercambiadores de calor, reciclado del gas, etc. (5) 2.3.1 Partes de una Turbina 2.3.1.1 Compresor Si se realizara la combustión del aire y el combustible a la presión atmosférica, no se lograría un rendimiento suficiente para producir el trabajo que tiene que hacer la turbina dado que la energía en la combustión es proporcional a la masa de aire; por lo cual, es necesario utilizar aire comprimido que permita obtener la energía necesaria. (6) Los compresores permiten obtener el aire comprimido. Y según su diseño y forma se dividen en centrífugos y axiales. Debido a que las turbinas existentes en las plantas de Tía Juana son del tipo axial, a continuación se presenta un breve resumen de esta clase de compresores. El aire en un compresor axial sigue un flujo completamente paralelo al eje del motor sin ninguna componente radial. El compresor está formado por una serie de escalones, cuyos componentes 15 fundamentales por escalón son el rotor y el estator. En la siguiente figura se muestran las partes de un compresor. (6) Figura 12: Compresor Axial. Izquierda.- Rotor; Centro.- Estator; Derecha.- Acople rotor – estator (6) Los álabes del rotor (pestañas del rotor) aumentan la velocidad del aire y la presión, tanto dinámica como estática, al estar en movimiento gracias al trabajo ejercido por la turbina. Este efecto es logrado por medio del diseño de los álabes. En el estator, la velocidad decrece a medida que aumenta la presión estática, mientras que la presión dinámica disminuye al hacerlo la velocidad. A continuación se muestra cómo están colocados los álabes de ambas partes y la forma en que fluye el aire. (6) Figura 13: Configuración de Alabes en el Compresor (6) En resumen, el rotor aumenta la velocidad y la presión total, y el estator disminuye la velocidad y aumenta la presión total, a pesar de la disminución de la presión dinámica. El aire va pasando del rotor al estator y así sucesivamente, aumentando la energía de la masa de aire 16 para que llegue a las cámaras de combustión a la presión adecuada. Cabe destacar que la temperatura se incrementa al aumentar la presión, y debe ser manejado con cuidado para las futuras etapas de la turbina. (6) 2.3.1.2 Cámara de Combustión El objetivo de las cámaras de combustión consiste en realizar la combustión de la mezcla de aire y combustible, y entregar la energía resultante a la turbina, a una temperatura permisible para su correcto funcionamiento. Para que una cámara sea aceptable debe tener pérdidas de presión mínimas y no debe tener tendencias al apagado. (6) El proceso de combustión se realiza de la siguiente manera: aproximadamente a la cámara entran 60 a 100 partes de aire por una de combustible, y de esas 60 solamente se queman 15, dado que la relación ideal es de 15 partes de aire por 1 de combustible. Esto quiere decir que solamente hace combustión el 25% del aire que entra en la cámara, el 75% restante la abandona sin arder y es utilizado para refrigerar la superficie de la cámara y para mezclarse con los gases de la combustión, reduciendo la temperatura de entrada a la turbina hasta el límite permisible. (6) Existen tres tipos de cámaras: individuales, anulares y mixtas. En el caso de Tía Juana se utilizan individuales. Éstas son empleadas generalmente en un número variable de 5 a 10 por turbina. Constan de una doble pared, de las cuales la interior se denomina “tubo de llama” por estar en contacto directo con la combustión. En la siguiente figura se muestra una imagen de una cámara de combustión. Figura 14: Cámara de Combustión Individual (6) 17 Cada cámara de combustión lleva su propio inyector y dos de las cámaras van dotadas de bujías de encendido. La razón de llevar dos bujías es exclusivamente por seguridad. A continuación se muestra como se coloca el arreglo de cámaras en la turbina de gas. (6) Figura 15: Arreglo de Cámaras en Turbina (6) En resumen, el aire de descarga del compresor entra en la cámara y se divide en dos, el primario, que representa al 25%, entra por el centro de la cámara para realizar la combustión y el 75% restante pasa entre el tubo de llama y la carcasa exterior. El tubo de llamas presenta una serie de perforaciones como se muestra en la figura 14 por donde penetra el aire secundario que reduce la temperatura de aproximadamente 2000ºC a unos 1300ºC que pueden ser manejados por la turbina. 2.3.1.3 Turbina La misión de la turbina es convertir la energía liberada de la combustión, en energía mecánica para mover el eje que permitirá la acción del compresor y cualquier otra máquina que se acople al eje. (6) Las turbinas también se dividen dependiendo de su diseño en centrípetas o axiales, en el caso de la Planta en estudio se utilizan las últimas. 18 Las turbinas axiales están formadas por uno o varios escalones donde cada uno lo compone un estator y un rotor. El estator está formado por una o varias coronas de álabes montados radialmente, fijos a la carcasa y están dispuestos entre las diversas etapas del rotor; además, tienen menor área de salida que de entrada, por lo cual aceleran los gases hacia el rotor. (6) El rotor está compuesto por una serie de álabes fijos al disco, que gira con el eje del motor debido a la acción del gas que lo atraviesa. (6) A continuación se muestra una imagen donde resaltan las partes de una turbina. Figura 16: Partes de una Turbina (6) 2.3.2 Control de la Turbina. El control de la turbina se efectúa regulando la cantidad de combustible inyectado dentro de las cámaras. Cuando se requiere mayor velocidad se abre más la válvula de combustible y por ende la presión en las cámaras aumenta debido a un mayor flujo de combustible. La consecuencia es un aumento de la corriente de gas, y en definitiva de la velocidad a través de la turbina, la cual se encargará de aumentar la velocidad del eje. (6) En conclusión, la misión principal del control de la turbina es dosificar la inyección de combustible en las cámaras y verificar que éstas reciban la cantidad de combustible necesario en cada momento. 19 Además de ejecutar un control de velocidad, es necesario tener un control de las temperaturas y presiones en las diferentes etapas de la turbina, para que de esta manera no se salgan de los rangos de operación y puedan dañar la máquina. Por ejemplo, la temperatura que sale de la cámara de combustión y entra a la turbina no puede pasar de cierto límite ya que dañaría los álabes de la turbina y en consecuencia afectaría el funcionamiento de todo el equipo. 20 CAPÍTULO 3: METODOLOGÍA Para cumplir con los objetivos específicos planteados y finalmente con el objetivo principal del proyecto, fue necesario cumplir con las siguientes etapas: 3.1 Conocimiento del Hardware Es fundamental, para el desarrollo del proyecto, tener un buen conocimiento del controlador Tricon y su funcionamiento, por lo cual se procedió a estudiar el manual “Tricon Technical Product Guide Version 9.2 System” que fue aportado por la empresa en formato electrónico. En dicho manual se encuentra toda la información necesaria para lograr entender cómo funciona el sistema. 3.2 Adiestramiento en Software Dado que el objetivo principal de la pasantía es hacer una actualización del sistema, donde la etapa más larga y laboriosa consiste en rehacer los programas viejos, que se encuentran en una versión del software Tristation, a una nueva versión; es importante adquirir los conocimientos necesarios para trabajar con los programas. Para lograr la capacitación, se obtuvieron las guías de usuario de ambos programas. Para TriStation Versión 3.1 se contó con el manual “TRISTATION MultiSystem Workstation (MSW) Versión 3.1 User’s Manual” y para TriStation Versión 4.1 se obtuvo el manual “User Guide, TriStation 1131 Developer’s Workbench, Version 4.1” Además, se recibieron los cursos que Invensys ofrece para la capacitación del personal que estará encargado de los controladores y necesitará utilizar el software. 3.3 Desarrollo de Programas Para la actualización de los programas se realizan los siguientes pasos: 3.3.1 Documentación del Programa en TriStation Versión 3.1 Se tiene que obtener de dichos programas todos los datos necesarios para desarrollar los mismos en la versión nueva. La información necesaria es la base 21 de datos, la configuración física del controlador y los programas donde se encuentran las lógicas de control. 3.3.2 Creación y Configuración del Programa en TriStation Versión 4.1 Antes de crear las lógicas se realiza la configuración del sistema con la data que se obtiene de la Versión 3.1. Esto consiste en cargar la base de datos y establecer los diferentes módulos que poseerá cada sistema. 3.3.3 Desarrollo de la Lógica del Programa Una vez que la configuración está lista, se procede a realizar el programa en diagramas de bloque, teniendo como objetivo lograr simplificar la lógica y utilizar las funciones que TriStation 4.1 aporte para resumir el programa. 3.3.4 Pruebas al Programa Cuando el programa esté hecho, es necesario hacerle pruebas que permitan encontrar errores en el momento de programación y finalmente, comprobar que el sistema funciona de manera correcta. Para esto se utiliza un simulador que tiene el software. 3.4 Desarrollo de un Protocolo para el Cambio de las Tarjetas de los Controladores Se creará un protocolo que explique de forma resumida los pasos que se tienen que realizar para hacer el cambio de las tarjetas de los controladores. Este documento se utilizará para que los operadores o técnicos encargados del controlador cuenten con los conocimientos para reemplazar los módulos. 3.5 Desarrollo de un Protocolo de Pruebas para la Lógica en el nuevo Software Se desarrollará un protocolo de pruebas del sistema que será utilizado en las pruebas FAT, donde se probará, en presencia del cliente, el buen funcionamiento del sistema, se realizarán los cambios que el cliente crea necesarios y finalmente se aprobará el equipo y los programas para ser instalados en planta. 22 CAPÍTULO 4: MÉTODOS, PROCEDIMIENTOS, MATERIALES Y EQUIPOS UTILIZADOS. A continuación se presentan los equipos utilizados en el desarrollo del programa, tanto de hardware como de software. Además, se muestran las funciones especiales que se utilizaron en el desarrollo de las lógicas de control. 4.1 Controlador Tricon Un controlador tolerante a fallas es un equipo que identifica y compensa elementos del sistema dañados, y permite la reparación de los mismos sin interrupción del proceso. (7) El Tricon es un controlador tolerante a fallas basado en una arquitectura modular triple redundante (TMR), que consiste en el uso de tres sistemas de control individuales que funcionan en paralelo. Utiliza un sistema de votación dos de tres para la data con la intención de proveer alta integridad, una operación sin interrupciones y libre de errores. (7) El sistema está compuesto por tres procesadores principales que ejecutan la lógica de control en forma paralela, los módulos de entrada y salida, y los módulos de comunicación. A continuación se muestra un esquema de la arquitectura del Tricon. Figura 17: Arquitectura del Tricon (7) Las señales de los sensores son separadas por cada módulo de entrada en tres caminos aislados A, B y C que llevan la medición a un procesador correspondiente. Los tres procesadores se comunican entre ellos por medio de un bus de alta velocidad 23 denominado Tribus; una vez por scan los procesadores se sincronizan y comunican por medio del bus, donde se hace una votación de la data para que los procesadores ejecuten el programa con la misma entrada. (7) Luego de que se ejecuta la lógica de control, el resultado de la misma es enviado a los módulos de salida, donde adicionalmente se realiza otra votación. Esto se hace lo más cercano posible al campo para compensar cualquier error que se haya presentado en los buses o en los procesadores. (7) Para cada módulo de entrada o salida, el sistema soporta el uso de un módulo de repuesto (hot-spare) que tomará el control si se presenta una falla en el principal. Gracias a esto, se pueden hacer reparaciones o cambios de los módulos mientras el sistema permanece en operación. En el anexo 2 se muestran las tarjetas de entrada o salidas con que cuenta el sistema. Para que el Tricon se comunique con equipos externos, se cuenta con los siguientes módulos de comunicación. • Módulo Inteligente de Comunicación Engrandado (EICM): soporta comunicación serial RS232 y RS422. Provee cuatro puertos en los que se puede hacer una interfaz Modbus maestro esclavo, o una conexión con una PC con TriStation. Además, posee un puerto paralelo. (7) • Módulo de Comunicación en Red velocidad de 10 Megabits por (NCM): soporta el estándar 802.3 a una segundo para aplicaciones Triconex. Adicionalmente, el usuario puede comunicarse con este módulo con aplicaciones que manejen los protocolos TCP-IP o TCP-UDP. (7) • Módulo Interfaz de alta velocidad (HIM): Este módulo actúa como una interfaz entre el Tricon y un controlador Honeywell’s TDC 3000 DCS (Sistema de control Distribuido) (7) 24 • Módulo Manager de Seguridad (SMM): Este módulo actúa como una interfaz entre el Tricon y una red universal de control Honeywell (UCN). (7) • Módulo de comunicación Avanzado (ACM): Este módulo actúa como una interfaz entre el Tricon y un equipo DCS Foxboro de la serie automatización Inteligente (I/A). (7) Cada chasis Tricon está equipado con dos módulos de alimentación arreglados en una configuración redundante. Cada uno puede soportar la energía requerida por todos los módulos del chasis. Un sistema Tricon está compuesto por un chasis principal y hasta 14 chasis de expansión o chasis remotos, con lo que se soporta un total de 118 módulos de entrada o salida y comunicación. Los chasis de expansión se conectan con el principal por un bus I/O triplicado de hasta 30 metros; para mayores distancias se utiliza un chasis remoto que cuenta con un módulo de transmisión especial en lugar de los procesadores. (7) Además existen dos tipos de chasis: de alta densidad y baja densidad. La diferencia está en que el primero soporta mayor cantidad de módulos, mientras que el segundo se utiliza cuando la aplicación no requiere tantas entradas y salidas. Un diagnóstico extensivo en cada bus de datos, módulo del sistema y circuito interno del Tricon, que es realizado automáticamente por el equipo, permite detectar y reportar fallas operacionales. Toda la información del diagnóstico es guardada en variables del sistema o anunciada por medio de LEDs que indican una alarma. (7) En el anexo 3 se muestra un Tricon con una configuración de módulos estándar. 4.2 Descripción TriStation MSW V3.1 El TriStation Multi-System Workstation (MSW) es un software utilizado para la programación y mantenimiento del controlador Tricon. Este software es manejado mediante menús basados en MS-DOS. (8) 25 La PC que esté dedicada a TriStation se convierte en la estación de trabajo del Tricon. Se utiliza para desarrollar programas, mostrar estatus del sistema y forzar variables para verificar el funcionamiento del sistema, o para hacer el mantenimiento de equipos en campo. (8) TriStation se maneja por medio de pantallas; cada una contiene un grupo de funciones relacionadas, accesibles con teclas de función. Las pantallas se muestran en el anexo 4. En este software un programa consiste en: • • • Una descripción de la configuración física del Tricon. Tipo de datos para los puntos de entrada y salida, y las variables internas. Un algoritmo de control para lograr una acción deseada. En TriStation se utilizan las ventanas Module Configurator, Dictionary Editor y Ladder Editor para desarrollar los tres pasos mencionados. Después de haber desarrollado el programa, se realizan las pruebas del sistema y el ajuste de los parámetros necesarios para ejecutar la lógica en el Tricon, como se muestra en el anexo 5. En los siguientes puntos se muestra un resumen de las principales pantallas de TriStation para el desarrollo de un programa. 4.2.1 Configuración de Módulos - Module Configurator El Module Configurator es la herramienta de TriStation para la configuración física del Tricon. En él se añaden y configuran los chasis necesarios para el sistema, mediante la selección de las diferentes tarjetas de entrada y salida, los procesadores y tarjetas de comunicación. En la siguiente figura se puede ver una imagen del Module Configurator. 26 Figura 18: Módulo de configurado (8) En la imagen se tiene una sección (MODULE SELECTION) donde se encuentran todos los módulos disponibles, y una imagen de la ubicación de las tarjetas en el chasis (CHASSIS CONFIGURATOR). 4.2.2 Editor del Diccionario - Dictionary Editor El Dictionary Editor es la pantalla de Tristation donde se manipulan las variables del programa de la siguiente manera: • Definir nombres, tipo de data, número de alias, y otros campos descriptivos de las variables. • Configurar variables como entradas, salidas, o puntos de memoria. • Importar y exportar data. Los campos de las variables se muestran en el anexo 6. La asignación de los alias a las variables depende del tipo de variable, además TriStation asigna automáticamente alias a algunos tipos de variables y otras, son dejadas accesibles a modificar por el usuario. En el anexo 7 se muestra la asignación de alias para las variables. 27 4.2.3 Editor Escalera - Ladder Editor El Ladder Editor (Editor de Escalera) es la herramienta de TriStation para el desarrollo de la lógica de control. Permite la combinación de: • Secuencias de código para variables discretas en lenguaje escalera. • Bloques de expresión, especialmente para operaciones matemáticas, control de procesos y otras funciones. • Bloques de texto para comentarios. En la siguiente figura se muestra un ejemplo de un programa en el Ladder Editor. Figura 19: Ejemplo Programa en Ladder Editor Mediante la combinación de código en lógica escalera y código tipo BASIC en bloques de expresión, se puede desarrollar todo un programa que permita el control de un sistema. 4.2.4 Elementos del lenguaje escalera 4.2.4.1 Contactos: Se encuentran definidos los siguientes cuatro contactos que pasan el flujo de control del programa dependiendo de la siguiente representación: 28 —][— Normalmente abierto: pasa el flujo cuando está activado. —]/[— Normalmente cerrado: pasa el flujo cuando está desactivado —]↑[— Transición positiva: pasa el flujo por un scan cuando el valor de la variable cambia de apagado a encendido. Transición negativa: pasa el flujo por un scan cuando el valor de la variable cambia de encendido a apagado. —]↓[— Tabla 4: Contactos estándar TriStation 3.1 (8) Además, están definidos los siguientes contactos de comparación que pasan el flujo de control del programa dependiendo de la siguiente representación: Igual: pasa el flujo si ambos parámetros son iguales. Diferentes: pasa el flujo si ambos parámetros son diferentes. Menor: pasa el flujo si el Parámetro-1 es menor que el Parámetro-2 Mayor: pasa el flujo si el Parámetro-1 es mayor que el Parámetro-2 Menor igual: pasa el flujo si el Parámetro-1 es menor o igual que el Parámetro-2 Mayor igual: pasa el flujo si el Parámetro-1 es mayor o igual que el Parámetro-2 Tabla 5: Contactos de comparación TriStation 3.1 (8) 4.2.4.2 Bobinas Se definen las siguientes bobinas estándar, que activan o desactivan la variable Name según la siguiente lógica: Estándar: activa la variable cuando la bobina se energiza y la desactiva cuando no está energizada Negada: activa la variable cuando la bobina no está energizada y la desactiva cuando está energizada. 29 Latch: activa la variable cuando la bobina se energiza. Una vez que la bobina es energizada, mantiene la variable activada hasta que sea desactivadaza mediante una bobina Reset aplicada a la misma variable. Toggle: esta bobina cambia el estado de la variable durante cada scan mientras la misma está energizada. Cuando la bobina no está energizada mantiene el valor de la variable hasta que se vuelva a energizar, o hasta que es restaurada con una bobina Reset aplicada a la misma variable. Reset: permite restaurar otras bobinas. La bobina tiene que ser aplicada a la variable que se desea restaurar. Las bobinas que se pueden restaurar son: Not, Toggle, Blink, Timer, Up-Counter, Down-Counter y Latch. Tabla 6: Bobinas estándar TriStation 3.1 (8) Además, se tienen las siguientes bobinas complejas que funcionan de la siguiente manera: Timer: esta bobina es un temporizador que incrementa el valor de la variable Accumulator en razón del tiempo de Scan cuando la bobina está energizada. En el momento en que el valor de Accumulator supere al de Timer, la variable Name será activada. Se puede usar la bobina Reset aplicada a la misma variable Name para desactivar dicha variable y poner en cero el valor del Acumulador. Up-Counter: esta bobina es un contador en el cual la variable Accumulator es incrementada en 1 cuando la bobina hace una transición de apagada a encendida. La sumatoria se hace hasta que el valor de Accumulator iguala a Preset; y cuando esto ocurre se activa la variable Name. Se puede usar la bobina Reset aplicada a la misma variable Name para desactivar dicha variable y poner en cero el valor del Acumulador. Down-Counter: esta bobina es un contador decreciente. Inicialmente el valor de Accumulator es igual al de Preset, y se disminuye en 1 cuando la bobina hace una transición de apagada a encendida. La resta se hace hasta que el valor llegue a cero; y cuando esto ocurre se activa la variable Name. Se puede usar la bobina Reset aplicada a la misma variable Name para desactivar dicha variable y poner el valor del Acumulador igual al de Preset. Pulse: esta bobina genera un pulso en la variable Name cuando hace una transición de apagada a encendida. El pulso tiene una duración igual a la variable Duration. 30 Time Delay De-Energize: La variable Name es activada cuando la bobina es energizada. Cuando la bobina pierde la energía, la variable Name permanece activada durante el tiempo que se encuentre en Interval. Si antes de que se termine el tiempo, la bobina es energizada otra vez, la variable Name seguirá activada y el tiempo se reestablecerá. Time Delay Energize: Cuando la bobina es energizada pasará un tiempo igual a Interval para que la variable Name sea activada. Si antes de que termine el tiempo la bobina pierde la energía, la variable Name no se activará y el tiempo se reestablecerá. Tabla 7: Bobinas complejas TriStation 3.1 (8) 4.2.4.3. Bloques de Comentarios Se utilizan para incluir comentarios con la intención de documentar el propósito en cierta parte del programa. 4.2.4.4. Bloques de Expresión Es una función de alto nivel del lenguaje que es ejecutada cuando el flujo del programa llega a él. Se utiliza un lenguaje similar a BASIC para escribir expresiones lógicas y algebraicas, se puede invocar funciones matemáticas predefinidas y funciones de proceso o control. Los operadores que se pueden utilizar se muestran en el anexo 8.a, y en los anexos 8.b y 8.c se muestran las funciones matemáticas y de control predefinidas, adicionalmente existen otras funciones especiales que cumplen roles en la comunicación, configuración del reloj de sistema, establecer una secuencia de eventos, etc. Dentro de los bloques se puede controlar la ejecución de líneas de programa mediante los comandos IF, THEN, ELSE como se muestra en la siguiente figura: 31 Figura 20: Ejemplo Bloque de Expresión (8) Si a es mayor que b se ejecuta la línea “tmrRst=1;”, de lo contrario se ejecuta la línea “tmrRst=0;”. Para controlar la ejecución de un bloque de expresión se coloca un contacto antes del mismo que se encenderá o apagará dependiendo de cierta lógica, y permitirá ejecutar o no, el código dentro del bloque de expresión. A continuación se muestra un ejemplo donde el código del bloque se ejecutará sólo cuando el contacto “Activar” esté energizado. Figura 21: Ejemplo Activación Bloque de Expresión 4.2.5 Documentación En cualquier momento, durante el desarrollo y la evaluación del programa de control, TriStation puede crear impresiones del contenido de la memoria con formato de texto, compatible con Word de los siguientes documentos: • • • • • • Programas en lógica escalera. Reportes del Dictionary Editor. Configuraciones de un bloque SOE Descripción de la configuración de los módulos del Tricon. Listado del estatus del sistema (en pantalla de Diagnostico) Listado de puntos deshabilitados (en Disabled Point Manager en la pantalla Monitor). De esta manera, se puede tener acceso en papel a todas las partes del programa necesarias para realizar la actualización. 32 4.3 Descripción TriStation 1131 V4.1 El TriStation 1131 V4.1 es un software basado en Windows NT para el desarrollo, prueba o documentación de aplicaciones de procesos o control que se ejecutan en un controlador Tricon. (9) Este software cumple con el estándar IEC 1131-3, Estándar Internacional de lenguaje de programación para programar controladores. Donde se establece que el software debe contar con los Lenguajes Escalera, Diagramas de Bloques Funcionales y Texto Estructurado para el desarrollo de los programas. Además, presenta un lenguaje basado en una matriz de causa y efecto. (9) Para realizar una aplicación en TriStation V4.1 se crea un proyecto, en el cual se manejan por medio de ventanas estilo Windows. En el anexo 9 se presenta un esquema con los pasos a seguir para la elaboración de una aplicación y los componentes del software que se utilizan. El diagrama presenta una manera ordenada de realizar una aplicación, pero en cualquier momento se puede configurar el sistema, desarrollar la lógica, etc. El paso 1 consiste en la Partición del proyecto, esto significa que el proyecto se puede separar en varios programas que se desarrollan en cualquiera de los lenguajes. A continuación se muestra una imagen general del software donde, a la izquierda, se pueden apreciar 3 programas creados, Programa_1 en Diagrama de bloques funcionales, Programa_2 en lenguaje escalera y Programa_3 en texto estructurado. Además, del lado derecho, se observan dos ventanas de programas abiertas. 33 Figura 22: Ejemplo programas TriStation 4.1 Se puede crear la cantidad de programas deseados y se les asigna un orden definido por el usuario para la ejecución. Además, dentro de cualquier programa se permite invocar funciones y bloques funcionales que se encuentran en las librerías o que sean definidos y elaborados por el usuario. La diferencia entre funciones y bloques funcionales es que en las funciones sólo se tiene una salida mientras que en el otro se pueden tener varias. Ambos elementos se pueden elaborar en cualquier lenguaje. De esta forma se puede tener, por ejemplo, un programa en lógica escalera que emplee funciones en texto estructurado o diagrama de bloques funcionales. El segundo paso consiste en la escritura del programa, para lo cual se utilizan los lenguajes ya mencionados. A continuación se explican brevemente los tres lenguajes principales. 4.3.1. Diagramas de Bloques Funcionales Es un lenguaje gráfico que se asemeja a un diagrama circuital. Los elementos utilizados se muestran como bloques y se conectan por medio de cables para formar un circuito. El flujo del programa es de izquierda a derecha y por medio de los cables se transmite la información que será procesada por los bloques. (9) 34 A continuación se muestra un ejemplo de un programa en diagrama de bloques donde se hace una operación lógica y una aritmética. Figura 23: Ejemplo lógica en bloques funcionales En este ejemplo primero se actualiza la variable D con el resultado de un OR entre la variable C y el resultado del AND de las variables A y B. Luego, se calcula la variable OUT como IN1 más IN2 entre IN3. Además, se pueden utilizar todas las funciones y bloques funcionales de las librerías que posee TriStation, el cual trae tres librerías preestablecidas que contienen funciones estándar, funciones de control para todas las aplicaciones Triconex. En los anexos 10.a, 10.b, 10.c y 10.d se muestran las funciones de la librería estándar. 4.3.2 Lenguaje Escalera Este lenguaje es similar a cualquier lenguaje escalera, sólo que se definen los siguientes contactos: normal, negado, transición positiva y transición negativa, siendo los últimos dos detectores de flanco, y las siguientes bobinas: normal, negada, poner en uno, poner en cero, transición positiva y transición negativa. El resto de los elementos que no están definidos como en el software TriStation MSW V3.1, se pueden implementar con las funciones de los anexos 10.a, 10.b, 10.c y 10.d. 35 A continuación se muestra un escalera. ejemplo de un programa en lenguaje Figura 24Ejemplo lógica en lenguaje escalera TriStation 4.1 En el ejemplo se hace la operación lógica D = B AND (A OR C) y, en el segundo tramo, al activar el contacto INICIO se activa la bobina E después de un retardo igual al Tiempo dado por la función TDE_I. (Time Delay Energize o Retardo de Tiempo para Energizar). 4.3.3 Texto Estructurado Consiste en un lenguaje de alto nivel similar a PASCAL o Lenguaje C, y principalmente se utiliza para cálculos matemáticos complejos o procedimientos que sean complicados de elaborar en los otros lenguajes. (9) A continuación se muestra un ejemplo de un programa en texto estructurado. 36 Figura 25: Ejemplo programa en texto estructurado Los siguientes pasos consisten en configurar la aplicación para que ésta opere como está previsto. Primero se realiza una configuración del sistema, se comienza editando parámetros del sistema como el tiempo de Scan, clave de acceso, numero de nodo de la red para el Tricon y otros. Luego, se realiza una asignación de espacio de memoria para los diferentes tipos de variables, esto se hace por medio de una herramienta gráfica que se muestra en el anexo 11; por último, se configura el hardware del sistema añadiendo la cantidad de chasis y tarjetas necesarias. Para configurar los chasis, se accede a la opción de configuración de Hardware y se introducen los módulos por medio de una ventana que aparece al seleccionar la opción insertar módulo. Luego se puede observar de forma gráfica cómo queda compuesto el chasis, esto se muestra en el anexo 12. Para configurar los módulos de comunicación también se cuenta con una ventana que expone las posibles opciones de funcionamiento. Finalmente, se puede comprobar que la cantidad de potencia utilizada no supere el máximo permitido. En el anexo 13 se puede ver una imagen del resumen donde la parte verde de la torta corresponde a la potencia libre y la azul a la utilizada. El siguiente paso nombrado Declare Program Instance consiste en realizar la lista del orden de ejecución de los programas. 37 Para terminar el programa, faltaría asignar las variables a los puntos de las tarjetas de entrada y salida correspondiente. Esto se hace accediendo a las propiedades de las variables y seleccionando la ventana de asignación de puntos. De esta manera, un proyecto queda completo y los siguientes pasos consistirían en probar la lógica mediante un simulador con que cuenta TriStation y descargar el programa al controlador para ejecutar la aplicación. 4.4 Librerías Para el desarrollo del proyecto el cliente compró una seria de librerías que permitieran un desarrollo más eficiente de los programas. Las librerías son las siguientes: • Gas Turbine Functions Library GAS410.LT2 – Librería de funciones para turbinas de gas. Posee funciones que facilitan la operación de una turbina de gas como, por ejemplo, la generación de una rampa de aceleración o la detección de termocuplas dañadas. • I/O Funtions Library IO410.LT2 – Librería de funciones I/O. Funciones para manejar las señales de entrada o salida y detectar fallas en las mismas. • Common Functions Library CMN410.LT2 – Librería de funciones comunes. Posee funciones comunes para el manejo de señales como, por ejemplo, funciones que activan alarmas o paros, detección de valores medios, altos o bajos, etc. • Control Function Library CTL410.LT2 – Librería de funciones de control. Está formada por funciones que permiten realizar acciones de control como, por ejemplo, PID, selectores, generación de rampas, etc. Todas las librerías están compuestas por bloques funcionales, y además se cuenta con un documento en formato PDF donde se explica el modo de operación detallado de cada función. 38 El objetivo para el proyecto, consiste en identificar en los programas qué operaciones ejecutadas pueden ser reemplazadas por alguna función con la cual se facilite el desarrollo de las lógicas de operación. A continuación se presenta un breve resumen de las funciones que se decidieron utilizar, el resto fueron descartadas ya que, o no eran necesarias, o al implementarlas complicaban la lógica debido a que presentaban más parámetros y/o comportamientos que sobredimensionan las necesidades del programa. • TCAVG_PAIR02: Este módulo permite calcular el promedio entre 12 pares de termocuplas, donde cada par se coloca en un mismo punto, obteniendo redundancia en la medición para que se siga realizando el control si una de las termocuplas falla. Antes de realizar el cálculo, cada temperatura es comparada con un mínimo y máximo y si no están en el rango establecido son rechazadas. Además, se puede colocar un segundo mínimo que se utilizará sólo cuando la llama esté encendida en la turbina. Finalmente, se comparan las dos termocuplas de cada par y si ambos valores se encuentran separados por más de una cantidad establecida, se rechazan ambas termocuplas. Después que se hacen las pruebas de fallas, se selecciona la temperatura mayor de cada par para realizar el promedio si ambas termocuplas están buenas. En caso de que una falle se selecciona la otra, y si ambas lo hacen el par es rechazado del cálculo. Además, la función aporta información importante como la mayor y menor temperatura entre todas, la cantidad de termocuplas buenas, y también se puede fijar un límite de termocuplas malas, que de ser superado se activará una señal que se puede usar como un paro. • TCAVG_SNGL02: Este módulo permite calcular el promedio entre 12 de termocuplas. Antes de realizar el cálculo, cada temperatura es comparada con un mínimo y un máximo de 39 la misma forma que lo hace la función TCAVG_PAIR02. Además, la función también aporta los mismos resultados complementarios como cantidad de termocuplas buenas, mayor y menor temperatura entre otros. • AI_FailAlm: Esta función permite ver si una entrada analógica asociada a una variable entera, está fuera de un rango establecido por medio de la activación de una alarma discreta. Además, permite la creación de una banda muerta para salir de la condición de alarma. • A_ALARM_1_02: Esta función permite ver si una señal analógica asociada a una variable real está fuera de un rango establecido. El bloque se puede configurar para establecer un límite de rango alto o bajo. Cuando la señal supere o caiga por debajo de la barrera, se inicia un temporizador. Si la señal no ha vuelto a su rango normal cuando se termina el tiempo, se genera una alarma. Al momento de desactivar la alarma, se puede configurar una banda muerta con respecto al valor del límite. • A_ALARM_3: Este módulo funciona de la misma manera que la función A_ALARM_1_02 pero posee como entradas dos señales discretas que tienen que ser verdaderas para que la alarma se active. De este modo, se puede controlar la activación de la alarma independientemente de la señal medida. • A_TRIP_2: Este bloque permite ver si una señal analógica asociada a una variable real está fuera de un rango establecido. Se puede configurar para establecer un límite de rango alto o bajo. Cuando la señal supere o caiga por debajo de la barrera se inicia un temporizador, si la señal no ha vuelto a su rango normal cuando se termina el tiempo se genera un paro. Además, se cuenta con un par de entradas discretas que deben estar en verdadero para que se pueda generar el paro. Una vez que se ha activado el paro, éste permanecerá activado hasta que se active la entrada “reset” del bloque. 40 • LOSEL: Permite seleccionar el mínimo entre 2 ó 6 señales reales, y se coloca en una variable el índice de la señal seleccionada. El resto de las señales que sean mayores al mínimo en una cantidad establecida (OFFSET), son modificadas al mínimo más dicha cantidad (OFFSET). • VPID06: Consiste en un controlador PID estándar de velocidad. Para su configuración hay que introducirle varios parámetros como entradas discretas para establecer si el controlador es P, PI, o PID; el setpoint, el valor proporcional, el integral, el derivativo, una entrada digital que determina si la acción es directa o reversa, entre otros. Mediante la configuración de éstos y otros parámetros, esta función manipula la salida para que sea igual al setpoint utilizando los valores de entonación proporcional, derivativo e integral. • PID_SCALE: Esta función se utiliza para configurar fácilmente una de las entradas del bloque VPID06. • PRAMP02: Permite procesar las variaciones en el setpoint en una forma suave por medio de una rampa. Se establecen, entre otros parámetros, la rata de variación de la rampa, el mínimo y máximo posible. Cuando se desea modificar el setpoint del sistema, se llevará el valor del setpoint, utilizado en el programa, al nuevo valor mediante la rampa establecida y además no permite salirse del rango configurado por el máximo y mínimo. • PR_FLAG: Esta función se utiliza para configurar fácilmente una de las entradas del bloque PRAMP02. 41 • SPD_SELECT03: Permite seleccionar una velocidad entre una y cuatro entradas, y reporta si alguna de ellas está dañada. La selección se basa en la siguiente tabla: Número de entradas 1 2 3 4 Lógica de selección La única entrada. La mayor. La medida del medio. La segunda mayor. Tabla 8: Lógica de selección del bloque funcional SPD_SELECT03 • SRAMP04: Este bloque fue diseñado para procesar las variaciones del setpoint de velocidad de un sistema. Funciona de forma similar a la función PRAMP02, pero ya que está aplicada a un sistema de velocidad de una turbina, donde hay velocidades en que ésta se encuentra en resonancia y pueden ocurrir fallas por vibraciones; en el bloque se definen hasta dos secciones críticas en las cuales el setpoint no puede ser colocado. Si se coloca el setpoint en alguna de las dos regiones, será trasladado hasta alguno de los dos límites de la zona crítica, dependiendo si el cambio era creciente o decreciente. Cuando el setpoint en una variación, tiene que pasar por una de las dos secciones, mientras esté en la misma, la rampa será más pronunciada para que salga de la zona más rápido. La rata de la rampa crítica también es una entrada de la función. • SR_FLAG: Esta función se utiliza para configurar fácilmente una de las entradas del bloque SRAMP04. 42 CAPÍTULO 5: DESARROLLO Es este capítulo se explican todas las acciones y procedimientos realizados para el desarrollo de la actualización de los sistemas de control en las plantas de compresión de gas Tía Juana II y III: 5.1 Documentación del Programa en TriStation Version 3.1 Debido a que el programa TriStation versión 3.1 está elaborado en MS DOS, y no puede ser accedido normalmente desde una computadora de trabajo, fue necesario instalar una máquina virtual para, en la misma computadora, poder tener ambos software funcionando. La máquina virtual empleada para acceder a los programas en la versión 3.1 fue VMware Workstation, la cual soporta múltiples sistemas operativos. Sin embargo, se decidió exportar todos los datos para tenerlos en archivos independientes, a fin de que puedan ser vistos desde cualquier computadora con Windows. Los datos que se necesitan obtener son la base de datos, la configuración física del Tricon y las lógicas de control. A continuación se explica cómo se obtuvieron los datos para todos los programas, ya que el procedimiento es el mismo para cada uno de ellos. 5.1.1 Base de Datos. Para obtener la base de datos se utilizó la herramienta de exportación del software con la cual se escribe en un disquete un archivo con extensión .DPT, el cual contiene una lista general de todas las variables y sus características. También se pueden seleccionar otras extensiones como .XRF, .DUP entre otras, que permiten ver otras características de la base de datos como las variables asociadas a una red o las salidas que son escritas más de una vez en el programa respectivamente. Para realizar la exportación se accede a la ventana “Dictionary Editor” y se ejecutan los siguientes pasos: 43 1. Presionar F10 para limpiar cualquier resultado de alguna búsqueda anterior. 2. Presionar F8 para seleccionar todas las variables que cuadran con los parámetros de búsqueda. Al haber eliminado las opciones de búsqueda en el paso anterior, al ejecutar este comando se seleccionan todas las variables. 3. Presionar F7 para hacer una impresión al disquete. Se crea el nombre del programa donde estará la base de datos y con las flechas del teclado se selecciona la extensión del programa. Seleccionar .DPT. 4. Presionar Enter para realizar la exportación. Los archivos .DPT quedan guardados en el disquete y luego, saliendo de la máquina virtual, se pueden pasar para cualquier carpeta de la computadora. Los documentos son compatibles con cualquier programa de texto como Notepad, Word y también Excel. En el anexo 14 se muestra una imagen de un archivo .DPT abierto con Notepad. 5.1.2 Configuración Física. Al igual que con la base de datos, el software permite exportar la configuración del sistema a un archivo en un disquete. Para realizarlo, se accede a la ventana “Module Configurator” y se siguen los siguientes pasos. 1. Presionar F5 para crear el nombre del archivo que tendrá la configuración. 2. Presionar Enter para realizar la exportación. El documento que resulta es de extensión .CPT y también se puede abrir con programas como Notepad y Word. El archivo está formado por un resumen de los módulos en todos los chasis como se muestra en el anexo 15.a; seguidamente, se presenta detalladamente cómo está configurado cada módulo, en los de entrada y salida se muestran las variables asociadas a cada punto como se observa en el anexo 15.b y en los módulos de comunicación se muestra cómo está configurado cada puerto. En el anexo 15.c se muestra un ejemplo de una tarjeta de comunicación configurada. 44 5.1.3 Lógicas de Control. De igual forma, se puede exportar las lógicas de control. Para esto, se accede a la ventana “Ladder Editor” y se ejecutan los siguientes pasos: 1. Presionar F7 para escribir el nombre que tendrá el archivo con la extensión .LPT. 2. Responder “no” presionando la tecla “n” a la pregunta “Only print networks that need to be downloaded?” (¿Solo imprimir redes que necesitan ser descargadas?). 3. Presionar Enter para realizar la exportación. El documento con la lógicas .LPT también se puede abrir con programas de texto. En el anexo 16 se muestra la imagen de una lógica de control. 5.2 Creación y Configuración del Programa en TriStation Version 4.1 Una vez que se obtuvo toda la data y configuración de los programas en la versión 3.1, se procedió a crear los 16 programas que controlan los equipos en la planta de compresión. Los programas creados son T1A, T2A, T3A, T4A, T5A y T6A para el tren A de compresores; T1B, T2B, T3B, T4B, T5B y T6B para el segundo tren de compresores; T13B1 correspondiente al Sistema de Expansión; ESD para el Sistema de parada de Emergencia de la Planta Tia Juana II; ESDTJ3 para el Sistema de parada de Emergencia de la Planta Tia Juana III; y TJ2YORK2 correspondiente al Sistema de Refrigeración. A continuación se muestra cómo se realizó la configuración de los programas, ya que se siguieron los mismos pasos para todos. 5.2.1 Base de Datos El primer paso para configurar los programas consiste en importar las bases de datos. Para esto, se tienen que crear archivos en Excel con los campos 45 que especifica TriStation 4.1 para las características de las variables, los cuales son: TAGNAME DESCRIP GROUP1 GROUP2 ALIASTYPE ALIASNUM DATATYPE POINTTYPE INITVALUE RETENTIVE CHASSIS SLOT POINT MINSPAN MAXSPAN DECPL Nombre de la variable. Descripción. Grupo 1. Grupo 2. Tipo de Alias (R – lectura, W –escritura, U – sin alias). Número de Alias. Tipo de datos (D – discreto, I – entero, R – real). Tipo de punto (I – entrada, O – Salida, M – memoria). Valor inicial. Retentivo (R – retentivo, N – no retentivo). Chasis. Ranura en que esta el módulo. Punto. Mínimo. Máximo. Número de decimales a mostrar Tabla 9: Parámetros de las variables Luego de tener el documento creado, se procedió a rellenar los campos que fuesen necesarios con los datos obtenidos de la versión 3.1. De esta forma, se armaron las bases de datos para los 16 programas. El único inconveniente fue que muchas de las variables tenían nombres que contenían el símbolo guión ( - ) y en la nueva versión eso no está permitido, por lo cual se decidió cambiar el guión por el símbolo de subrayado ( _ ). Para realizar esto con mayor velocidad, ya que era un gran número de variables que necesitaban ser modificadas, se utilizó la herramienta de Excel reemplazar que permitió hacer el cambio de caracteres. En el anexo 17 se muestra un ejemplo de cómo quedaron las bases de datos en Excel. Finalmente, con los archivos de Excel listos, se procedió a importar las librerías a sus respectivos programas gracias a la opción del software de importar bases de datos. 46 5.2.2 Configuración Física. Con los datos de configuración exportados de los programas en la versión 3.1 del software, se procedió a configurar manualmente cada programa mediante las ventanas de configuración de Tristation 4.1, como se muestra en la explicación de dicho software en el capítulo 4. 5.3 Desarrollo de las Lógicas de los Programas. Antes de comenzar a realizar las lógicas de los programas, se realizó una primera observación detallada de los programas para buscar semejanzas entre ellos, ya que por parte de PDVSA se informó que había programas que cumplían las mismas funciones pero para diferentes gráficas. Como resultado de la revisión se determinó que los programas T1A, T4A, T5A, T6A, T1B, T2B, T5B y T6B cumplen la función de controlar sus respectivas turbinas pero no hacen un control directo de la velocidad, es decir, llevan la turbina desde el arranque hasta el estado normal de operación y cuidan que las diferentes temperaturas y presiones no se salgan de los rangos establecidos. Los programas T2A, T3A, T3B y T4B controlan sus respectivas turbinas implementando un control de la velocidad por medio de PID y otras funciones necesarias; además del control de arranque y temperatura. Estos programas son muy semejantes entre ellos, las diferencias que presentan son con respecto a detalles puntuales como, por ejemplo, que algunos tienen más o menos permisivos para el arranque. Con este conocimiento se pueden hacer programas bases para ambos tipos de funcionamientos y luego aplicar a cada uno los cambios necesarios. Para el programa T13B1 que controla el sistema de expansión, también se utilizará el mismo programa base de control de turbinas sin control de velocidad, pero en este caso los cambios son diferentes al resto de los programas mencionados anteriormente. Los programas ESD y ESDTJ3 también presentaban funcionamientos parecidos, pero se tuvo más cuidado con éstos ya que las similitudes no eran tantas como con los programas de las turbinas y el programa TJ2YORK2 presentaba lógicas completamente diferentes a todos los anteriores. En los siguientes puntos se explicará el desarrollo de los programas para los diferentes tipos de funcionamiento. 47 5.3.1 Control de turbina sin control de velocidad. Para el desarrollo de las lógicas de control, se crearon 9 subprogramas con el objetivo de lograr un mayor orden en la secuencia del programa. Cada subprograma se encargaría de alguna función específica. El primer subprograma se llama “Variables”. En él se le asignan los valores a todas las constantes que se utilizarán en el sistema. Luego, se leen los sensores de temperatura y, los valores obtenidos, se llevan a unidades de ingeniería dividiéndolos entre ocho. Los sensores de temperatura son: tres para la temperatura de descarga del compresor axial, cuatro para la temperatura de escape de la turbina, dos termocuplas para cada cámara de combustión de las seis con que cuenta la turbina, y tres para la temperatura del compresor acoplado a la turbina. El siguiente subprograma se llama “TC_Combustores” y tiene la función de manejar las temperaturas de las cámaras de combustión. Como ya se mencionó, la turbina posee 6 combustores y tiene dos termocuplas por cada cámara; y dado que el primer objetivo es detectar qué señales están buenas se utilizó el bloque funcional TCAVG_PAIR02 que se explicó en el capítulo 4. Con esta función se descartan las termocuplas que tienen valores por encima de 2000º F, o menos de 150º F para el encendido y menos de 700º F para después de terminado el arranque. Además, si la diferencia entre las temperaturas del par es mayor a 150º F se descarta el par de termocuplas. Si hay más de un par malo, se activa una alarma y si el número supera a dos se activa un paro. Luego, se selecciona la temperatura mayor de cada par que haya pasado las pruebas, para asignarlo a la variable que representará la temperatura de su respectivo compresor. Las temperaturas seleccionadas son comparadas con límites altos para determinar alarma o paro, estos valores son 1575.0 y 1650.0 respectivamente. En el caso de la alarma, una vez que sea activada, presenta una banda muerta de 10º F para su desactivación, es decir, se apagará cuando la temperatura caiga por debajo de los 1565.0º F. Para realizar la alarma con la banda muerta de una manera más eficiente, se utilizó el bloque funcional A_Alarm_1_02 explicada en el capítulo 4. 48 El próximo subprograma se denomina “TC_Compresor_Axial” y, como su nombre lo indica, maneja las temperaturas del compresor axial. En éste, al igual que en el anterior, se hace una validación de las temperaturas pero utilizando la función TCAVG_SNGL02, explicada en el capítulo 4, ya que no hay pares de termocuplas. El límite para no validar es 2500º y 0º F, si hay una de las tres dañadas se activa una alarma y en caso de que haya dos se acciona un paro. En el caso de que las tres estén buenas se selecciona la temperatura del medio para los cálculos, y si hay una dañada se selecciona la mayor entre las otras dos. Seguidamente, se creó el subprograma “T_a_traves_combustores” en el cual se calcula la temperatura a través de los combustores restando la temperatura de cada cámara de combustión menos la temperara del compresor axial. Si alguna de estas temperaturas supera los 1150.0º F se activa un paro; y finalmente se verifica si superan los 200.0º F con la intención de poder saber si la llama fue activada ya que, luego en el arranque, esto será importante para determinar si se puede continuar con el encendido de la máquina. El subprograma consecutivo se llama “TC_Escape” y controla la temperatura de escape de la turbina. En él se validan las cuatro termocuplas con el bloque funcional TCAVG_SNGL02 entre los límites 2500º y 0º F. En caso de haber una dañada, se activa una alarma y si hay dos se genera un paro. Con las señales dentro del rango se realiza un promedio para obtener un solo valor, el cual, si supera los 865.0º F, accionará otro paro. Seguidamente, se toma la lectura de presión de descarga del compresor axial y, si la misma está fuera de los rangos establecidos del transmisor que son entre 819 y 4095, se activa un paro, para lo cual se usó el bloque funcional AI_FailAlm explicado en el capítulo 4. Luego se calcula el factor de escape de la turbina que viene dado por la siguiente ecuación: XT_EX=((( 1100 - 3.6 * PT_EP ) -TT_EX ) / 2.50 ) + 50 Donde XT_EX es el factor de escape, PT_EP es la presión de descarga del compresor luego de ser pasada por un bloque de entrada analógica que lleva la 49 señal del sensor a un número real entre 0 y 100, y TT_EX es la temperatura promedio de escape. Si este valor es menor a 38.0 se genera un paro. El último subprograma de manejo de temperaturas se llama “TC_Descarga_Compresor” y evalúa el compresor final. En esta lógica se realiza lo mismo que con el compresor axial mencionado anteriormente. Luego, con la temperatura seleccionada, se activa un paro si supera los 350.0º F y una alarma si pasa los 225.0º F. Para desactivar la alarma existe una banda muerta de 4 grados, es decir, una vez activada la alarma la misma se apagará cuando la temperatura sea menor a 221.0º F. Para aplicar la banda muerta se empleó el bloque funcional A_Alarm_1_02 explicada en el capítulo 4. El siguiente subprograma se llama “Pre_procesamiento” ya que en él se realizan los bypass de las señales antes de ejecutar el control de la turbina. Inicialmente, se cuenta con una lógica que no permite la activación de más de un bypass en el sistema, luego se hace el pre-procesamiento de las variables que se clasifica de la siguiente manera: bypass de las señales de campo que ocasionan paro y se le aplica un retardo de 0.5 segundos para evitar falsos disparos, bypass de las señales de campo que ocasionan paro pero no tienen retardo y por último bypass de las señales que ocasionan paro pero que sólo son utilizadas durante la secuencia de arranque. Dentro del primer grupo, existen dos señales a las que se les aplica retardo pero no bypass, éstas son para la parada de emergencia de la planta y para el paro manual de la máquina. El resto de las señales que se muestran a continuación si llevan bypass: • Paro por alto nivel de depurador. • Paro por baja presión del aceite lubricante. • Paro por baja presión del combustible gas. • Paro por desplazamiento axial del compresor. • Paro por alto nivel de vibración en el compresor. • Paro por movimiento axial local. • Paro por alta presión descarga compresor. • Paro por alto nivel en el filtro de gas del combustible. • Paro por baja presión de succión del compresor. 50 • Paro por sobre velocidad. • Paro por alarma por oleada en el compresor y válvula de recirculación cerrada. En el segundo grupo se encuentran las siguientes variables, las cuales, en su mayoría, son los paros calculados en los programas anteriores: • Velocidad mínima alcanzada. • Paro por temperatura de descarga del compresor. • Paro por termocuplas dañadas en el compresor. • Paro por termocuplas dañadas en las cámaras de combustión. • Paro por alta temperatura de los combustores. • Paro por termocuplas dañadas de temperatura de escape. • Paro por falla del transmisor de la presión del compresor axial. • Paro por alta temperatura de escape. • Paro por bajo factor de escape de la turbina. Al tercer grupo de señales se le hace el bypass con la variable que indica el fin de la secuencia de arranque, estas señales son: • Paro por termocuplas dañadas de descarga de compresor axial. • Paro por alta temperatura a través de las cámaras de combustión. • Paro por ausencia de llama en los combustores. • Baja presión del gas utilitario. • Baja presión de aire en el embrague. Con los resultados de las señales pre-procesadas, se ejecuta el último subprograma denominado “Procesamiento”. Éste es el encargado de realizar las decisiones de control según las señales obtenidas. El programa consta de lo siguiente: primero se selecciona el modo de operación entre las opciones corriendo, girando y aceleración. Luego, se determina si se cumplen todos los permisivos que no permitirían el arranque, que son: • Bajo voltaje DC negada. • Aceite lubricante auxiliar disponible. 51 • Posición del embrague en automático. • Permisivo de ignición de los combustores negado. • Válvula de recirculación abierta. • Presión de succión del compresor normal. • Válvula de combustible cerrada. • Baja presión de aire en el embrague. • Válvula de purga del compresor axial abierta. • Permisivo de cadena. • Válvula de succión cerrada. • Válvula de descarga del compresor cerrada. • Válvula de venteo cerrada. • Baja presión gas utilitario. Debido a que todas estas señales son permisivos de arranque, son sólo tomadas en cuenta antes del mismo por lo cual, en la lógica, el resultado de todas las variables pasa por una compuerta OR con la variable que determina la activación del rele maestro de la turbina, lo que implica que está lista para arrancar. Seguidamente, se evalúan el resto de permisivos para arranque que se tomarán en cuenta durante todo el tiempo de operación. Estos permisivos corresponden a todas las variables pre-procesadas excepto las siguientes cuatro, las cuales no pueden ser tomadas en cuenta para el arranque: sobre velocidad, velocidad mínima alcanzada, paro por ausencia de llama en la cámara de combustión y baja presión de aire en el embrague. Si todas estas variables y el conjunto anterior están en el estado correcto, se activa la variable que representa que los permisivos para arranque están cumplidos. La siguiente en la lógica es activar la variable “Lista” que indica que todos los permisivos están dados y puede darse la señal para arrancar. Esta variable se energiza si los permisivos están dados, se ha seleccionado un modo de operación, y se cumple alguna de las siguientes dos condiciones: el permiso para ignición está negado y no se ha acabado la secuencia de arranque, o el rele 52 maestro de la turbina está activado y no hay baja presión en el embrague. Una vez con todos los requisitos satisfechos, se puede accionar la señal de arranque, la cual sólo será procesada si no hay ninguna señal con bypass en ese momento; y además se tiene un retardo de 5 segundos para mantener la acción de esta señal al activarse ya que físicamente es un pulsador. El siguiente paso consiste en activar el rele principal de la turbina el cual se logra cumpliendo la siguiente lógica: PTS P-BAX2 SELECT PS6 P-PS14 STARTX R4 ---] [-------] [---+---] [---+---]/[---+---] [---+---] [-------------+---( | | | | | | R4 | T-PS7 | | P-PS5 R4 | +---] [---+---] [---+ +---] [---+---] [---+ | | | PS14 | +---] [---+ ) Figura 26: Lógica de Activación del Rele Maestro de la Turbina (R4) La lógica se extrajo del diagrama exportado de la versión 3.1 y su modo de operación es el siguiente, para activar R4 se tienen que cumplir con PTS y PBAX2 y (SELECT o R4) y (PS6 negado o T-PS7) y P-PS14 y (STARTX o R4 y P-PS5 o PS14), donde estas variables representan lo siguiente: PTS: permisivos de arranque cumplidos. P-BAX2: variable preprocesada de paro por ausencia de llama en combustores. SELECT: se seleccionó algún modo de operación. PS6: permisivo para ignición. T-PS7: variable preprocesada de sobre velocidad. P-PS14: variable preprocesada de baja presión de aire en el embrague. STARTX: pulsador de arranque activado con retardo para desactivación. P-PS5: variable preprocesada de velocidad mínima alcanzada. PS14: Baja presión de aire en el embrague. Una vez que se activó el rele maestro, se comienzan a realizar varias acciones. La primera consiste en realizar un ciclo de purga si la turbina está en modo corriendo o acelerando. La purga consiste en inyectar aire en la máquina para hacer salir cualquier gas que haya quedado restante dentro de la misma. Con el rele activado y habiendo gas en la turbina se activa la variable “GIRA” que 53 representa que la turbina está arrancada; y luego, si esta variable está activada y el ciclo de purga se está realizando, se activa la variable “PURGA” que servirá como indicador para los usuarios. Para realizar la purga es necesario abrir algunas válvulas para permitir el flujo de aire, y éstas dependen de ciertas condiciones que se mencionan a continuación: al activar el rele se abre la válvula de control de aceite; la válvula de embrague se abre si hay gas en la turbina de arranque o si el permisivo de ignición no se ha activado pero el embrague se ha activado manualmente o el embrague esté en automático y el rele maestro de la turbina esté activado. Además, se abren otras válvulas cuyas condiciones de activación son más complicadas. Éstas son la válvula de cierre de turbina y la válvula de paso de flujo de la turbina. Para activar la primera se evalúa la siguiente lógica: R4 PS14 PS5 SOV07 ---] [-------] [-------]/[-----------------------+-----------------------( ) | R4 I43BP PS1 PS14 I63GC | ---]/[-------] [-------] [-------] [---+---] [---+ | | | T48X | +---]/[---+ Figura 27: Válvula de Cierre de la Turbina La primera línea indica que la válvula de cierre se energizará si el rele maestro está activado (R4), hay baja presión de aire en el embrague (PS14) y la velocidad mínima no ha sido alcanzada (PS5); la segunda línea representa que el rele maestro no está activo, pero sí el bypass de giro lento (I43BP), baja presión de aceite lubricante (PS1), baja presión de aire en el embrague (PS14) y por último baja presión de succión del compresor (I63GC) o la secuencia de arranque no ha terminado (T48X). La válvula de paso de flujo actúa bajo la siguiente lógica: 54 R4 PS14 PS5 SOV01 I43RUN T148 SOV08 ---] [-------] [-------]/[-------]/[---+---] [---+---]/[---+-------------( ) | | | R4 SOV07 | I43ACEL | | ---]/[-------] [-----------------------+---] [---+ | | | | I43SPIN | +---] [---+---------+ | | | I43BP | +---] [---+ Figura 28: Válvula de Paso de Flujo La parte derecha de los contactos, específicamente los que se encuentran en las últimas dos columnas, representan que el flujo pasará si la turbina está en purga o en modo de giro (I43SPIN) o está activado el bypass de giro lento (I43BP). Además, se tiene que activar la primera parte que consiste en que el rele maestro esté activado (R4) y haya baja presión de aire en el embrague (PS14) y la velocidad mínima no se ha alcanzado y la válvula de combustible se encuentra cerrada (SOV01), o por la segunda línea que especifica que el rele maestro no esté activado y la válvula de cierre esté energizada. Por último, se genera el indicador de embrague activado cuando el rele maestro está accionado, la válvula de cierre está energizada y hay baja presión de aire en el embrague. La siguiente función que se debe controlar en la turbina corresponde con el ciclo de ignición. En principio se da un retardo de 20 segundos después de haber terminado la purga, y luego se controla el rele del transformador de ignición. Para controlar dicho rele primero se activa una variable auxiliar cuando la turbina está en modo corriendo y la purga se ha acabado; con esta variable auxiliar se activa un temporizador de 46 segundos en el cual se debe realizar la ignición, de lo contrario significará que hay algún problema y no se realizará la combustión. De esta manera, el rele del transformador de ignición se energizará si la variable auxiliar mencionada está activada, el temporizador no se ha acabado, la velocidad mínima no ha sido alcanzada y no hay baja presión de gas utilitario. Una vez activado el rele, se abre la válvula de combustible ya que el rele se apagará cuando el temporizador finalice. 55 Con las variables antes mencionadas se generan indicadores que permitirán a los operadores conocer el estado de la turbina, estos indicadores son sistema de ignición activado cuando el rele está energizado; indicación de suministro de gas cuando la válvula se abre; e indicación de presencia de llama cuando el temporizador se ha acabado y no hay paro por ausencia de llama en las cámaras de combustión. La ausencia de llama en los combustores es detectada en el programa “T_a_traves_combustores” antes explicado. El último paso del control de la turbina consiste en determinar si están dados los permisivos necesarios para empezar a generar la rampa de aceleración, que llevará la turbina de 2600 a 5200 RPM. Para activar la rampa de aceleración debe estar accionado el rele maestro, estar activado un permiso de arranque de la rampa, no puede estar activada la variable de cancelado de la rampa de aceleración y el temporizador de fin de la secuencia no debe haber terminado. Para energizar la variable de cancelado de la rampa hay dos posibilidades, la primera es que esté accionado el rele maestro, no se haya activado la variable de inicio de la rampa antes mencionada, el tiempo de purga no haya terminado y no se haya alcanzado la velocidad mínima; la otra opción es que el rele no esté accionado y esté dado el permisivo de ignición de la turbina. Para finalizar la lógica de control, el temporizador de fin de secuencia es activado por la variable auxiliar de ignición y tienen una duración de cinco minutos. Adicionalmente al control, el programa activa dos variables que son para tener un historial de funcionamiento de la turbina. La primera es activada por la variable que indica el embrague y sirve para contar los arranques de la turbina, y la segunda es activada por el auxiliar de ignición y su función es contar la cantidad de horas de operación. Estas dos variables junto con otras como, por ejemplo, algunos permisivos son leídas o enviadas por el DCS que trabaja en la planta junto con el controlador Tricon. Para concluir, el programa posee una lógica de detección de errores. Ésta consiste en asignar un número a una variable cuando ocurre un paro, y este 56 número depende del tipo de paro. Por ejemplo, cuando se da paro por alta temperatura en las cámaras de combustión el número asociado es 10, y cuando se da paro por termocuplas dañadas en las cámaras el número asociado es 11. De esta manera cada paro tiene un número característico que permite saber qué fallo en la turbina. El programa base se realizó para la turbina T1A, y una vez listo, se procedió a incluir las diferencias particulares de los otros programas. En general se tienen 3 modificaciones a los programas de los trenes de compresión, las cuales se resumen a continuación: Se incluye una indicación en las señales con bypass, que representa bajo nivel en el tanque de aceite auxiliar. A esta misma variable se le hace el bypass en el grupo que tiene un retardo de 0.5 segundos para evitar falsos disparos, y por último se incluye también en el programa “Procesamiento” en la parte de permisivos con el resto de su clase. Los programas que poseen esta modificación son T4A, T5A, T6A, T2B, T5B y T6B. El segundo cambio consiste en incluir en “Procesamiento” dentro de los permisivos que sólo son tomados en cuenta antes del arranque, la señal que significa válvula de presurización cerrada. Los programas que la incluyen son T4A, T5A, T6A, T2B, T5B y T6B. El último cambio que presentan algunos programas, es que la variable T_EAS, o variable preprocesada de paro debido a alarma por oleada en el compresor y válvula de recirculación cerrada, tiene la lógica negada, es decir, donde aparece como contacto normalmente abierto se coloca como normalmente cerrado y viceversa. Además, para hacer un retardo en ella, no se utiliza la función TDD (Tiempo de retardo de apagado), sino TDE (Tiempo de retardo de encendido). Los programas que incorporan este cambio son T5A, T1B, T2B, T5B y T6B. 57 Por otro lado, el programa T4A también incluye en “Procesamiento” dentro de los permisivos que sólo son tomados en cuenta antes del arranque, la señal de permisivo válvula VO. 5.3.2 Sistema de Expansión Como ya se mencionó, el programa T13B1 presenta la misma base que los anteriores, pero en éste los cambios son de mayor envergadura, aunque sólo en tres de los subprogramas. Las modificaciones se presentan a continuación: En el subprograma “TC_Combustores”, luego de haber seleccionado la temperatura mayor de cada par y activar las alarmas por alta temperatura, el paro por exceso de temperatura se realiza con el promedio de todos los valores en vez de probar cada par por separado. Adicionalmente, cuando la temperatura de alguna termocupla se desvía con respecto al promedio, en más de una cantidad establecida enviada desde el DCS, se accionan paros, que se clasifican en desvió por encima o por debajo. Estos paros pueden ser habilitados o deshabilitados desde el DCS. El subprograma “Pre_procesamiento” emplea un conjunto diferente de señales, pero sigue realizando la misma función que consiste en implementar los bypass. Inicialmente cuenta con una lógica que no permite la activación de más de un bypass en el sistema; luego se hace el pre-procesamiento de los siguientes tres grupos de variables: señales de campo que ocasionan paro y se les aplica un retardo de 0.5 segundos para evitar falsos disparos, señales de campo que ocasionan paro, pero no tienen retardo y por último señales que ocasionan paro pero que sólo son utilizadas durante la secuencia de arranque. Dentro del primer grupo existen dos señales que se manejan diferente. Al paro manual de la turbina se le aplica retardo pero no bypass, y a la variable permisivos de VO`s no se le aplica ni retardo ni bypass. El resto de las señales que se muestran a continuación si llevan bypass: • Bajo nivel del tanque de aceite auxiliar al sello. 58 • Paro por baja presión del aceite lubricante. • Paro por baja presión del combustible gas. • Alta presión conducto de escape. • Velocidad mayor a 5300 RPM. • Alta temperatura del sistema de aceite caliente. • Alto nivel de succión en la primera etapa. • Alto nivel de succión en la segunda etapa. • Alto nivel de succión en la tercera etapa. • Alto nivel de succión en la cuarta etapa. • Paro por desplazamiento axial del compresor. • Paro por alto nivel de vibración en el compresor. • Paro por movimiento axial local. • Paro por alto nivel en el filtro de gas del combustible. • Paro por sobre velocidad. En el segundo grupo se encuentran las siguientes variables: • Paro por temperatura de descarga del compresor. • Paro por temocuplas dañadas en el compresor. • Paro por termocuplas dañadas en las cámaras de combustión. • Paro por alta temperatura de los combustores. • Paro por termocuplas dañadas de temperatura de escape. • Paro por falla del transmisor de la presión del compresor axial. • Paro por alta temperatura de escape. • Indicación de la posición de la válvula ZS-SOV. Al tercer grupo de señales se les hace el bypass con la variable que indica el fin de la secuencia de arranque, estas señales son: • Paro por termocuplas dañadas de descarga de compresor axial. • Paro por alta temperatura a través de las cámaras de combustión. • Paro por ausencia de llama en los combustores. • Baja presión del gas utilitario. 59 • Baja presión de aire en el embrague. • Alta presión gas ANT. El último programa modificado es “Procesamiento”, en el cual se incorporan nuevos códigos a la lógica. A continuación, se menciona lo que se va haciendo en el programa y sólo se explicarán detalladamente los nuevos códigos. Para iniciar, se selecciona el modo de operación de la turbina entre corriendo, girando y aceleración, luego se realiza el primer código nuevo que consiste en activar una variable si hay paro por emergencia de expansión. Para activarlo, se realiza una votación dos de tres entre las variables de paro por emergencia de expansión 1, 2 y 3; cuya lógica consiste en que si se activan dos variables simultáneamente se accionará el paro. Luego, se procesan los permisivos que sólo son tomados en cuenta durante el arranque. Estas variables son las siguientes: • Bajo voltaje DC. • Bajo voltaje AC. • Embrague en posición automático. • Permisivo de ignición y combustión negado. • Permisivo de alta presión de succión. • Gobernador digital listo. • Baja presión de aire en el embrague. • Válvula de purga del compresor axial abierta. • Permisivo cadena A o permisivo cadena B. • Permisivo alto nivel de aceite en el sello. • Bajo nivel de aceite en el sello. • Baja presión de gas utilitario. • No hay falla de controlador PIC-14. • No hay falla de controlador UIC-27. • No hay falla de controlador D-214. • No hay falla de controlador D-230. • No hay falla de controlador D231. 60 Seguidamente, se procesa la lógica de parada por condición de proceso que, de no fallar, activa la variable de permisivos de VO`s. Para verificar esta condición, primero se ve si las válvulas de succión de las etapas 1, 2, 3 y 4 están abiertas al igual que la válvula de descarga; si esto ocurre se activa la variable de indicación de posición de la válvula ZS-SOV que tiene un bypass en el subprograma “Pre-procesamiento”. Si la variable ZS-SOV está activa, el resultado de la votación por paro de expansión no se ha dado, y si las señales de alto nivel de succión en las cuatro etapas están energizadas, se activa la variable de permisivos VO`s. Luego, se terminan de evaluar los permisivos que siempre se tomarán en cuenta para el funcionamiento de la máquina. Estos permisivos son todos los que se presentaron en “Pre-procesamiento” junto con los siguientes: • Paro por temperatura desviada por encima del promedio de combustores. • Paro por temperatura desviada por debajo del promedio de combustores. • Variable de permisivos de válvula VO`s. • Paro del gobernador digital. • Falla de los controladores antes mencionados menos el PIC-14. Después, se procesa la indicación de que la turbina está lista, se evalúa el estado del pulsador de arranque y se acciona el rele maestro de la turbina sin presentar cambios. Luego, se ejecuta la purga de la turbina en la cual el único cambio es que para abrir la válvula de control de aceite se tiene que esperar un retardo de cinco segundos después de que se acabó la purga. En el ciclo de ignición y combustión, se modifica la forma de activar el rele del transformador de ignición, ahora depende de su variable auxiliar, de que un temporizador de 35 segundos para la acción de las bujías (que comienza cuando la variable auxiliar se energice) esté activo, que haya baja presión de gas utilitario y que la velocidad sea mayor a 5300 RPM. 61 Posteriormente, la válvula de combustible se abre cuando la válvula de control de aceite esté energizada al igual que el rele maestro. Y cuando ésta esté accionada también se abren las válvulas de aislamiento y venteo. Para finalizar este ciclo, se activan los indicadores de ignición, combustión y detección de llama. Luego, se activa el temporizador de fin de secuencia de la misma manera que en el programa base, y se activa un nuevo temporizador, que ahora será el encargado de establecer el tiempo en que las termocuplas de los combustores serán validadas con el mínimo superior de 700º F, en vez de usar el retardo de fin de secuencia como se hacía antes. Este nuevo retardo es de 3,33 segundos. Seguidamente, se activan las variables para contar el tiempo de funcionamiento y el contador de arranques. Luego, se incluyeron nuevos códigos relacionados con los controladores antes mencionados. Dicha parte del programa consiste en activar dos alarmas diferentes cuando el gobernador digital está dañado. Además, se detectan las fallas de los controladores PIC-14, UIC-27, D-214, D-230 y D-231 al activarse las variables que indican que la salida de los controladores está dañada o sus transmisores no sirven. También se coloca al PIC-14 en modo de seguimiento si es indicado por el DCS o el gobernador digital; y por último si el controlador UIC-27 recibe el comando para correr el sistema de parada de emergencia, al resto de los controladores mencionados también se les asigna el comando. Finalmente, se ejecuta la lógica de detección de errores con todas las nuevas señales de paro. 5.3.3 Control de turbina con control de velocidad. Es importante antes de ver cómo funciona este programa, haberse leído el programa de Control de turbina sin control de velocidad, ya que se harán referencias al mismo. Debido a que en estas máquinas se hace un control de velocidad, se han determinado 7 estados o modos de funcionamiento que son necesarios cumplir 62 para llevar a la turbina desde el encendido hasta su condición normal de operación. Estos modos se muestran a continuación: 0 1 2 3 4 5 7 Modo Apagado (Shut Down) Listo (Ready) Purga (Purge) Ignición (Firing) Aceleración (Accel) Calentamiento (Warm Up) Normal / Corriendo (Normal / Run) Tabla 10Modos de Operación de la Turbina Para elaborar el control de estas turbinas se crearon 12 subprogramas. El primero se denomina “Variables” y cumple la misma función que el programa con el mismo nombre en control sin velocidad pero además, se guarda en una variable el tiempo de scan medido en el scan actual. El siguiente subprograma en ejecutarse se llama “TC_Combustores”, el cual maneja las señales de temperatura de las cámaras de combustión, pero lo hace un poco diferente al programa sin control de velocidad. Primero, se detecta cuáles pares de termocuplas presentan diferencias entre sus dos medidas, superiores a 100º F y los resultados son guardados en variables que pueden ser leídas por el DCS. Luego, se guardan en otras variables, que también poseen alias, cuáles termocuplas tienen un valor inferior a 50.0 pero, para activar esta indicación, se ejecuta un retardo de 30 segundos para evitar falsas alarmas. Luego, se utiliza la función TCAVG_PAIR02 para detectar pares de termocuplas dañadas, generar la condición de alarma o paro, y calcular la temperatura promedio de la misma manera que se hizo en el programa sin control de velocidad. Lo siguiente a realizar es ver que la temperatura promedio esté dentro de los límites permitidos, los cuales dependen de la velocidad que tiene la turbina; de esta manera, si la velocidad de la turbina es menor a los 5400 RPM los valores para alarma y paro son 1100º y 1200º F respectivamente, y cuando supera dicha velocidad los valores son 1575º y 1650º F. Con los límites establecidos, se comprueba si la temperatura promedio de los combustores está en el rango permitido, de lo contrario se activará una alarma o un paro receptivamente; la alarma incluye una banda muerta de 10º F utilizando el 63 bloque funcional “A_Alarm_1_02”, como ya se explicó en el control sin velocidad. Seguidamente, se genera una alarma si alguna de las señales se desvía en 100ºF con respecto al promedio, y un paro si se desvía en más de 200º F. Para la alarma también se utiliza la función “A_Alarm_1_02” para aplicar una banda muerta de 10º. Finalmente, se realiza la comparación para detectar llama en los combustores, comparando la temperatura promedio con 250º F, en caso de ser superior la llama existe, esta comparación también posee una banda muerta, pero de 30º. El próximo subprograma se denomina “TC_Compresor_Axial” y es idéntico al programa con el mismo nombre en control de turbina sin control de velocidad. Seguidamente, se ejecuta el subprograma “TC_Escape_Turbina” en el cual se evalúan las termocuplas ubicadas en el escape de la turbina. En estas máquinas, a diferencia de las que no tienen control de velocidad, se utilizan pares de termocuplas como en las cámaras de combustión y se realiza el mismo procedimiento de validación de las señales aplicado a las de los combustores. En resumen, consiste en ver si las medidas de un par son diferentes en más de 100º F, luego ver si las temperaturas están por debajo de 50º F, y por último se hace la validación de las termocuplas con el bloque funcional TCAVG_PAIR02 utilizando los límites de 2000º para alta y 50º para baja. En este caso, si hay un par dañado se genera una alarma y si hay dos se activa un paro. Por último, la función aporta la temperatura promedio de las señales validadas. Luego, se ejecuta el subprograma “Presion_Combustible_gas”. En el cual se leen las dos señales de los transmisores de presión de combustible y se determina si están en el rango establecido de 779 hasta 4218 utilizando la función AI_FailAlm, explicada en el capítulo 4. En caso de no estarlo se activan alarmas, luego las señales de los transmisores son pasadas por bloques que llevan estas entradas a valores reales dentro de un rango establecido que, en este caso, es de 0.0 a 300.0 psig. para la presión del combustible gas y entre 0.0 y 150.0 psig. para la presión de combustible gas de la válvula múltiple. Finalmente, se 64 acciona un paro si la presión del combustible gas es superior a 10.0 psig antes del modo 4 ya que en éstos la turbina no ha empezado el proceso de combustión. Seguidamente, se ejecuta el subprograma “Velocidad” en el cual se obtienen las señales de los dos sensores de velocidad que posee la máquina para determinar las revoluciones por minuto del eje. Primero, se realiza una lógica para desactivar un sensor desde el DCS en caso de que se dañe, esta acción se permite si el otro sensor está activo y luego se puede volver a activar el sensor si la turbina está en modo 0 (apagado). Después, se realiza la selección de la velocidad con el bloque funcional SPD_SELECT03 mostrado en el capítulo 4, donde se selecciona la velocidad más alta; pero además la función permite desactivar un sensor si éste es inferior a un valor establecido. En el programa, esta opción es habilitada cuando la velocidad seleccionada es mayor a los 500 RPM. y el límite para desactivar el sensor es de 200 RPM, es decir, que cuando los sensores superan los 500 RPM no deben bajar de 200 RPM a menos que haya un error o la máquina se apague, por lo cual la opción es deshabilitada en modo cero, dejando así sólo la posibilidad de que sea un error. Se accionara un paro, en caso de que ambos sensores se dañen se acciona un paro. Una vez que se tiene la velocidad seleccionada se realizan varias acciones. Las primeras consisten en activar paros o alarmas según la velocidad, uno de éstos es un paro por baja velocidad cuando la turbina está en modo normal, esto consiste en que cuando la turbina supera los 5600 RPM se habilita la acción de dicho paro que se accionará si la velocidad cae por debajo de 5400 RPM, este paro es deshabilitado cuando la turbina está en modo 0. Otro paro se genera si la diferencia entre los dos sensores es mayor a 50 RPM. Y por último, se considera el problema por alta velocidad, activándose una alarma si se supera los 6600 RPM y un paro si es mayor a 6700 RPM. Las otras acciones a realizar son la activación de banderas que servirán para el control de la turbina. Para el accionamiento de las banderas se usa el bloque funcional A_Alarm_1_02, explicado en el capítulo 4, ya que todas poseen banda muerta de 100 RPM para la desactivación. Las banderas son velocidad mínima alcanzada al llegar 5300 RPM, permisivo de ignición y combustión 65 cuando se superan los 1200 RPM, bandera de turbina por encima de 500 RPM y por último la activación del sensor de transferencia de control de aceite al sello para 2500 RPM. El siguiente programa se llama “Presion_Descarga_Compresor” y evalúa la presión final del compresor axial. En estas máquinas se cuenta con dos sensores de presión y, al igual que con la velocidad, se puede desactivar uno desde el DCS si el otro está activo, además se pueden desactivar si alguno se sale del rango establecido lo cual se evalúa con el bloque funcional AI_FailAlm entre los rangos 779 y 4218. En caso de que esto ocurra, se genera un paro. Las lecturas de los transmisores son pasadas por un bloque que las lleva a números reales entre 100.0 y 0.0 psi., luego se selecciona una de las dos señales de la siguiente manera: si ambos están bien se toma el menor, si uno está malo se escoge el otro, y si ambos están dañados se utiliza el valor de 0.0 psi. Adicionalmente, si ambos transmisores están habilitados pero difieren en más de 5 psi. se genera una alarma con un retardo de un segundo para evitar falsos disparos. Luego, se calcula el factor de escape de la turbina en función de la temperatura de escape obtenida en el subprograma “TC_Escape_Turbina” y la presión de descarga del compresor axial seleccionada. La fórmula para dicho parámetro es: XT_EX = ((( rETMPSP ) - rEXHTMP ) / 2.50 ) + 50 Figura 29: Factor de Escape de la Turbina Donde XT_EX es el factor de escape, rETMPSP es el setpoint de la temperatura de escape y rEXHTMP es el promedio de temperatura de escape. El setpoint mencionado se obtiene del máximo entre (1100-(3.6*CDP)) y 835, donde CDP es la presión de descarga del compresor obtenida previamente. A continuación, se calculan los límites para paro y alarma por alta temperatura de escape, donde el paro viene dado por el máximo entre (1120(3.6*CDP)) y 855; y la alarma es el máximo entre (1130-(3.6*CDP)) y 865. Con estos valores se compara la temperatura promedio de escape para determinar si hay que activar paro o alarma. La alarma presenta una banda muerta para 66 desactivación de 10 psi., por lo cual se utiliza el bloque funcional A_Alarm_1_02. El próximo subprograma creado se denomina “TC_Descarga_Compresor” y es exactamente igual al subprograma con el mismo nombre en control de la turbina si control de velocidad. El siguiente subprograma es “Pre_procesamiento” y se realiza lo mismo que en sin control de velocidad sólo que con los siguientes cambios: al primer grupo de señales se le suma la indicación de bajo nivel en el tanque de aceite auxiliar; en el segundo grupo sólo se utilizan las siguientes señales: • Paro por baja velocidad. • Paro por temperatura de descarga del compresor. • Paro por termocuplas dañadas en el compresor. • Paro por termocuplas dañadas en las cámaras de combustión. • Paro por alta temperatura de los combustores. • Paro por termocuplas dañadas de temperatura de escape. • Paro por falla del transmisor de la presión del compresor axial. • Paro por alta temperatura de escape. Y en el tercer grupo se utilizan las mismas señales menos la de paro por alta temperatura a través de las cámaras de combustión. Después, se ejecuta el programa “Procesamiento” el cual también es muy parecido a como se realizó en sin control de velocidad, por lo cual a continuación se nombrarán las acciones que se realizan y sólo se explicarán en detalle los cambios que se presenten. Primero se selecciona el modo de operación de la turbina, luego, se evalúan los permisivos de arranque que sólo se tomarán en cuenta en el mismo y a éstos se les suma dos variables más que son válvula de presurización cerrada y mínimo RPM para arranque que equivale a 200 RPM, los cuales son aportados por el motor auxiliar de arranque. 67 Seguidamente, se evalúa el resto de los permisivos, en los cuales se elimina el paro por alta temperatura en las cámaras de combustión y el paro por alta temperatura de escape. Y se añaden las siguientes señales: • Paro por baja velocidad • Paro por alta velocidad • Paro por alta presión en la válvula múltiple de combustible. • Paro por desviación en la medida de una termocupla de los combustores con respecto al promedio. Éste se toma como permisivo en todos los modos menos en el 7. • Paro porque ambos sensores de velocidad estén dañados. • Paro por falla en la válvula de combustible. Luego, se activa el indicador de turbina lista, se evalúa el pulsador para arrancar la máquina y se verifica la activación del rele maestro de la máquina. Seguidamente, se ejecuta el ciclo de purga donde los únicos cambios son: ya no se abre la válvula de control de aceite y la activación de la variable “GIRA” depende ahora de que el rele maestro esté energizado y la turbina haya superado los 500 RPM según la bandera activada en el programa “Velocidad”. El rele del transformador de ignición y su variable auxiliar se activan, y luego los indicadores de ignición y combustión. La válvula de combustible se activa igual, pero junto con ésta se accionan las válvulas de control de aceite y venteo. El indicador de llama tampoco presenta cambios. Luego, se procesan los permisivos para generar las rampas de aceleración y se ejecuta el temporizador de fin de secuencia sin presentar cambios, al igual que la activación de las variables para desarrollar el historial de la turbina. Para finalizar, se ejecuta la lógica de detección de errores que ahora incluye a todas las nuevas variables que ocasionan paro. El último subprograma en ejecutarse se denomina “Control” ya que en él es donde se realiza, entre otras cosas, el control directo sobre la velocidad de la 68 turbina. El primer objetivo de este programa es ejecutar el calentamiento de la turbina por cinco minutos cuando ésta supera los 5900 RPM y está en modo 5; al finalizar dicho tiempo se activa una bandera que simboliza fin de calentamiento. El siguiente paso consiste en establecer el modo en que se encuentra la turbina de los correspondientes a la tabla 11 Modos. Sólo se puede hacer un cambio de un modo a otro por scan según el diseño de la lógica, y los modos se activan de la siguiente manera: Modo 0 Apagado Modo 1 Listo Modo 2 Purga Modo 3 Ignición Modo 4 Aceleración Modo 5 Calentamiento Modo 7 Normal / Corriendo El rele maestro esta desactivado. El rele maestro esta energizado y la turbina esta en modo 0. La Bandera de purga esta activada y la turbina esta en modo 1. La bandera de Combustión accionada y la turbina esta en modo 2. Llama en las cámaras de combustión, la variable de inicio de la rampa de aceleración esta activada y la turbina esta en modo 3. La velocidad es superior a 5900 RPM, y la turbina esta en modo 4. La bandera de fin de calentamiento esta accionada, la velocidad es superior a 5990 RPM y la turbina esta en modo 5. Tabla 11: Selección de modo de la turbina Seguidamente, se obtiene el valor del setpoint de velocidad desde el DCS y es procesado con el bloque funcional AI_Fail_Alm, entre los límites 779 y 4218, para ver si el transmisor presenta algún error. En caso de que la señal esté bien, el valor es pasado a un número real entre 6000 y 6500 RPM, y en caso de que el transmisor esté dañado el septoint se coloca en 6000 RPM. Ya que el controlador estará teniendo acción sobre la velocidad en todo momento, el setpoint debe ser diferente según los modos de operación. Según esto, la variable de referencia es actualizada de la siguiente manera: si el modo es menor a 2 el setpoint es cero; si el modo es igual a 2 ó igual a 3 el valor de la setpoint es el mismo al de la velocidad medida, si el modo es 4 ó 5 el setpoint es 6000 RPM, y si se está en modo 7 el setpoint es el enviado desde el DCS. 69 Luego de que se tiene establecido el setpoint hay que procesarlo con cuidado ya que la turbina no puede ser sometida a cambios bruscos. Por ello, el setpoint establecido es pasado por el bloque funcional SRAMP04, explicado en el capítulo 4, el cual lleva el setpoint actual al nuevo valor mediante un crecimiento o decrecimiento moderado según una rampa con una rata de cambio de 30 unidades por segundo. Además, esta función permite establecer el máximo y mínimo posibles del setpoint para respaldar el caso en que se envíe un valor desde el DCS que no esté en el rango permitido. En el programa desde el modo 0 hasta el 5 el mínimo es 0 RPM, luego en el modo 7 se cambia a 6000 RPM, mientras que el máximo tiene un valor constante de 6500 RPM. Y adicionalmente, el setpoint es limitado a no más de 100 RPM por encima de la velocidad actual de la turbina. Los siguientes pasos consisten en realizar el cálculo de la salida del controlador PID a aplicarse a la válvula de combustible; y ya que la velocidad de la turbina afecta diferentes parámetros de la turbina como sus temperaturas en las diferentes etapas, se llevará a cabo el control con de la velocidad con un PID para los diferentes parámetros de importancia. En primer lugar se ejecuta el PID de la velocidad teniendo como setpoint el valor que se obtiene del bloque funcional SRAMP04. Los parámetros proporcional, integral y derivativo son enviados desde el DCS. Luego, se realiza el cálculo del PID tomando como setpoint la temperatura de las cámaras de combustión en 1550º F. En este caso, el parámetro derivativo es cero, el integral es 10 y el proporcional de 1600. Adicionalmente, si la diferencia del setpoint menos la temperatura promedio de los combustores medida es mayor que 50º F, la salida del controlador es modificada a un valor de 100. Seguidamente, se ejecuta el PID tomando en cuenta la temperatura de escape de la turbina y utilizando un valor de setpoint enviado desde el DCS. El parámetro derivativo es cero, el integral es 15 y el proporcional es 1600. Igual que con la temperatura de los combustores, si hay una diferencia mayor a 50º entre el setpoint y la temperatura promedio de escape media, la salida del controlador se modifica por 100. 70 Todos los bloques funcionales que ejecutan el cálculo del PID tienen como entrada, además de los parámetros mencionados, la medida de la variable controlada, el máximo y mínimo posible de la salida, y la relación entre el rango de entrada con el rango de salida. Para todos los bloques se ha fijado que, en modo 7, la salida no puede superar el valor de 97,5 % de abertura para la válvula. Con todos los valores de los PID obtenidos se tiene que escoger uno solo, y la lógica para hacerlo es seleccionar el menor. Esto se hace utilizando el bloque funcional LOSEL, mostrado en el capítulo 4. Pero además, se ejecutan las siguientes acciones, en modo 0 y 1 los valores de salida de los controladores y el seleccionado se colocan en cero; en modo 3 el valor seleccionado es llevado a 17.0, que es el valor de seguridad máximo de apertura de la válvula para encendido de la llama, el cambio de dicho valor es hecho por medio del bloque funcional PRAMP02, explicado en el capítulo 4, que modifica el valor seleccionado gradualmente mediante una rampa con una rata de cambio de 0.3 unidades por segundo. Luego, cuando se detecta un flanco de subida en la bandera que indica que se ha realizado la combustión, los valores de salida de los controladores y el seleccionado son colocados en 6.2. Luego, para un modo mayor a 3, se enciende un indicador dependiendo de qué salida de los controladores fue seleccionada. Existen indicadores para los tres controladores, de esta forma los operadores podrán saber qué parámetro del sistema está haciendo control sobre la velocidad en determinado momento. Adicionalmente a todos los cálculos elaborados, el programa cuenta con una opción que permite compensar la presión sobre el combustible. Esta opción se puede activar desde el panel de control y se basa en lo siguiente: se calcula la salida de un PID para la válvula de combustible múltiple, que tendrá como setpoint el valor seleccionado de los controladores, si la opción está habilitada, y la medida de presión de la válvula de combustible múltiple, obtenida en el programa “Presion_combustible_gas”, si la opción está deshabilita. Este PID tiene el parámetro derivativo en cero, el integral en 10 y el proporcional en 75. 71 Seguidamente, se procesa la habilitación de la compensación si la señal desde el panel de control está activa y la turbina está en modo 5 ó 7. En el momento de habilitar dicha opción, todas las salidas de los controladores se hacen igual a la medición de la presión de la válvula de combustible múltiple, y cuando se deshabilita, todas las salidas se hacen igual al valor seleccionado entre las salidas de los controladores PID de velocidad y temperatura. Finalmente, si la opción está habilitada se selecciona la salida del sistema para la válvula de combustible como la salida del compensador, de lo contrario se selecciona el valor seleccionado entre los tros PID. Cabe destacar que en el programa se colocó una línea que cancela la variable de activación de la compensación, por lo cual no puede ser realizada así se active desde el panel de control. Se asume que se tomó esta decisión por parte de PDVSA para que los operadores no pudieran activar dicha opción; pero no se borró esa lógica del programa para tenerla disponible en caso de que se decida usarla en el futuro. A continuación, en el programa se obtiene una medida de la posición de la válvula de combustible, y utilizando el bloque funcional AI_FailAlm se activa una bandera si la señal del transmisor sale del rango entre 779 y 4218. Posteriormente el valor de la señal es pasado a números reales entre 3.125 y 103.125. Luego se utiliza esta señal para saber que el control se está realizando correctamente, lo cual se hace de la siguiente manera, si la diferencia entre el valor obtenido de campo y la salida del controlador seleccionado difieren en más de 3.0 no se está efectuando el control adecuadamente y se activa una alarma. Además si la señal tiene un valor inferior a 2.0 se activa un indicador que representa que la válvula está cerrada. Finalmente, el valor que se utilizará como salida para el control de la válvula es escalado a valores entre 921.375 y 3992.625, y pasado a números enteros para ser asignado al punto de la tarjeta de salida correspondiente. Para terminar, en el programa se realizan dos acciones. Primero se procesa una alarma que representa problemas con el sistema, la cual se accionará si el 72 chasis 1 ó 2 necesita mantenimiento, esto se puede saber ya que es una variable interna del Tricon; si la llave del chasis pasa a modo 3 que significa remoto; y por último si el tiempo de scan supera los 120 segundos. Segundo, las siguientes variables son copiadas en otras variables con alias para que puedan ser leídas por un datalogger. • Velocidad de la turbina • Salida de control para la válvula de combustible. • Setpoint de velocidad. • Modo de operación de la turbina. • Promedio de temperatura de las cámaras de combustión. • Promedio de temperatura de escape. • Presión del compresor axial. • Salida del controlador PID de temperatura de escape. • Salida del controlador PID de temperatura de las cámaras de combustión. • Salida del controlador PID de velocidad. • Posición de medida de la válvula de combustible. • Presión del combustible. • Presión del combustible en la válvula múltiple. • Paro por falla de la válvula de combustible. • Alarma por posición de la válvula de combustible. • Permisivos de arranque cumplidos. El programa recién explicado corresponde a la turbina T2A. Luego, al buscar los cambios para aplicarlos a los otros programas se encontró que la T3A no presentaba cambios, y las máquinas T3B y T4B sólo presentaban una pequeña modificación que se basa en que el contacto T_EAS o variable pre-procesada de paro debido a alarma por oleada en el compresor y válvula de recirculación cerrada, presenta su lógica invertida, de la misma forma que ocurrió al estudiar los programas sin control de velocidad. 73 5.3.4 Sistema de Parada de Emergencia Antes de proseguir con los siguientes puntos, es importante destacar que su desarrollo se vio dificultado debido a la falta de documentación de los procesos por parte de PDVSA, a causa del cambio de personal en las plantas de Tía Juana. El nuevo personal no cuenta con la documentación detallada de los procesos o no la pudieron aportar a Invensys para el desarrollo del proyecto. En consecuencia, los programas se realizaron tal cual como estaban en la versión en DOS pero no se pudieron introducir mejoras al sistema debido a que éstos presentan el uso de muchas señales y variables que, sin un descriptivo de la planta, no pudieron ser totalmente identificadas; a diferencia de las turbinas, que sin un descriptivo se puede conseguir gran cantidad de información que describa su funcionamiento. Ya que no se incluyeron mejoras en el sistema, a continuación se presenta sólo un resumen del funcionamiento de los programas ESD y EDSTJ3. Para ambos sistemas se creó un único programa donde se ejecuta toda la lógica de control. En éste, se comienza detectando todos los fallos que pueden ocurrir en la planta relacionados a las turbinas, el resto de equipos utilizados, y la potencia de alimentación de la planta. Cuando se encuentra un error, se activa el sistema de parada de emergencia, el cual se encarga de colocar en el estado debido a todas las válvulas y solenoides que manejan las variables de los procesos y de aplicar la parada de todas las turbinas. Posteriormente, se realiza la reposición de la planta, para el programa ESD, que corresponde a la Planta Tía Juana II. La reposición se efectúa cinco minutos después de haber ocurrido el paro y si todas las señales se encuentran dentro de sus rangos establecidos, y se ejecuta en dos etapas. Primero se activan todas las válvulas y solenoides necesarios para el arranque de los procesos, y luego se hace un arranque secuencial de las turbinas empezando por la máquina 1A y seguido por las máquinas 2A, 3A, 4A, 5A, 6A, 1B, 2B, 3B, 4B, 5B y 6B; además se ejecuta el encendido de otros sistemas auxiliares. 74 Adicionalmente, se realiza el mismo procedimiento explicado, pero ahora para el sistema de expansión. Donde se controla una turbina y sus variables relacionadas, y además se verifica el buen funcionamiento del sistema de refrigeración. Finalmente, se ejecuta la lógica de detección de fallos, de la misma manera que en el resto de los programas explicados, asignando un número a una variable dependiendo del paro accionado. De esta manera, se tiene un control de todos los sistemas en la planta para poder llevarla a un estado seguro cuando ocurre un fallo en alguno de los sistemas. Con respecto al programa EDSTJ3, que corresponde a la Planta Tía Juana III, el sistema de parada de emergencia funciona de la misma manera, pero se manejan variables diferentes. El principal cambio corresponde a que la reposición de la planta se ejecuta diez minutos después de ocurrido el paro y si todas las señales muestran buenos valores; y luego se cuenta con catorce turbinas que deben ser arrancadas de forma secuencial, empezando por la 1A y seguido por las máquinas 2A, 3A, 4A, 5A, 6A, 7A, 1B, 2B, 3B, 4B, 5B, 6B y 7B. Finalmente, también se realiza la parada de emergencia para el sistema de expansión de esta planta. 5.3.5 Sistema de Refrigeración. Para este sistema se crearon 3 subprogramas, el primero se llama “AI” y en él se procesan todas las entradas analógicas. Para comenzar se realiza una inicialización de las alarmas de validación relacionadas a todas las señales, lo cual funciona de la siguiente manera, si la variable de inicio INIT esta activada todas las alarmas de validación se colocarán en uno lo cual indica que no hay falla. Luego, se procede a realizar la validación de todas las señales, para esto se creó una función en texto estructurado, ya que la operación que se e va a efectuar a las señales es muy parecida en todos los casos y es más sencilla de elaborar en texto, debido a que contiene los comandos IF y ELSE que no son fáciles de 75 implementar en bloques. La función se llama VACyS por sus siglas en ingles (Validation Alarm Check & AI Scaling) y se muestra en la siguiente figura: Figura 30: Función VACyS Como se observa, la función se ejecuta cuando la variable Activar es verdadera, y en dado caso se realiza lo siguiente, se toma la entrada Input y se compara con las entradas Maximo y Minimo, si no está dentro de este rango se coloca la variable interna contador igual a la variable de entrada contador_in más 1, en caso contrario se hace a contador igual a cero. Luego, si contador es mayor que dos se coloca la variable interna Alarma en falso, y si contador es cero se 76 coloca en la salida Output el resultado del escalamiento de la entrada Input entre los límites AImax y AImin, que son parámetros de entrada. Por último las variables locales contador y Alarma son pasadas a los parámetros de salida contador_out y Alarm_out respectivamente. El sentido de la función es verificar que la señal Input esté dentro de un rango establecido, si no lo está, se incrementa un contador y en caso contrario se coloca igual a cero. Cuando este contador es superior a dos se activa una alarma que en este caso consiste en darle el valor a la salida Alarma falso; y cuando el contador es igual a cero se hace un escalamiento de la entrada entre dos límites establecidos. Con esta función se hace la validación de todas las señales del sistema, para lo cual cada una tiene un contador, una variable de alarma, sus límites de validación y sus límites de escalamiento asignados. En el anexo 18 se observa una imagen de la función desde el programa con sus entradas asociadas. Posteriormente, las salidas escaladas de las funciones pueden ser comparadas con algún límite para establecer una señal de alarma o paro, para lo cual se utilizó la función A_Trip_2 explicada en el capítulo 4, que permite hacer la comparación y ejecutar la acción deseada, además cuanta con las siguientes características: se puede establecer un tiempo de retardo antes del paro, posee una entrada de activación de la función que en este caso será la alarma de validación antes obtenida y posee otra entrada que al activarla automáticamente coloca la salida en falso. Adicionalmente, algunas señales tienen banda muerta para la desactivación del paro, es decir, una vez activado la condición de falla, la señal tiene que descender del valor límite menos la banda muerta si el paro es por alto valor. A continuación se muestra un resumen de todas las señales con sus máximos y mínimos de escalamiento y las condiciones de paro si las tiene, donde BM significa el valor de Banda Muerta más o menos el límite de paro 77 dependiendo si este es por alto o bajo valor, y el retardo ( R ) es de 0.5 segundos para todas las señales menos las que indiquen lo contrario. El máximo y mínimo de validación corresponde al rango de operación de los transmisores que es colocado por el usuario pero generalmente esta entre 819 y 4095. Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Transmisor de presión diferencial de filtros de aire. Max 10.0 Min: 0.0 1 6.0 (A) 2 8 con bypass Presión diferencial filtros de aceite lubricante. Max 30.0 Min: 0.0 1 20.0 /15.0 (A) 2 Presión diferencial filtros de combustible gas. Max 30.0 Min: 0.0 1 20.0 / 15.0 (A) 2 Presión diferencial filtro de sello de gas. Max 40.0 Min: 0.0 1 20.0 / 15.0 (A) 2 Presión diferencial aceite de sello. Max 100.0 Min: 0.0 1 13.0 / 11.0 2 Presión diferencial filtro de aceite Max 100.0 Min: 0.0 1 40.0 / 34.0 2 Presión diferencial aceite lubricante. Max 300.0 Min: 0.0 1 40.0 / 43.0 * 2 Presión diferencial filtro de gas. Max 20.0 Min: 0.0 1 9.0 / 4.0 (A) 2 Presión diferencial del pistón de balance. Max 250.0 Min: 0.0 1 200.0 (A) 2 Presión aceite pre-lubricante de turbina Max 100.0 Min: 0.0 1 8.0 / 11.0 * con bypass 2 Transmisor de presión de aceite lubricante. Max 100.0 Min: 0.0 1 42.0 / 46.0 * con bypass 2 125.0 / 100.0 con bypass Transmisor de presión de combustible gas. R = 2.0 seg. Max 250.0 Min: 0.0 1 152.0 / 165.0 * 2 250.0 / 200.0 Temperatura de aceite lubricante de turbina Max 200.0 Min: 0.0 1 155.0 / 150.0 2 165.0 / 160.0 con bypass Temperatura de cojinete delantero (TE442) Max 300.0 Min: 0.0 1 180.0 (A) 2 220.0 78 Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Paro / BM: Señal Escalamiento: Señal Escalamiento: Señal Escalamiento: Señal Escalamiento: Señal Escalamiento: Señal Escalamiento: Señal Escalamiento: Señal Escalamiento: Señal Escalamiento: Paro / BM: Promedio gases de escape. Max 1800.0 Min: 0.0 1 1190.0 (A) con bypass 2 1230.0 con bypass Temperatura de aceite de reserva (TT-TK) Max 200.0 Min: 0.0 1 135.0 (A) 2 152.0 Temperatura refuerzo del compresor. Max 200.0 Min: 0.0 1 180.0 2 Temperatura de descarga del compresor Max 350.0 Min: -32.0 1 325.0 con bypass 2 Temperatura de aceite drenado de cojinete. Max 250.0 Min: 0.0 1 185.0 /175.0 2 Temperatura de drenado de cojinete delantero del compresor Max 250.0 Min: 0.0 1 185.0 / 175.0 2 Flujo de succión de segunda etapa. Max 100.0 Min: 0.0 Presión de succión de primera etapa Max 100.0 Min: 0.0 Presión de succión de segunda etapa. Max 100.0 Min: 0.0 Temperatura de succión de primera etapa. Max 100.0 Min: 0.0 Flujo de descarga del compresor. Max 100.0 Min: 0.0 Presion de descarga del compresor. Max 100.0 Min: 0.0 Temperatura de descarga del compresor. Max 100.0 Min: 0.0 Temperatura de succión de segunda etapa. Max 100.0 Min: 0.0 Paro por alta temperatura de escape. Max 1800.0 Min: 0.0 1 1170.0 (A) con bypass 2 1370.0 con bypass Tabla 12: Condiciones de Escalamiento, Paro y Alarma (A) En las señales que en la condición de paro presentan un asterisco (*) el paro es por bajo valor, mientras que en el resto es por alto. Y en las que dice con bypass es porque puede obviarse la alarma accionando una variable de bypass desde el DCS. 79 Adicionalmente, la señal del transmisor de aceite lubricante presenta una alarma si cae por debajo de 25.0 con un retardo para su activación de 10 segundos. Esto se realiza con el bloque funcional A_Alarm_3 mostrado en el capítulo 4. Además, la señal de temperatura de aceite de reserva activa un permisivo si esta entre 120.0 y 150.0, de lo contrario lo niega Finalmente, se hace un resumen de todas señales de falla, primero si ocurre alguna alarma de validación se enciende la señal de alarma denominada sumario de alarmas de validación; luego, se efectúa lo mismo para las señales de paro, las cuales no tienen la marca (A) en su nombre en la tabla, si alguna es generada se activa la variable de sumario de paro de entradas analógicas; y para finalizar se genera la variable de sumario de alarmas de entradas analógicas para el grupo de variables que tienen la marca (A) en su nombre en la tabla. El siguiente programa en ejecutarse se denomina “Pre-procesamiento” y realiza las mismas funciones que el resto de los subprogramas con el mismo nombre. Para iniciar se genera la lógica que no permite la activación de más de un bypass a la vez. Luego se realiza un retardo a todas las señales para evitar falsos disparos, y se aplica el bypass a aquellas variables que lo tienen asignado. En la siguiente tabla se muestran las señales utilizadas, su retardo y si tienen bypass. Señal Paro de la T-13 Bajo nivel de aceite Alta presión de combustible gas Baja presión de combustible gas Alta vibración Alto nivel economizador Alta presión de descarga del compresor Alta presión de aceite Baja presión de aceite Baja presión de aceite pre-lubricante Alta temperatura de aceite Alto nivel de succión del depurador Alta temperatura de aceite del compresor Baja presión de succión del compresor Paro por alto nivel de presión diferencial en filtros de aire Paro por alta presión diferencial en aceite de sello Retardo (seg) 0.5 0.5 0.5 0.5 0.5 0.5 0.5 2.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 Bypass 9 9 9 9 9 9 9 9 9 9 9 9 9 9 80 Baja presión de aceite en compresor Cork Paro por alta temperatura de cojinete delantero Paro por alta temperatura en promedio de gases de escape Paro por alta temperatura de refuerzo del compresor Paro por bajo flujo de descarga Detectores de incendio Alta temperatura de descarga del compresor Paro por alta temperatura de escape Temperatura T5 mayor a 350º F Falla de batería o cargador Baja presión de aceite lubricante del compresor Paro por sobre velocidad Paro de emergencia desde TP 50% de velocidad de turbina de potencia Sobrevelocidad 15% de velocidad en productor de gas 60% de velocidad en productor de gas Paro por alta temperatura de cojinete delantero Alto o bajo nivel del tambor Surge. Alto o bajo nivel del Chiller Alto o bajo nivel de depurado del gas combustor Falla purga del Cork 0.5 0.5 0.5 0.5 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 9 9 9 9 9 9 9 9 9 9 9 Tabla 13: Variables preprocesadas York. Para finalizar, se ejecuta el programa llamado “Procesamiento”, en el cual se ejecutan las lógicas que permiten controlar el sistema. Pero en este caso, al igual que con el sistema de parada de emergencia, no se contó con la documentación necesaria para la aplicación de mejoras a las lógicas, por lo cual el programa fue realizado exactamente igual como estaba hecho en la versión 3.1. Ya que no se realizaron aportes para este subprograma y muchas de las señales no están debidamente identificadas, a continuación se presenta sólo un resumen del funcionamiento del programa. El sistema de refrigeración se basa en el control del compresor York, el cual se encarga de generar el aire comprimido que se inyecta en distintos puntos de las turbinas, para que se enfríen las partes que alcanzan mayor temperatura, que en caso de un exceso de calor se pueden dañar. Según lo antes mencionado, en este subprograma se manejan todas las variables que permiten manejar el compresor York. Entre las acciones realizadas 81 se tienen, selección del modo de operación del mismo, que puede ser local, remoto o apagado; confirmación de permisivos de arranque de la unidad; lavado del equipo, lubricación del compresor; desarrollo de la purga; manejo de las válvulas de alimentación de gas; establecimiento de permisivos de aceleración; generación de indicadores de paro y envió de señales al DCS, que permiten conocer el buen funcionamiento de la unidad. Finalmente, el programa emplea la misma lógica que los otros para la detección de problemas mediante la codificación en números del último error detectado. 5.3.6 Verificación del sistema. Adicionalmente, al desarrollo de los programas, se decidió incluir en cada uno de éstos, un subprograma llamado “SISTEMA”, en el cual se realiza la verificación del buen funcionamiento del equipo. Primero se validan todos los puntos de las tarjetas de entrada y salida, para que los operadores puedan enterase cuando un punto ha fallado en el momento. Para esto, se creó una variable que indica si hay problemas en cada una de las tarjetas por Tricon y a la misma se le asignó un alias para que pueda ser leída desde el DCS. También se incluyeron las siguientes variables con alias por cada chasis: • • • • El chasis necesita mantenimiento. La fuente superior del chasis presenta falla. La fuente inferior del chasis presenta falla. Existe un error en alguno de los módulos del chasis. Y por último se introdujeron las siguientes las siguientes variables: • • • • Indicación de cuántas variables han sido deshabilitadas. Al menos uno de los procesadores principales ha fallado o está fuera de sincronización. Hay dos procesadores no sincronizados o fallados, el controlador está en modo simple. IO_MAIN : ha ocurrido una de las siguientes condiciones: o o o Uno de los canales está reportando un error fatal. La comunicación con una de las tarjetas de I/O ha fallado. Al menos uno de los procesadores ha fallado o está fuera de sincronización. 82 • IO_BAD: ha ocurrido una de las siguientes condiciones: o o o o o Un canal de un módulo tiene un error OVD seguido de una falla de procesador. Un canal de un módulo tiene un error OVD y un canal del mismo módulo tiene un error de falla de lectura. Canal "X" de un módulo I/O tiene un error y un procesador "Y" ha fallado siendo x diferente de y. Dos procesadores han fallado o no están sincronizados. Dos canales de un módulo de I/O tienen presentan un error. Donde OVD si refiere al diagnostico de votación de salida. 5.4 Pruebas a los programas A medida que se realizaban las lógicas de los programas, las mismas eran probadas para verificar su buen funcionamiento. Esto se realizó con el simulador que viene incorporado en el software TsiStaion, el cual permite ejecutar el programa y variar los valores de todas las variables para observar los resultados. Además, muestra en colores rojo y verde las variables discretas para su rápida detección. En el anexo 19 se muestra una imagen de un programa en simulación. En la parte superior se realiza una operación lógica AND de tres variables que están en verdadero y presentan el color verde, por lo cual la salida es verdadera; en la parte inferior se hace una comparación para detectar si la variable de arriba es menor que la de abajo, como no lo es, el resultado es negativo y se muestra en rojo; finalmente se hace un OR entre las dos señales y la salida es verdadera ya que una de ellas también lo es. Una vez finalizados todos los programas a desarrollar, se realizó una prueba a cada una de las lógicas en presencia del ingeniero del proyecto. El objetivo principal de esta prueba era la identificación y solución de los posibles problemas que pudieran surgir y obtener la aprobación por parte del ingeniero del proyecto. 83 5.5 Desarrollo de un protocolo para el cambio de las tarjetas de los controladores. El objetivo de esta etapa consistió en elaborar un pequeño protocolo para el cambio de las tarjetas de los chasis del Tricon a fin de que pudiera ser colocado en campo como instructivo para los nuevos operadores. Para el desarrollo del protocolo se tomó una foto frontal de una tarjeta de los manuales del Tricon, ya que no se poseía uno en el momento, y se colocaron los pasos a seguir para su cambio de manera sencilla. 5.6 Desarrollo de un protocolo de pruebas para la lógica en el nuevo software Las pruebas con el cliente se clasifican en FAT y SAT. Las primeras son realizadas en la fábrica o empresa donde se elaboró el proyecto, que en este caso sería en las oficinas de Invensys, y las segundas tienen lugar donde se encuentran los equipos, en este caso, las plantas en Tía Juana. En principio, la meta era elaborar un protocolo que se pudiera utilizar para la realización de las pruebas del software con el cliente sin embargo, se decidió hacer el protocolo para toda la prueba FAT. Para desarrollar el protocolo de la prueba FAT, se tomó uno ya existente para un proyecto anterior y se modificó de forma que se acoplara a los requerimientos de este proyecto. La prueba incluye la revisión tanto del software como del hardware y en el protocolo están escritos todos los pasos a seguir para comprobar el buen funcionamiento del sistema. También se detallan los pasos a seguir cuando se encuentra un error a fin de llegar a un acuerdo entre los representantes de Invensys y los clientes. Una vez terminado el protocolo, en conjunto con el ingeniero del proyecto José Luis Do Nacimiento y el gerente del proyecto, se revisó el mismo para corregir los posibles errores y llegar a una versión final de éste. 84 CAPÍTULO 6: RESULTADOS DEL FAT Luego de haber realizado la revisión del material creado para el proyecto, se obtuvo el protocolo para el cambio de las tarjetas que se muestra en el apéndice A y el protocolo para las pruebas FAT que se presenta en el CD anexo. Posteriormente, PDVSA informó que estaban listos para realizar el FAT de la turbina T5A ya que sería la primera máquina que tendrían disponible para pararla y cargar todos los nuevos equipos. Se decidió hacer dicha prueba en la oficina de Invensys en la ciudad de Maracaibo entre los días 29 de noviembre y 2 de diciembre del año 2005. Por problemas con el envío desde los Estados Unidos de América, en el momento de realizar las pruebas no se contaba con las borneras necesarias para simular las entradas y leer las salidas de las tarjetas, razón por la cual no se pudo probar el funcionamiento de todos los puntos de los módulos. Sin embargo, se llegó al acuerdo de dejar estas pruebas para el SAT y poseer para el mismo dos unidades de cada módulo para cubrir la posibilidad de que uno fallara. Se procedió entonces a realizar las pruebas físicas que se pudieran completar en el FAT y la revisión del programa que es la base de este proyecto de pasantía. Con respecto a las pruebas físicas, se realizaron todas las mencionadas en el protocolo relacionadas al buen funcionamiento del chasis y los procesadores principales, también se comprobó que la tarjeta de comunicación estuviera en buen estado al conectarla con la computadora y lograr una buena comunicación. Por último, para los módulos de entrada y salida sólo se observó que se colocaran en modo activo al ser conectados en el Tricon, lo cual indica que no presentan fallas graves. En relación al programa, el protocolo establece que se revise la base de datos y la configuración del sistema, lo cual se hizo sin ningún problema; luego se procedió a revisar todas las lógicas, página por página del material impreso que se llevó. En esta última etapa los representantes de PDVSA revisaron todo el material y plantearon todas las correcciones al programa que consideraban necesarias; en general los cambios propuestos fueron en su mayoría modificar o incluir comentarios, y el mayor cambio realizado fue sustituir un bloque selector por uno lógico OR ya que de esta manera se entendía mejor la 85 función de la lógica. En conclusión, no se realizó ningún cambio relevante al programa evaluado. Para el último día se presento el programa definitivo con todas las modificaciones implementadas, el cual fue revisado nuevamente por los ingenieros de PDVSA. Posteriormente, se realizó una simulación de todas las lógicas en la computadora para demostrar su buen funcionamiento. Finalmente, se aprobó el programa desarrollado, quedando los representantes de PDVSA satisfechos con el trabajo elaborado y las mejoras implementadas. En el CD anexo se presentan todos los programas del proyecto con los cambios aprobados en el desarrollo de este FAT. En futuras reuniones que están fuera del alcance de este proyecto de pasantita, se realizarán el resto de las pruebas FAT y SAT, y el arranque de las diferentes unidades de las plantas con los nuevos programas y módulos establecidos. 86 CAPÍTULO 7: CONCLUSIONES Y RECOMENDACIONES Para una empresa de la envergadura de PDVSA en nuestro país, resulta de suma importancia mantener todos sus procesos y sistemas actualizados a fin de poder garantizar confiabilidad y continuidad en sus operaciones. Sobre todo en áreas delicadas como la compresión de gas en plataformas ubicadas sobre el lago de Maracaibo, donde el acceso es limitado lo que dificulta el mantenimiento y la resolución de problemas. Además, es vital contar con un sistema de parada de emergencia que en caso de un fallo del sistema, lleve la planta a condiciones estables, ya que por las altas presiones en que se trabaja se podría poner en peligro la vida de los trabajadores y los equipos de la plataforma. Gracias a la experiencia adquirida se verificó la importancia de los PLC en las industrias, ya que en un solo equipo se puede incluir toda la lógica de control de una planta de gran tamaño ya que, debido a la estructura modular que los caracteriza, se pueden agregar diferentes módulos que permiten trabajar con un gran número de entradas y salidas. Adicionalmente, el esquema triple redundante del Tricon presenta una ventaja con respecto a otros controladores ya que su probabilidad de fallo es muy baja puesto que al dañarse una parte del sistema, ésta se encuentra respaldada por otras dos unidades que mantendrán el funcionamiento del equipo. Durante el desarrollo del proyecto se trabajó con los dos lenguajes de programación involucrados y se logró comprobar que, en el caso particular del software TriStation, el lenguaje de diagramas de bloques funcionales presenta más libertad de programación que el lenguaje escalera. Además, resulta más fácil trabajar con las nuevas implementaciones como las librerías que vienen en bloques y que son difíciles de incorporar en lenguaje escalera. La principal recomendación para la elaboración de un proyecto de esta índole es obtener una buena descripción del objetivo de los programas ya que en ocasiones únicamente con las lógicas no es clara la función de las mismas; y éste fue el principal problema durante la elaboración de este proyecto. 87 Por otra parte, se recomienda seguir la metodología propuesta, ya que ésta establece un orden de acción lógico que facilita la temprana detección de errores y optimiza los recursos empleados para la realización de tareas similares. 88 REFERENCIAS BIBLIOGRÁFICAS (1) . Norma ISA – S5.1 (2) . PEREZ Omar. Control Secuencial, Manual del Participante, CIED, Paraguaná 1997. (3) . Tutorial de Controladores PID. Universidad Nacional de Asunción, Facultad de Ingeniería, Mayo 2005 (4) . KUPHALDT, Tony. Lessons in Electric Circuits, Volumen IV Digital, cuarta edición junio 2005. (5) . MATAIX, Clauidio. Turbomáquinas Térmicas. Editorial Dossat. Madrid, España 1973. (6) . SAINZ Valentín. El motor de reacción y sus sistemas auxiliares, octava edición. Editorial Paraninfo. España 2002. (7) . Tricon Technical Product Guide Versión 9.2. Estados Unidos de América 1997. (8) . TRISTATION Multi-System Workstation (MSW) versión 3.1. User´s Manual. Estados Unidos de América 1998. (9) . Developer´s Guide, TriStation 1131, versión 4.1. Estados Unidos de América, Diciembre 2004. (10) . Tricon Planning & Installation Guide Versión 9. Estados Unidos de América 1998. 89 ANEXOS 90 Anexo 1.a: Planta Tía Juana II Anexo 1.b: Trenes de compresión de la planta Tía Juana II 1650 6A 5A 4A Cadena 3A 2A 1A 1B Succión 25 pisg 2B 3B 4 5 Cadena 6B 91 Anexo 2: Módulos del controlador Tricon 92 Anexo 3: Controlador Tricon A. Baterías de respaldo para la memoria H. Ranura de comunicación módulo NCM con B. Conectores a terminadores de campo I. Módulo de entradas analógicas sin respaldo (hot-spare) C. Puertos I/O para expansión J. Módulo de entradas digitales con respaldo (hot-spare) D. Terminal de energía E. Módulos de energía redundante F. Tres procesadores principales G. Ranura de comunicación con módulo NCM K. Módulo de entradas digitales sin respaldo (hot-spare) L. Módulo de salidas digitales con respaldo (hot-spare) M. Módulo de salidas digitales sin respaldo (hot-spare) H. Módulo de comunicación EICM 93 Anexo 4: Pantallas de TriStation versión 3.1 Pantalla File Manager [ALT 0] Ladder Editor [ALT 1] Dictionary Editor [ALT 2] .Module Configurator [ALT 3] SOE Configuration [ALT 4] Setup Manager [ALT 5] Diagnostics [ALT 6] Maintenance Diagnostics [ALT 7] Monitor [ALT 8] Print Manager [ALT 9] Funciones • • • • Cargar y salvar programas. Crear y borrar programas. Descargar programas al Tricon. Cambiar directorios y lista los nombres de archivos accesibles. Editor de programas de lógica de control. • Configuración de parámetros de los programas de control. • Desarrollo de los programas con extensión RLL (Relay Ladder Logic). • Cuadros de programación en lenguaje de alto nivel estilo BASIC. • Acceso a funciones matemáticas y funciones especiales. Permite asignar el tipo de data y nombre a variables del programa. Se puede hacer una búsqueda por medio de ciertos criterios para encontrar una o varias variables. Permite la importación y la exportación de archivos de datos ASCII. Permite especificar los chasis y módulos del Tricon para hacer la correspondencia con la configuración física. Permite la selección de un bloque de variables discretas para que el Tricon las monitoree para detectar cambios de estados, que son conocidos como eventos. • Conecta o desconecta el TriStation del Tricon. • Selección del tiempo de Scan y el Calendario para el Tricon. • Cambio de clave para operaciones protegidas. • Despliegue de status del sistema. • Activa o desactiva el Output Voter Diagnostics (OVD). Despliega el número de versión del firmware y el nivel de revisión del hardware de los módulos en el Tricon. Para monitorear o probar un programa. Permite arrancar, parar, pausar o ejecutar paso a paso un programa. Imprime archivos de texto que estén en la PC. 94 Anexo 5: Desarrollo de un programa en TriStation versión 3.1 95 Anexo 6: Campos de las variables Name (Nombre) Tag Description (Descripción) Group (Grupo) Class (Clase) Type (Tipo) Cha Slot Pt (Chasis Ranura Punto) Power Up DP Alias Min/Max Span Subtype (Subtipo) Nombre de la variable Campo de 12 caracteres para mayor descripción de la variable. Campo de 34 caracteres para hacer comentarios o descripciones de la variable. Para definir un grupo de variables. Para definir la clase de variable, como Entrada, Salida o Memoria. Tipo de la variable: Entero, Discreto o Real Si la variable es una entrada o salida, en este campo se especifica el chasis, la ranura y el punto asociado a la variable. Si la variable es de clase Salida o memoria, en este campo se puede seleccionar que sea retentiva, es decir, que si ocurre un problema de energía, la variable mantenga el estado en que se encontraba antes del fallo. Inicialmente todas las variables están declaradas no retentivas. Número de decimales que se mostraran para una variable real. Permite asignar un número de alias a una variable para que esta pueda ser accedida por un servidor externo. Un servidor externo debe comunicarse con el Tricon por medio de una de las tarjetas de comunicación existentes. Se utiliza solo para las variables reales, y se utiliza para convertir variables reales a enteros para transmitirlos por medio de la tarjeta de comunicación EICM por un enlace Modbus. Max Span es el límite superior de la variable en unidades de ingeniería, y Min Span corresponde al límite inferior. Sirve para definir un subtipo en las variables de medición de frecuencia. Los subtipos son RPM o Velocidad. 96 Anexo 7: Rango de asignación de alias para las variables 97 Anexo 8.a: Operadores de Bloques de Expresión en TriStation versión 3.1 98 Anexo 8.b: Funciones matemáticas de Bloques de Expresión en TriStation versión 3.1 Anexo 8.c: Funciones de control de procesos de Bloques de Expresión en TriStation versión 3.1 99 Anexo 9: Desarrollo de un programa en TriStation versión 4.1 100 Anexo 10.a: Funciones estándar de TriStation versión 4.1 101 Anexo 10.b: Funciones estándar de TriStation versión 4.1 (continuación 1) 102 Anexo 10.c: Funciones estándar de TriStation versión 4.1 (continuación 2) 103 Anexo 10.d: Funciones estándar de TriStation versión 4.1 (continuación 3) 104 Anexo 11: Asignación de espacio de memoria en TriStation versión 4.1 105 Anexo 12: Configuración del chasis en TriStation versión 4.1 106 Anexo 13: Energía utilizada por el chasis en TriStation versión 4.1 Description Program: T1A Group NONRETENTIVE PARO PARO PARO AUX-13 ............ VARIABLE DETERMINACION DE PARO AUX-14 ............ VARIABLE DETERMINACION DE PARO AUX-15 ............ VARIABLE DETERMINACION DE PARO MEMORY DISC CONSTANT NONRETENTIVE -4095.875 VARIABLE NONRETENTIVE MEMORY DISC 12003 MEMORY REAL PARO TRHBAXuu BAX PARO ALTA TEMP COMBUSTORES ............ VALOR TERMOCUPLA MALA (-32767/8) PARO BAD MEMORY INTE NONRETENTIVE NONRETENTIVE NONRETENTIVE RELE DEL TRANSFORMADOR DE IGNICION SECUEN MEMORY DISC 12039 AUXPARO ............ VARIABLE AUXILIAR CAUSA DE PARO PARP AUX88 YR-88Xuu AUX-15A ............ VARIABLE PARA SELECCION CAUSA PARO PARO MEMORY DISC MEMORY DISC NONRETENTIVE NONRETENTIVE AUX-12 ............ VARIABLE "CHEQUEO" DE PERMISIVOS PERMI MEMORY DISC MEMORY DISC NONRETENTIVE PERMI MEMORY DISC NONRETENTIVE AUX-11 ............ VARIABLE CHEQUEO DE PERMISIVOS ON-LINE MEMORY DISC 12034 ON-LINE INPUT DISC 10061 1 2 29 --------------- BYPASS AUXILIAR DE APDIC INPUT DISC 10013 1 1 13 --------------- VARIABLE NONRETENTIVE APDICBP ............ BYPASS A/P DESCARGA COMPRESOR APDICBA YR-DICuu ALTA PRESION DESCARGA COMPRESOR PARO SECUEN MEMORY INTE NONRETENTIVE Type Alias Rk Sl Pt Value @ Powerup DP MinSpan MaxSpan PERMI MEMORY DISC Class ACU148 ............ ACUMULADOR DEL TIMER T148 APDIC PSHDICuu Page 1 Var/Cons Constant Value Version: 38.1 A-PTS ............ VARIABLE AUXILIAR DE PTS Name Tag Dictionary Entries 107 Anexo 14: Archivo exportado .PDT de la base de datos 108 Anexo 15.a: Archivo exportado .CPT con la configuración física I/O Configuration Chassis 1 of 2 Program: T1A Version: 38.1 Chassis 1 2 3 4 2 of Discrete Input, 115 VAC/VDC Discrete Input, 115 VAC/VDC Discrete Output, 120 VDC ICM 2 1 2 3 4 5 Part # Inputs Outputs 3501 3501 3603 4101 32 32 0 0 0 0 16 0 Type: Lo Density Exp. - TMR Chas Slot Module 2 2 2 2 2 1 Type: Lo Density Main - TMR Chas Slot Module 1 1 1 1 Page Isol TC Type K dg F DnS Isol TC Type K dg F DnS Enh Isol Analog Input, 0-5VDC,UpS (not configured) (not configured) Part # Inputs Outputs 3708E 3708E 3703E 16 16 16 0 0 0 109 Anexo 15.b: Archivo exportado .CPT con la configuración detallada de cada módulo I/O Configuration Program: T1A Version: 38.1 Page 2 Chassis: 1 Slot: 1 Discrete Input, 115 VAC/VDC, 32 points Model 3501/3501E Module Configuration is up-to-date to TRICON Pt Type Class Name Tag Description Group 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 PS1 PS5 PS6 PS7 PS9 PS14 PS15 ------I33FTP I33S I63GC I94X APDIC I33VD VBTC MCS MVAXIAL ------I43RUN FS-E2 ------YS-FEAS ------------PS2A PS14A PS15A I4S I27 I80 I63GE I33RV PS-1uu PS-5uu PS-6uu PS-7uu PS-9uu PS-14uu PS-15uu BAJA PRESION ACEITE LUBRICANTE VEL. MIN. ALCANZADA. PERMISIVO IGNICION Y COMB. SOBREVELOCIDAD BAJA PRESION GAS COMBUSTIBLE BAJA PRESION AIRE EMBRAGUE GAS TURBINA DE ARRANQUE PARO PARO SECUEN PARO PARO PARO SECUEN LSHFTPuu LSH33Suu PSL63GCuu YS-94Xuu PSHDICuu VS-VDuu VS-BTCuu YS-MCSuu VS-MVAXIALuu ALTO NIVEL FILTRO GAS COMBUSTIBLE ALTO NIVEL DEPURADOR ETAPA BAJA PRESION SUCCION COMPRESOR PARO DE EMERGENCIA PLANTA ALTA PRESION DESCARGA COMPRESOR DESPLAZAMIENTO AXIAL DEL COMPRESOR ALTO NIVEL VIBRACION COMPRESOR PARO MANUAL DE LA MÁQUINA MOVIMIENTO AXIAL LOCAL PARO PARO PARO PARO PARO PARO PARO PARO PARO YS-RUNuu CABLEADO SELECTOR DE OPERACION POS. RUN COMPRESOR EN SURGE ALARMA EAS-2B SECUEN PARO CABLEADO ALARMA FALLA EAS PARO PS-2Auu PS-14Auu PS-15Auu YS-4Suu ESL27uu ESL80uu PS-63GEuu ZS-RVuu PERMIS. ARRANQUE RAMPA ACELERACION BAJA PRESION AIRE EMBRAGUE BAJA PRESION GAS UTILITARIO PERMISIVO DE CADENA BBA AUX ACEITE LUB DISPONIBLE BAJO VOLTAJE DC PRESION DE SUCCION COMPRESOR VALVULA DE RECIRCULACION ABIERTA PERMI PERMI PERMI PERMI PERMI PERMI PERMI PERMI INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU INPU DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE DISCRETE 110 Anexo 15.c: Archivo exportado .CPT con la configuración detallada de un módulo de comunicación I/O Configuration Program: T1A Version: 38.1 Page Chassis: 1 Slot: 4 EICM (Intelligent Communications Module) Model 4101 Module Configuration is up-to-date to TRICON Point Configuration is up-to-date to TRICON Port Protocol 01 02 03 04 05 06 07 08 09 10 Modbus Slave Addr Baud Data Stop Rate Bits Bits Parity 1 9600 Unconfigured Unconfigured TRISTATION Unconfigured Unconfigured Unconfigured Unconfigured Unconfigured Unconfigured 8 1 Modbus Min Max ODD 0 9999 5 111 Anexo 16: Archivo exportado .LPT con las lógicas de control Ladder Logic Network # 103: Program: T1A Size: Version: 38.1 Page 23 99 bytes +===========================================================================+ |SELECTOR DE MODO DE OPERACION DE LA TURBINA | +===========================================================================+ I43RUN SELECT ---] [---+---------------------------------------------------------------( ) | I43SPIN | ---] [---+ | I43ACEL | ---] [---+ Network # 104: Size: 139 bytes +===========================================================================+ |LOGICA DE PERMISIVOS DE ARRANQUE | +===========================================================================+ I80 I27 I43V3A PS6 I33RV I63GE ZS1 AUX-11 ---] [-------] [-------] [-------]/[-------] [-------] [-------] [-------( ) Network # 105: Size: 139 bytes PS14A ZS2 I4S I33S2 I33D2 I33V2 PS15A AUX-12 ---] [-------] [-------] [-------] [-------] [-------] [-------] [-------( ) Network # 106: Size: 99 bytes AUX-12 AUX-11 A-PTS ---] [-------] [---+-----------------------------------------------------( ) | R4 | ---] [-------------+ 112 Anexo 17: Base de datos en Excel 113 Anexo 18: Función VACyS 114 Anexo 19: Ejemplo de un programa en simulación 115 APENDICE A Protocolo para el cambio de tarjetas en el controlador. UPGRADE CPUs TRICONEX PCTJ-2 & PCTJ-3 Protocolo para cambio de módulos del Tricon A continuación se presentan los pasos a seguir para cambiar un módulo tomando cono ejemplo la tarjeta de entrada y salida mostrada a la derecha. Tenga en cuenta que no es necesario parar el funcionamiento del sistema para el reemplazo de un procesador principal o un módulo de entrada y salida. Cambio de módulo: • Destornille los tornillos retráctales superior e inferior del módulo que será cambiado. • • Hale el módulo y hasta sacarlo del chasis. Antes de insertar el nuevo módulo revise que todos los pines estén en buenas condiciones, si alguno esta doblado o roto no introduzca el módulo ya que puede afectar el funcionamiento del Tricon. En caso de encontrar un módulo dañado regréselo a Triconex para su reparación. Anote el serial del nuevo módulo para que este disponible en caso de alguna falla. Introduzca el módulo suavemente haciendo que calce en las rendijas superior e inferior. Lleve el módulo a su posición final y atornille los tornillos retráctales. • • • Recomendaciones: 9 Si hay más de un problema en los módulos del chasis, y uno de ellos corresponde a un procesador principal, siempre reemplace primero el procesador antes de cualquier otro módulo. 9 Para un funcionamiento optimo, guarde los módulos de reserva en los espacios de respaldo del Tricon si esta disponible. El Tricon prueba los módulos de respaldo cada 2 horas. UPGRADE CPUs TRICONEX PCTJ-2 & PCTJ-3 Protocolo para cambio de módulos del Tricon Casos particulares: ¾ Procesador Principal: Asegurase que al momento de hacer el cambio, quede al menos uno de los procesadores activo. Lo cual se puede observar en la indicación luminosa ACTIVE que presentan todos los módulos como se observa en la tarjeta I/O mostrada. Después de hacer el cambio el indicador de autodiagnóstico aprobado (PASS), mostrado en el ejemplo, se encenderá entre uno y seis minutos, luego el indicador de activo se iluminará y empezará a parpadear con la misma frecuencia que los otros procesadores, después de uno a seis minutos. ¾ Módulos de entrada y salida: • Sin módulo de respaldo: Primero introduzca el nuevo módulo en el espacio de respaldo, y cuando este encienda la indicación de listo, proceda a remover el módulo a cambiar. La indicación de superada el autodiagnóstico aprobado (PASS) se activará en aproximadamente un minuto. Y la indicación de activo lo hará de uno a dos minutos después. • Con módulo de respaldo: Realice el reemplazo del módulo dañado de manera normal. Los tiempos de activación son iguales a los mencionados en el caso de no tener mñodulo de respaldo. ¾ Módulo de comunicación EICM: Recuerde que esta unidad no tiene la capacidad de tener un módulo de respaldo. Desconecte todos lo cables de conexión y proceda a sacar el módulo. En la nueva tarjeta ajuste el selector para RS-232/422/485 de la misma manera que estaba en el que se esta cambiando. Finalmente introduzca el nuevo módulo. El tiempo para la indicación de autodiagnóstico aprobado es aproximadamente un minuto, y para la de activo es entre uno y dos minutos.