ECOPETROL S.A. FABRICA DE SOFTWARE DEL DOWNSTREAM UT DOWNSTREAM Fecha : 14 de Abril 2009 MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO Página 1 de 11 MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO RELACIÓN DE VERSIONES VERSIÓN DESCRIPCIÓN FECHA 1 (Versión inicial) No se recibió. 2 Se actualiza la aplicación para poner en fucnionamiento después de la implementación de alta disponibildad del servidor PI después de la Migración. 14 Abril de 2009 DEPENDENCIA RESPONSABLE REVISÓ APROBÓ ELABORÓ: José Bismer Carvajal Alzate Proyecto Fábrica de Software Downstream Víctor H. González Líder Técnico Proyecto GRB del UT DOWNSTREAM Jhon James Rubio Olaya Líder Técnico GRB ECOPETROL – ECOPETROL S.A. FABRICA DE SOFTWARE DEL DOWNSTREAM UT DOWNSTREAM Fecha : 14 de Abril 2009 MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO Página 2 de 11 TABLA DE CONTENIDO Contenido 1. Introducción ............................................................................................................................. 3 2. Objetivo ................................................................................................................................... 3 3. Alcance .................................................................................................................................... 3 4. Descripción del Proceso Actual ............................................................................................... 3 5. Descripción de la Solución ...................................................................................................... 3 5.1. Configuración archivo .ini .................................................................................................... 4 5.1.1. Sección [IDENTIFICACION] ............................................................................................. 4 5.1.2. Sección [DISPARO] .......................................................................................................... 4 5.1.3. Sección [CONEXION] ....................................................................................................... 4 5.1.4. Sección [ESTADO] ............................................................................................................ 4 5.1.5. Sección [ESTADOANTERIOR] ......................................................................................... 4 5.1.6. Sección [SUBSISTEMAS] ................................................................................................. 5 5.1.7. Sección [MENSAJE_ERROR] .......................................................................................... 5 5.1.8. Sección [MAIL] .................................................................................................................. 5 5.1.9. Sección [BEEPER] ............................................................................................................ 5 5.1.10. Sección [RADIO] ......................................................................................................... 5 5.1.11. Sección [WINPOPUP] ................................................................................................. 5 5.1.12. Sección [ADMINISTRADOR] ...................................................................................... 6 5.1.13. Sección [POSITION].................................................................................................... 6 5.2. Módulos de la aplicación ..................................................................................................... 6 5.2.1. Módulo Mod_Encriptar (Encriptar.bas) ............................................................................. 6 5.2.2. Módulo Mod_Ini (Ini.bas) ................................................................................................... 6 5.2.3. Módulo Mod_Log (Log.bas) .............................................................................................. 6 5.2.4. Módulo Mod_MonitorNCR (MonitorTA.bas) ...................................................................... 6 5.2.5. Módulo Mod_PiApi (piapi32.bas) ...................................................................................... 7 5.2.6. Módulo Mod_Ping (Ping.bas) ............................................................................................ 7 5.2.7. Módulo modMonitor (Monitor.bas) .................................................................................... 8 5.2.8. Módulo modNCRcomplements (NCRcomplement.bas) ................................................... 8 5.2.9. Módulo modNotify (Notify.bas) .......................................................................................... 8 5.2.10. Módulo modPIcomplements (PIcomplement.bas) ...................................................... 8 5.3. Formas de la aplicación ...................................................................................................... 9 5.3.1. Form_NCR_TC (NCR_TContinuo.frm) ............................................................................. 9 ECOPETROL S.A. FABRICA DE SOFTWARE DEL DOWNSTREAM UT DOWNSTREAM Fecha : 14 de Abril 2009 MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO Página 3 de 11 1. Introducción El monitor NCR de Tiempo Continuo es una aplicación VB que realiza el monitoreo del comportamiento de las variables PI configuradas en el sistema RIS dentro de unas listas, estas listas se encuentran asociadas a unos puestos de trabajo y estos a su vez a su correspondiente Unidad (planta de proceso). El monitor solo tiene en cuenta aquellos tags que dentro de la aplicación RIS se les haya configurado Guía de Control Alto y/o Guía de Control Bajo, y el respectivo valor de tiempo continuo (minutos). 2. Objetivo El presente documento pretende ilustrar las especificaciones técnicas generales que se aplican para el correcto funcionamiento del Monitor. 3. Alcance Este documento contiene una descripción técnica que permite asegurar la correcta configuración de los diferentes componentes requeridos para la ejecución del monitor, así como, una descripción técnica del comportamiento del mismo. El presente documento no está completo ya que no fue proporcionado el manual técnico inicial, por lo cual, este documento solo hace referencia a cada uno de los diferentes componentes del aplicativo, pero si se hace énfasis en explicar detalladamente los nuevos componentes adicionados al mismo. 4. Descripción del Proceso Actual El monitor NCR Tiempo Continuo al ejecutarse realiza una consulta a la base de datos RIS, para solicitar la lista de tags pi que debe monitorear, y posteriormente valida en PI si el tiempo violación a una de sus guías se ha cumplido, si esto es así, genera una No Conformidad en RIS siempre y cuando ya no exista una violación con la misma orientación ya registrada dentro del mismo turno. 5. Descripción de la Solución ECOPETROL S.A. FABRICA DE SOFTWARE DEL DOWNSTREAM UT DOWNSTREAM Fecha : 14 de Abril 2009 MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO Página 4 de 11 5.1. Configuración archivo .ini El archivo NCR_Continuo.ini es un archivo de configuración de datos iniciales requeridos por la aplicación, es de vital importancia la correcta configuración del mismo para lograr el objetivo requerido. 5.1.1.Sección [IDENTIFICACION] Permite identificar la Interfaz. nombre= 5.1.2.Sección [DISPARO] Permite identificar cada ejecución de la Interfaz. Intervalo= ultimo_disparo= bloqueado= bloqueado_anterior= espera= fecha_bloqueo= 5.1.3.Sección [CONEXION] Permite especificar los datos necesarios de conexión a los servidores. IpNCR= IpPI= DSN= Provider= Usuario= Password= Servidor= UserPI= PswdPI= 5.1.4.Sección [ESTADO] Permite especificar los datos correspondientes al estado de la Interfaz. n= Sistema_1= Sistema_2= Sistema_3= 5.1.5.Sección [ESTADOANTERIOR] ECOPETROL S.A. FABRICA DE SOFTWARE DEL DOWNSTREAM UT DOWNSTREAM Fecha : 14 de Abril 2009 MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO Página 5 de 11 Permite especificar los datos correspondientes al estado anterior de la Interfaz. Sistema_1= Sistema_2= Sistema_3= 5.1.6.Sección [SUBSISTEMAS] Permite especificar los datos correspondientes a los subsitemas que interactúan con la Interfaz. Sistema_1= 5.1.7.Sección [MENSAJE_ERROR] Permite consultar los mensajes previos generados a los sitemas de la Interfaz. Sistema_1= 5.1.8.Sección [MAIL] Permite especificar el envío de notificaciones vía e-mail. activado= destinatarios= 5.1.9.Sección [BEEPER] Permite especificar el envío de notificaciones vía avantel. activado= codigo= 5.1.10. Sección [RADIO] activado= destinatario= mail_operadora= 5.1.11. Sección [WINPOPUP] ECOPETROL S.A. FABRICA DE SOFTWARE DEL DOWNSTREAM UT DOWNSTREAM Fecha : 14 de Abril 2009 MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO Página 6 de 11 Permite especificar el envío de notificaciones vía win Pop-up. activado= destino= 5.1.12. Sección [ADMINISTRADOR] Permite especificar los datos del administrador de la interfaz para el envío de notificaciones. mail= beeper= winpopup= radio= 5.1.13. Sección [POSITION] Permite especificar la posición de la forma en la pantalla. Top= Left= 5.2. Módulos de la aplicación A continuación se describen los módulos que son utilizados dentro del Monitor. 5.2.1. - 5.2.2. - 5.2.3. - 5.2.4. Módulo Mod_Encriptar (Encriptar.bas) Función Encriptar; Utilizada para encriptar o des encriptar un Password. Módulo Mod_Ini (Ini.bas) Función WriteSectionIni; Utilizada para escribir una nueva sección en el .ini. Función WriteProfileIni; Utilizada para escribir un string en el .ini. Función GetProfileIni; Utilizado para leer un string de un .ini. Módulo Mod_Log (Log.bas) Función EscribirLog; Utilizado para escribir una línea en el archivo log. Módulo Mod_MonitorNCR (MonitorTA.bas) ECOPETROL S.A. FABRICA DE SOFTWARE DEL DOWNSTREAM UT DOWNSTREAM Fecha : 14 de Abril 2009 MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO Página 7 de 11 - Función MainMonitoreo; Procedimiento que inicia el monitoreo, primero consulta en RIS la lista de variables a Monitorear con sus respectivos límites de control, posteriormente inicia las validaciones y si hay violación genera el evento violación en RIS si ya no existe uno del mismo tipo e igual orientación. La consulta la ejecuta llamando la función NCR_GetData, posteriormente obtiene la corrida actual de la lista para ser asociada al evento, y finalmente inicia el monitoreo para cada tag PI llamando el procedimiento validar_criterio. - Procedimiento validar_criterio; Se encarga de realizar las validaciones del criterio Tiempo Continuo, mediante la generación de expresiones que involucran la Guía de Control y su respectiva Ventana Operativa, llama a la función PI_PrimerEventoViola para determinar si la expresión se cumple, si se cumple llama al procedimiento ValidaTiempoTotal, estos pasos los realiza tanto para la pareja Guía de Control Alta – Ventana Operativa Alta como para la Guía de Control Baja – Ventana Operativa Baja. - Procedimiento ValidaTiempoTotal; Se encarga de armar las expresiones que se van a utilizar para determinar si hubo violaciones, estas expresiones contienen el nombre del tag PI y los límites de Guía y Ventana, llama a la función PI_PrimerEventoViola para determinar cuando ocurre la vioilación, obtiene el turno que será asociado a la vaiolación llamando a la función NCR_ObtenerTurno, luego determina si ya hay violación del mismo tipo y orientación llamando a la función NCR_ValidarRegistro, si esta función retorna cero (0), llama a la función NCR_Imprimir. - Función convertirfecha; convierte una fecha recibida en una fecha con formato "dd-mm-yyyy HH:mm:ss" - Procedimiento ValidarCriterio; No utilizado. 5.2.5. - 5.2.6. - Módulo Mod_PiApi (piapi32.bas) Módulo con las funciones API para interactuar con PI. Módulo Mod_Ping (Ping.bas) Función ValidarIP; Utilizada para verificar que los servidores estén en línea. Función GetStatusCode; Obtiene es estado del servidor Función HiByte; Función LoByte; Función Ping; Utilizada para validar ping al servidor. Función AddressStringToLong; Convierte una dirección IP string a Long. Función SocketsCleanup; Función SocketsInitialize; ECOPETROL S.A. FABRICA DE SOFTWARE DEL DOWNSTREAM UT DOWNSTREAM Fecha : 14 de Abril 2009 5.2.7. - MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO Página 8 de 11 Módulo modMonitor (Monitor.bas) Procedimiento Mntor_Load; Función Mntor_VerifyFile; Procedimiento Mntor_UnLoad; Función Mntor_Message; Función Mntor_Error; 5.2.8. Módulo modNCRcomplements (NCRcomplement.bas) - 5.2.9. - 5.2.10. - Procedimiento NCR_Init; Realiza la conexión al servidor PI RIS. Procedimiento NCR_Disconnect; Cierra la conexión al servidor RIS. Función NCR_SetIni; Función NCR_SetLog; Función NCR_ValidarIP; Llama al procedimiento validar IP para el servidor PI. Función NCR_GetData; Ejecuta las Sql al servidor RIS. Función NCR_ExecuteBD; Ejecuta las Sql al servidor RIS. Función NCR_LastError; Función NCR_Error; Envío de notificaciones cuando hay error. Función NCR_ObtenerTurno; Determina el turno y fecha y hora inicial de una fecha dada. Función NCR_ValidarRegistro; Determina si en el turno ya hay una No Conformidad para el tag de la misma orientación. Función NCR_ValidarRegistroIncidente; Determina si en el turno ya hay un Incidente para el tag de la misma orientación. Función NCR_Imprimir; Realiza la creación del evento Violación en RIS, utiliza fechas numéricas. Función NCR_Imprimir_Ant; Realiza la creación del evento Violación en RIS. Función NCR_ConvertirFecha; Convierte una fecha de cualquier formato a Formato “dd/mm/yyyy hh24:mi:ss”. Módulo modNotify (Notify.bas) Procedimiento EnviarMensajeAvantel; Envío de mensajes por avantel. Función EnviarMensajeAvantelAux; Función TransformarParametro; Función EnviarMailOutlook; Envío de notificciones vía e-mail. Función SendToWinPopUp; Envío de notificciones vía Win Pop-up. Módulo modPIcomplements (PIcomplement.bas) Procedimiento PI_Init; Realiza llamado a la función de conexión al servidor PI. Procedimiento PI_SetIni; ECOPETROL S.A. FABRICA DE SOFTWARE DEL DOWNSTREAM UT DOWNSTREAM Fecha : 14 de Abril 2009 - - MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO Página 9 de 11 Función PI_SetLog; Función PI_ValidarIP; Llama al procedimiento validar IP para el servidor PI. Función PI_Connect; Realiza la conexión al servidor PI por defecto. Función connectPI; Realiza la conexión a un servidor PI específico. Función disconnectPI; Realiza la desconexión de todos los servidor PI. Función registerApp; Registra la aplicación para poder realizar conexiones a cualquier servidor PI. Función PI_WriteRouter; Valida el tipo de escritura en PI, batchfl o directa. Función PI_Write; Realiza escritura directa al servidor PI, utilizando el PIAPI. Función PI_LastError; Función PI_Error; Control de errores y notificaciones. Función PI_PrimerEventoViola; Consulta el PI el primer evento que viola una guía o ventana, por medio de una expresión PI recibida. Función PI_TraerCorrida; Trae el valor de un tag PI para una determinada fecha, útil para controlar los tags de Corridas. Función PI_TiempoFuera; Calcula el tiempo que una expresión PI se cumple, durante un periodo de tiempo. Función PI_TiempoContinuo; Calcula si durante un periodo de tiempo une expresión PI se cumple. Procedimiento escribirPlano; Escribe una línea en un archivo plano, se utiliza para generar archivos planos para la interfaz batchfl. Función fechaBatchFlPI; Recibe un Date y retorna su correspondiente Strin en el formato "dd-mmm-yyyy HH:mm:ss". Función numeroToStr; Adiciona un cero al comienzo del número si este es menor que 10, útil para armar fechas. Función mesToStr; Recibe el mes como un número y retorna un string de las tres primeras letras correspondientes, es posible definir si se retornan en Ingles o español, para ello envíe en. 5.3. Formas de la aplicación A continuación se describen las formas que son utilizadas dentro del Monitor. 5.3.1. Form_NCR_TC (NCR_TContinuo.frm) ECOPETROL S.A. FABRICA DE SOFTWARE DEL DOWNSTREAM UT DOWNSTREAM Fecha : 14 de Abril 2009 - - - MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO Página 10 de 11 Procedimiento Btn_Detener_Click; Detiene la ejecución automática de la Interfaz. Procedimiento Btn_Iniciar_Click; Inicia la ejecución automática de la Interfaz. Procedimiento Btn_Salir_Click; Cierra la forma. Procedimiento chkStatus_Click; Valida la detención de la ejecucion. Procedimiento Form_Load; Inicio de la ejecución automática de la Interfaz, se encarga de leer parámetros iniciales del .ini, el llenado de las etiquetas de la forma y el llamado a las diferentes funciones y procedimientos iniciales. Procedimiento Corridas_Timer; Procedimiento Form_QueryUnload; Descarga todos los objetos de la forma. Procedimiento Corridas_Timer; Procedimiento Form_Resize; Procedimiento imgMode_Click; Procedimiento imgViewLog_Click; Procedimiento Tmr_EtiquetaViva_Timer; Procedimiento Tmr_Monitor_Timer; Inicia la ejecución, escribe en los logs, actualiza el .ini, valida disponibilidad de servidores mediante IP, realiza el llamado el procedimiento MainMonitoreo (lógica de la aplicación). Procedimiento Txt_PathIni_LostFocus; ECOPETROL S.A. FABRICA DE SOFTWARE DEL DOWNSTREAM UT DOWNSTREAM Fecha : 14 de Abril 2009 MANUAL TÉCNICO MONITOR NCR TIEMPO CONTINUO Página 11 de 11 Para mayor información sobre este documento dirigirse a quien lo elaboró, en nombre de la dependencia responsable: José Bismer Carvajal Alzate Profesional Senior Tel.: 4 9368 Grupo de Desarrollo Proyecto Fábrica de Software del Downstream DEPENDENCIA RESPONSABLE REVISÖ Dirección de Tecnología de la Información VICTOR H GONZALEZ Líder Técnico Proyecto GRB UT - Mantenimiento SIV APROBÓ JHON JAMES RUBIO Líder Técnico Proyecto GRB - ECOPETROL