Edo. Zulia

Anuncio
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.
Descargar