CONTROL Sistemas SCADA Proyecto final Rev. B. Fecha de actualizacin: 29 de enero de 2014. Fecha de entrega: Hasta el sbado 5 de abril de 2014. Nota: Este documento est sujeto a cambios que sern avisados via correo electrnico.
Tema: DESARROLLO DE UN SISTEMA SCADA COMPLETO PARA UNA PLANTA CUYO PROCESO ES SIMULADO.
Objetivo General: Aplicar la mayor parte de conocimientos adquiridos en la materia, incluyendo aportes de otros cursos en el programa de maestra.
Requerimientos Previos (presentar en informe escrito): - Descripcin del proceso escrito en texto. - Filosofa de operacin. - PFDs. - P&IDs. (Completo). - Diagramas de lazo. - Matriz causa-efecto. - El proceso debe incluir: Al menos tres tipos de mediciones analgicas (con escalas configurables para distintos tipos de variables. (P.Ej. Presin, temperatura, flujo, nivel, concentracin, velocidad, vibracin) Al menos un tipo de medicin digital. Incluir al P&ID switches de cualquier variable alta y baja. Al menos tres tipos de actuadores: o Motor. Con instrumentacin de proteccin. o Vlvulas de corte. o Vlvulas de control. (controladas con salidas analgicas).
Distribucin de recursos:
CONTROLADORES: Generalidades: - Programacin de controlador de procesos y seguridad en ladder. - Controladores de procesos y seguridad deben usar recomendaciones de programacin revisadas en el curso. - La comunicacin entre el controlador de procesos y seguridad debe ser mediante tags producidos y consumidos. -La comunicacin con el controlador de simulacin debe ser mediante mensajes.. - Controlador de simulador debe tener al menos una rutina en lista de instrucciones.. - Controlador de simulador debe tener al menos una rutina en SFC. Host 1 VM1 - Simulador de proceso. (Programa en PLC). - Generador de eventos (HMI local) - Cliente 1 HMI.
VM2 - Controlador de Procesos - Controlador de Seguridad. - Servidor HMI (distribuido) - Servidor de datos - Cliente 2 HMI.
Red Virtual BDD ETH Host 2 VM3 - Cliente 3 HMI. Smart Device (Tablet o telfono) Visualiza Cliente 3 HMI Internet - Todo programa debe estar exhaustivamente comentado. - Se debern usar las UDT necesarias de acuerdo al tipo de variable. Se recomienda tomar en cuenta la especificacin segn anexo I. - Programar las alarmas de acuerdo a la mquina de estados de la norma ISA-18 revisada en curso. Incluir banda muerta y tiempo muerto. - Programar los sistemas de interbloqueo, seguridad y permisivos en el controlador de seguridad. - Incluir un lazo de control proporcional de nivel de un tanque controlado por apertura de vlvula que deber simularse de acuerdo al siguiente criterio: SP: 20. Cuando PV=SP el porcentaje de apertura (CV,Control Value) de una vlvula de control debe ser 50%, si PV=30, se abrir el 100%, si PV=20 se abrir un 0%(cerrada). Entre estos puntos, debe haber un comportamiento lineal. En la simulacin PV ser controlada por un slider en el generador de eventos. -El tanque tiene switch de bajo nivel. Si el nivel de la lnea de salida es inferior a las 20 (por falla en la vlvula de control, por ejemplo) (con el slider) se activar y cerrar una vlvula de corte que deber estar a la salida de la lnea.
Se puede hacer el lazo de control de otra variable siempre y cuando contenga los mismos elementos y requerimientos
- El programa de seguridad debe incluir una rutina de matriz causa efecto.
HMIs: - Sistema supervisorio distribuido. - Al menos cuatro pantallas de proceso basados en los P&IDs. - Garantizar navegacin lgica. - Pantalla con tendencias a tiempo real e histricas. - Banner de alarmas. - Pantalla de sumario de alarmas. - Datalogs en base de datos (BDD) que residir en el host (No en mquina virtual). Esta puede estar programada en MSAccess, SQL, MySQL u Oracle. - Animaciones de alarmas en cada instrumento segn estados de ISA-18. - Sets de alarmas configurables para cada instrumento. - Posibilidad de inhibir las alarmas. (Cuando no necesito una alarma, P.EJ en un instrumento solo necesito la alarma de HH y no las de L y LL. en este caso, los setpoints y las animaciones de alarmas no deben funcionar) - Posibilidad de bypass (indicacin y comando). El bypass no inhibe las alarmas sino solo la accin. - Animacin de Primera alarma (First Out). - Modificacin de setpoints de alarmas HH y LL (o las necesarias), o de instrumentos digitales. El bypass suspende el efecto de la alarma, pero no su animacin. - Pantalla Overview. - Se tomar en cuenta calidad de pantallas en cuanto a diseo. - Botn de cierre de aplicacin. - La resolucin de la aplicacin distribuida debe ser la de pantalla completa. - Implementar seguridades de tres niveles: o Operador (solo visualiza). o Supervisor de Instrumentacin (solo visualiza y pone bypass). o Ingeniero de automatizacin (visualiza, pone bypass y cambia setpoints). - El HMI deber ser monitoreado a travs de un dispositivo mvil inteligente (telfono o tableta)
Comunicaciones: - Comunicaciones entre mquinas en una subred diseada para 30 hosts. - Justificar el tipo de comunicacin que se implementara si el proceso fuera real. - Explicar detalladamente el proceso de comunicaciones utilizado en el proyecto (segn modelo OSI). - Realizar un diagrama de redes de comunicaciones donde conste el modelo de comunicaciones y esquemas. P.Ej. Entre qu equipos se usa el modelo cliente-servidor?
Criterios adicionales generales a calificar: - Arquitectura. - Funcionalidad de simulador. o Incluye todas las variables requeridas. o Las variables requeridas son del tipo correcto. o Generador de eventos (HMI en panel local) funcional. - Funcionalidad de PLC de procesos. o Se hace control de procesos. - Funcionalidad de PLC de seguridad. o Se hace control de seguridad. - HMI contiene animaciones de variables y alarmas (Incluir funcionamiento en la simulacin. P. Ej. Si envi un comando de apertura de una vlvula, esta se debe abrir en el simulador si es que hay permisivo). o Popups. o Variables anlogas. o Variables digitales. o Vlvulas de corte. o Vlvulas de control. o Motores.
Informe: - Debe constar en detalle el cumplimiento de requerimientos de programacin de controladores y HMI. - Se debe incluir el anlisis de performance, y un diagrama de tiempo de ejecucin de tareas del PLC de procesos. - Arquitectura completa y detallada. - Lista de seales.
Defensa: - 20 minutos con gua de instruccin.
Anexo I. UDTs de Controladores TAGS Se deber crear las siguientes estructuras de datos (user-defined data type) a ser utilizadas en los programas sin desmedro de otras que eventualmente sean necesarias: AnalogValue Area DiagPLC DiagRIO DigitalAlarm DigitalOutput Location MCMModuleDef Pump PumpStatus Test Valve Estas deben tener un alcance de controlador y no de solamente de programa.
AnalogValue. Este tipo de dato se utiliza para caracterizar los componentes de una variable analgica. Estos son: PVRaw. (Decimal, Simple Entero) Representacin numrica del valor bruto de la seal que entra a la tarjeta antes de ser tratada. Este valor depende de la resolucin de la tarjeta. DebPre. (Decimal, Simple Entero) Valor de tiempo en milisegundos por defecto en los que un valor fsico de una variable debe mantenerse antes de disparar una alarma. HHSP. High High Set Point. (Flotante, Real) Valor de referencia Muy Alto. HSP. High Set Point. (Flotante, Real) Valor de referencia Alto. LSP. Low Set Point. (Flotante, Real) Valor de referencia Bajo. LLSP. Low Low Set Point. (Flotante, Real) Valor de referencia Muy Bajo. PV. (Flotante, Real) Valor de la variable fisica. MinEU. Minimum Engineering Units. (Flotante, Real). Valor mnimo que toma la variable fsica en unidades de ingeniera. MaxE. Maximum Engineering Units. (Flotante, Real). Valor mximo que toma la variable fsica en unidades de ingeniera DeadBand. (Flotante, Real). Banda muerta. Banda de valores alrededor de un valor de referencia de alarma en los que una seal no produce un efecto como el disparo de dicha alarma. STAT. (Decimal, Simple Entero) Estado del instrumento (si disponible en instrumento) . HHBypEnCmd. High High Bypass Enable Command. (Decimal, booleano) Comando de habilitacion de Bypass de alarma en valor Muy Alto. HHBypDisCmd. High High Bypass Disable Command. (Decimal, booleano) Comando de deshabilitacion de Bypass de alarma en valor Muy Alto. HHBypStatus High High Bypass Status. (Decimal, booleano). Estado de Bypass de alarma en valor Muy Alto. LLBypEnCmd. Low Low Bypass Enable Command. (Decimal, booleano) Comando de Habilitacin de Bypass de alarma en valor Muy Bajo. LLBypDisCmd. Low Low Bypass Disable Command. (Decimal, booleano) Comando de deshabilitacin de Bypass de alarma en valor Muy Bajo. LLBypStatus. Low Low Bypass Status (Decimal, booleano). Estado de bypass alarma en valor Muy Bajo. FirstOut. (Decimal, booleano) Primer disparo. HAkd. High Aknowledged. (Decimal, booleano) Alarma en Alto reconocida. HHAkd. High High Aknowledged (Decimal, booleano) Alarma en Muy Alto reconocida. LLAkd. Low Low Aknowledged (Decimal, booleano) Alarma en Muy Bajo reconocida. LAkd. Low Aknowledged (Decimal, booleano) Alarma en Bajo reconocida. HNAkd. High Not Aknowledged. (Decimal, booleano) Alarma en Alto no reconocida. HHNAkd. High High Not Aknowledged. (Decimal, booleano) Alarma en Muy Alto no reconocida. LLNAkd. Low Low Not Aknowledged. (Decimal, booleano) Alarma en Muy Bajo no reconocida. LNAkd. Low Not Aknowledged. (Decimal, booleano) Alarma en Bajo no reconocida. HHAlm. Hihg High Alarm. (Decimal, booleano) Alarma en Muy Alto. HAlm. High Alarm. (Decimal, booleano) Alarma en Alto. LAlm. Low Alarm. (Decimal, booleano) Alarma en Bajo. LLAlm. Low Low Alarm. (Decimal, booleano) Alarma en Muy Bajo Ack. (Decimal, booleano) Reconocimiento de cualquier alarma de instrumento desde HMI. Rst. (Decimal, booleano) Reseteo de cualquier alarma de instrumento desde HMI. HHLogic. (Decimal, booleano) Estado lgico de alarma en Muy Alto. LLLogic. (Decimal, booleano) Estado lgico de alarma en Muy Bajo. HLogic. (Decimal, booleano) Estado lgico de alarma en Alto. LLogic. (Decimal, booleano) Estado lgico de alarma en Bajo. HHAlmInhib. (Decimal, booleano) Inhibicin de alarma en Muy Alto. HAlmInhib. (Decimal, booleano) Inhibicin de alarma en Alto. LLAlmInhib. (Decimal, booleano) Inhibicin de alarma en Muy Bajo. LAlmInhib. (Decimal, booleano) Inhibicin de alarma en Bajo. HHONS. High High One Shot. (Decimal, booleano) Memoria de disparo de alarma en Muy Alto. HONS. High One Shot. (Decimal, booleano) Memoria de disparo de alarma en Alto. LONS. Low One Shot. (Decimal, booleano) Memoria de disparo de alarma en Bajo. LLONS. Low Low One Shot. (Decimal, booleano) Memoria de disparo de alarma en Muy Bajo. FOONS. First Out One Shot. (Decimal, booleano) Memoria de primer disparo. URange. Under range. (Decimal, booleano) Valor inferior al predeterminado. ORange. (Decimal, booleano) Valor superior al predeterminado PrToneONS. (Decimal, booleano) Memoria de disparo de alarma sonora de precaucin. PrTone (Decimal, booleano) Disparo de alarma sonora de precaucin. SDToneONS. (Decimal, booleano) Memoria de tono de alarma de paro. SDTone. (Decimal, booleano) Tono de alarma de paro. HHTmrNormal. Temporizador que cuenta el tiempo en el que una variable permanece en estado normal antes de normalizar su estado lgico cuando ha estado anteriormente alarmada en estado Muy Alto. HHTmrAlm. Temporizador que cuenta el tiempo en el que una variable permanece en estado Muy Alto antes de disparar la alarma correspondiente. LLTmrNormal. Temporizador que cuenta el tiempo en el que una variable permanece en estado normal antes de normalizar su estado lgico cuando ha estado anteriormente alarmado en estado Muy Bajo. LLTmrAlm. Temporizador que cuenta el tiempo en el que una variable permanece en estado Muy Bajo antes de disparar la alarma correspondiente. HTmrNormal. Temporizador que cuenta el tiempo en el que una variable permanece en estado normal antes de normalizar su estado lgico cuando ha estado anteriormente alarmado en estado Alto. HTmrAlm. Temporizador que cuenta el tiempo en el que una variable permanece en estado Alto antes de disparar la alarma correspondiente. LTmrNormal. Temporizador que cuenta el tiempo en el que una variable permanece en estado normal antes de normalizar su estado lgico cuando ha estado anteriormente alarmado en estado Bajo. LTmrAlm. Temporizador que cuenta el tiempo en el que una variable permanece en estado Bajo antes de disparar la alarma correspondiente.
Los tags tipo AnalogValue (y sus mnemnicos) generalmente son: Area Tpicamente usado para determinar alarmas, First-Outs, bypasses, reconocimientos y reseteos en cada una de las distintas reas de la plataforma. Los elementos de este tipo de dato de usuario son los siguientes: Ack. (Decimal, booleano) Reconocimiento de Alarmas de instrumentos que se encuentran alarmados y que pertenecen al rea en HMI. Reset. (Decimal, booleano) Reseteo de Alarma de rea en HMI. FirstOut. (Decimal, booleano) Primer disparo de alarma de rea. Alm. (Decimal, booleano) Un instrumento del rea se encuentra alarmado. Akd (Decimal, booleano). Reconocimiento de alarmas de instrumentos que se encuentran en el rea. NAkd. (Decimal, booleano) Alarma no reconocida de algn instrumento del rea. BypStatus. (Temporizador) Un instrumento del rea se encuentra con bypass. AckTimer. (Temporizador) Tiempo que el operador debe presionar el botn de reconocimiento en HMI para que el programa deje de reconocer esta accin. ResetTimer. (Temporizador) Tiempo que el operador debe presionar el botn de reconocimiento en HMI para que el programa deje de reconocer esta accin.
DiagPLC Tipicamente usado para almacenar datos de diagnstico del PLC. Los elementos de esta estructura son los siguientes: PLCStatus: Estado de PLC. PLCTimeSlice. Porcentaje disponible de CPU que est asignado a comunicaciones. PLCForceStatus. Especifica el estado de los forces. PLCLedStatus. Especifica el estado del LED de I/O en frente del controlador. PLCMajorEvents. Especifica cuantas fallas mayores han ocurrido desde el ltimo encerado del contador. PLCMinorEvents. Especifica cuantas fallas menores han ocurrido desde el ltimo encerado del contador. PLCMajorFaultBits. Indicaciones de la razn de la falla mayor. PLCMinorFaultBits. Indicaciones de la razn de la falla menor. ControlNet. Se almacena el cdigo de falla de la tarjeta ControlNet. Ethernet. Se almacena el cdigo de falla de la tarjeta Ethernet Slot#, Se almacena el cdigo de falla del Slot nmero #.
DigitalAlarm Tpicamente usado para almacenar variables de entrada digitales y sus estados. BypEnCmd. Bypass Enable Command. (Decimal, booleano) Comando de habilitacin de Bypass de instrumento. BypDisCmd. Bypass Disable Command. (Decimal, booleano) Comando de deshabilitacin de Bypass de instrumento. BypStatus. (Decimal, booleano) Estado de bypass de instrumento FirstOut. Ver tag AnalogValue. Akd. Ver tag AnalogValue. NAkd. Ver tag AnalogValue. Alm. Ver tag AnalogValue. Ack. Ver tag AnalogValue. Rst. Ver tag AnalogValue. Logic. Ver tag AnalogValue. DI. Bit en donde se almacena el estado de la entrada digital AlmONS. Ver tag AnalogValue. FOONS. Ver tag AnalogValue SDToneONS. Ver tag Analog Value SDTone. Ver tag AnalogValue FOInhib. Ver tag AnalogValue DebPre. Ver tag AnalogValue STAT. Ver tag AnalogValue DeadTime. Ver tag AnalogValue TmrAlm. Ver tag AnalogValue TmrNormal. Ver tag AnalogValue
DigitalOutput Tpicamente usado para almacenar variables de salida digitales. El nico elemento que tiene es DO y sirve para almacenar la variable digital que ser escrita a un mdulo de salida digital. Los tags tipo DigitalAlarm (y sus mnemnicos) generalmente son:
Location Tpicamente usado para determinar alarmas, First-Outs, bypasses, reconocimientos y reseteos, valores de mximos y mnimos de seales previo tratamiento, seales de manejo de seales sonoras, permisivos, valores fuera de rango, diagnstico de estado, y otras variables de una plataforma en general. Los elementos de esta estructura son los siguientes: Ack. Ver tipo Area. El mbito de aplicacin es para todas las reas que conforman la plataforma. Reset. Ver tipo Area. El mbito de aplicacin es para todas las reas que conforman la plataforma. FirstOut. Ver tipo Area. El mbito de aplicacin es para todas las reas que conforman la plataforma. Alm. Ver tipo Area. El mbito de aplicacin es para todas las reas que conforman la plataforma. BypStatus. Ver tipo Area. El mbito de aplicacin es para todas las reas que conforman la plataforma. FirsOutResetONS Memoria de reseteo de primer disparo. Permissive. Permisivo de paro de emergencia de plataforma. TestStatus. Bit que determina si alguna lnea de algn pozo se encuentra en prueba. Mute. Sirve para inhibir tonos de alarma disparados por locacin. MutePB. Bit para activar suspensin de tonos de alarma desde HMI. PrTone. Estado lgico de alarma sonora de precaucin en la locacin. Se activa cuando hay una alarma que no implica un apagado de equipo. PrToneOut. Estado de salida de alarma de locacin por precaucin, evaluada si se ha habilitado una orden de silenciamiento (Mute). SDTone. Tono activado cuando ha habido un shutdown de locacin, rea, lnea de manifold o VSD. SDToneOut. Estado de salida de alarma de locacin por shutdown, evaluada si se ha habilitado una orden de silenciamiento (Mute). SilencePB. Sirve para Manejo de tonos. Silencia alarmas sonoras desde HMI. MaxRAW. Representacin numrica de acuerdo a la resolucin de las tarjetas de entrada analgicas usadas en la locacin que representa el 100% de la variable medida por un transmisor. P.Ej. para 20 mA que representan 100% de un LIT, la representacin de una tarjeta 1756-IF8 es 30950. MinRAW. Similar a MaxRaw, pero para representar el 0% de la variable medida. Overrange. Bit que contiene la informacin si el instrumento se ha ido sobre la escala establecida. Underrange. Bit que contiene la informacin si el instrumento se ha ido bajo la escala establecida. MuteTimer. Temporizador que cuenta un tiempo predeterminado para deshabilitar el comando de Silenciar (Mute) si se mantiene presionado desde el HMI constantemente. AckTimer. Similar a Mute Timer pero para botn Ack de HMI. ResetTimer. Similar a Mute Timer pero para botn Rst de HMI.
Los tags tipo location (y sus mnemnicos) generalmente son nombradas de la siguiente Pump Tpicamente usado para almacenar variables relacionadas con bombas. Los elementos son: RunStatus. (Decimal, booleano) Contiene informacin de campo del estado de la bomba. StrFl. (Decimal, booleano). Bit de falla de arranque (activado en bajo). StrFlAkd. (Decimal, booleano). Bit de falla de arranque reconocida. StrFlNAkd. (Decimal, booleano). Bit de falla de arranque no reconocida. StpFl. (Decimal, booleano). Bit de falla de paro (activado en bajo). StpFlAkd. (Decimal, booleano). Bit de falla de paro reconocida. StpFlNAkd. (Decimal, booleano). Bit de falla de paro no reconocida. Ack. (Decimal, booleano). Reconocimiento de estado de bomba. Rst. (Decimal, booleano). Reseteo de estado de bomba CmdOut (Decimal, booleano).Comando de arranque. HOA_Auto (Decimal, booleano). Bit de Automtico/Manual. OverLoad (Decimal, booleano). Bit de sobrecarga. LOS (Decimal, booleano) StrFlONS (Decimal, booleano) Bit de memoria de falla de arranque. StpFlONS (Decimal, booleano). Bit de memoria de falla de paro. StartPB (Decimal, booleano). Botn de arranque. Permissive (Decimal, booleano). Permisivo de bomba StopPB (Decimal, booleano). Botn de paro. PrToneONS (Decimal, booleano). Bit de memoria de estado de alarma sonora de precaucin. PrTone (Decimal, booleano). Estado de alarma sonora de precaucin. Interlock (Decimal, booleano). Estado de bomba secuencia u operador. AutoStrStp (Decimal, booleano). Arranque/paro automtico. StrFlDT (Timer). Cuenta un tiempo dado antes de disparar el bit de falla de arranque. StpFlDT (Timer). Cuenta un tiempo dado antes de disparar el bit de falla de paro.
PumpStatus Tpicamente usado para agrupar variables de bombas de inyeccin de qumicos y de los variadores de velocidad relacionados con las bombas de extraccin de crudo de los pozos. Los elementos de esta estructura son los siguientes: Reset. (Decimal, booleano). Reseteo de estado. RunStatus. (Decimal, booleano). Estado. Permissive. (Decimal, booleano). Permisivo de alta. PermissiveLow. (Decimal, booleano). Permisivo de baja. FirstOut. (Decimal, booleano). Primer disparo. FirstOutONS. (Decimal, booleano). Memoria de primer estado. SDtone. (Decimal, booleano). Alarma sonora de paro. SDtoneONS. (Decimal, booleano). Memoria de alarma sonora de paro. OverrideTimer. (Timer) Temporizador que cuenta el tiempo antes de que un pozo pase a prueba. (Bombas de pozo)
Valve Tpicamente usado para manejar el comportamiento de vlvulas: accin de reconocimiento, comando de cierre, apertura, salida, seales de falla a cierre y a apertura, adems del mismatch con sus respectivos reconocimientos, no reconocimientos, bloqueo de multidisparo, permisivo, manejo de seales acsticas, y seales de estado cerrado y abierto. Donde XXXX es la lnea del pozo. Los elementos de esta estructura son: ZSO. (Decimal, booleano). Estado de posicionador de vlvula abierta. ZSC. (Decimal, booleano). Estado de posicionador de vlvula cerrada. CmdOut. (Decimal, booleano). Comando de apertura/cierre a la solenoide. FailOpen. (Decimal, booleano). Falla de apertura FailOpenAkd. (Decimal, booleano). Falla de apertura reconocida. FailOpenNAkd. (Decimal, booleano). Falla de apertura no reconocida FailClose. (Decimal, booleano). Falla de cierre. FailCloseAkd. (Decimal, booleano). Falla de cierre reconocida. FailCloseNAkd. (Decimal, booleano). Falla de cierre no reconocida. Rst. (Decimal, booleano). Reset. Ack. (Decimal, booleano). Reconocimiento. FailOpenONS. (Decimal, booleano). Bit de memoria de falla de apertura. FailCloseONS. (Decimal, booleano). Bit de memoria de falla de cierre. CmdClosePB. (Decimal, booleano). Botn de comando de cierre. CmdOpenPB. (Decimal, booleano). Botn de comando de apertura. MisMatch. (Decimal, booleano). Error de estado de vlvula cuando ambos posicionadores de la valvula (abierto y cerrado) quedan activadas. MisMatchAkd. (Decimal, booleano). Estado de valvula en Mismatch Reconocido. MisMatchNAkd. (Decimal, booleano). Estado de valvula en Mismatch No Reconocido. MisMatchONS. (Decimal, booleano). Bit de memoriade estado Mismatch Permissive. (Decimal, booleano). Permisivo de vlvula. PrTone. (Decimal, booleano). Ver tipo Pump PrToneONS. (Decimal, booleano). Ver tipo Pump Interlock. (Decimal, booleano). AutoOpenClose. (Decimal, booleano). Modo automtico de Apertura-Cierre. Status. (Decimal, SINT). Estado. FailOpenDT. (Timer). Cuenta de tiempo antes de disparar bit de falla de apertura. FailCloseDT. (Timer). Cuenta de tiempo antes de disparar bit de falla de cierre.