T-ESPE-012157.pdf - Escuela Politcnica del Ejrcito Facultad de Ingeniera Electrnica Proyecto de Grado para la Obtencin del Ttulo en Ingeniera Electrnica

T-ESPE-012157.pdf - Escuela Politcnica del Ejrcito Facultad...

This preview shows page 1 out of 232 pages.

You've reached the end of your free preview.

Want to read all 232 pages?

Unformatted text preview: Escuela Politécnica del Ejército Facultad de Ingeniería Electrónica Proyecto de Grado para la Obtención del Título en Ingeniería Electrónica Monitoreo, Control y Adquisición de Datos de Energía Eléctrica mediante Internet Denyss Estévez Montalvo Marzo - 2005 Certificación Certificamos que el presente trabajo ha sido realizado completamente y enteramente por Denyss Estévez Montalvo, para constancia de lo cual firmamos a continuación Ing. Alejandro Chacón DIRECTOR Ing. Rodolfo Gordillo CODIRECTOR Agradecimientos Agradezco a mis compañeros y amigos de profesión y de trabajo por sus oportunas ayudas, a mis padres que me ayudado para dar el último paso para culminar mi carrera y a mi esposa por apoyarme en la consecusión de mi título profesional. Dedicatoria Este trabajo se lo dedico a mis padres, quienes a pesar de todos los contratiempos surgidos en el desarrollo del mismo han estado presentes para brindar su apoyo; pero principalmente a mi esposa quien ha estado presente en los momentos más duros, difíciles y extraviados de mi vida siempre tendiéndome una mano, dándome su apoyo y sus palabras de aliento para llegar a la culminación de mi carrera profesional y permitiéndome escalar un peldaño más en la formación diaria de la compleja existencia humana. iv ÍNDICE GENERAL 1. Proyecto Preliminar 1 1.1. Introducción 1 1.2. Descripción de la Problemática 1 2. Solución Propuesta 5 2.1. Descripción General 5 2.2. Análisis Técnico – Económico de Herramientas 6 2.3. Diseño del Sistema 12 3. Construcción del Sistema 21 3.1. Formas de Conexión a Bases de Datos 21 311 ODBC 21 3.1.2. JDBC 35 3.1.3. OLEDB 36 3.2. Estructuras de Almacenamiento y Manipulación Estándar de la Información 46 3.2.1. Lenguaje de Definición de Datos (DDL) 46 3.2.1.1. Create Table 46 3.2.1.2. Alter Table 48 3.2.1.3. Drop Table 51 3.2.2. Lenguaje de Manipulación de Datos (DML) 51 3.2.2.1. Select 51 3.2.2.2. Insert 53 3.2.2.3. Delete 54 3.2.2.4. Update 56 v 3.2.2.5. Truncate Table 3.3. Creación de Estructuras de Almacenamiento en los Sistemas de Bases de 59 Datos 60 3.3.1. Modelo Conceptual de Datos 60 3.3.2. Modelo Físico de Datos 62 3.3.3. Script de Tablas, Índices y Relaciones 67 3.3.4. Diccionario de Datos 72 3.4. Servidor y Cliente de DataSocket 79 3.4.1. Servidor DataSocket 80 3.4.1.1. Ítems de Datos 81 3.4.1.2. Fuentes de Datos 82 3.4.1.3. Destinos de Datos 82 3.4.2. Protocolos de DataSocket 83 3.5. Aplicación del Servidor 87 3.5.1. Esquema General 87 3.5.2. Programa Principal de Configuración y Seguridad 91 3.5.2.1. Funciones de Manipulación del Registro de Windows 92 3.5.2.2. Código de Conexión al Sistema de Base de Datos 94 3.5.2.3. Funciones de Manipulación de Datos usando Structured Query Language 96 3.5.2.3.1. Conteo de Registros 96 3.5.2.3.2. Selección de Registros y Columnas 97 3.5.2.3.3. Inserción de Registros 98 3.5.2.3.4. Inserción de Registros en Matriz 99 3.5.2.3.5. Eliminación de Registros 100 3.5.2.3.6. Actualización de Registros 101 3.5.2.4. Pantallas de Configuración 102 3.5.2.4.1. Configuración de Usuarios 102 3.5.2.4.2. Configuración de Áreas de Planta 104 3.5.2.4.3. Configuración de Circuitos de Área 106 3.5.2.4.4. Configuración de Puntos de Medición 108 3.5.2.5. 110 Seguridad y Registro del Sistema 3.5.2.5.1. Acceso al Cambio de Configuración, Niveles de Seguridad 112 3.5.2.5.2. Registro de Trazas del Sistema 113 vi 3.5.3. Programa de Adquisición y Almacenamiento de Datos 114 3.5.3.1. Carga de Datos de Circuitos 114 3.5.3.2. Verificación de Tarjetas de Adquisición de Datos 116 3.5.3.3. Adquisición de Datos 118 3.5.3.3.1. Análisis de Circuitos Trifásicos 120 3.5.3.4. 123 Datos Críticos y Almacenamiento de Información 3.5.3.4.1. Obtención de Datos Críticos 125 3.5.3.4.2. Almacenamiento en la DBMS 126 3.5.3.5. Desconexión de la DBMS 128 3.6. Aplicación del Cliente 129 3.6.1. Esquema General 129 3.6.2. Descripción de la Aplicación de Cliente 129 3.6.2.1. Página Descriptiva del Software 131 3.6.2.2. Página de Mediciones en Tiempo Real 132 3.6.2.3. Página de Estadísticas Históricas de Circuitos 156 3.7. Implantación del Sistema de Monitoreo 171 3.7.1. Implantación de la DBMS y Aplicación Servidor 171 3.7.2. Implantación del Servidor de Aplicaciones y Aplicación Cliente 172 4. Pruebas del Sistema 174 4.1. Pruebas de Almacenamiento y Recuperación de Datos 175 4.1.1. Conexión al Sistema en LabVIEW 175 4.1.2. Almacenamiento de Configuración de Circuitos Trifásicos 176 4.1.3. Recuperación de Configuración de Circuitos Trifásicos 177 4.1.4. Recuperación de Datos Estadísticos en Cliente Web 178 4.2. Pruebas de Interfases Web en Tiempo Real 178 4.2.1. Visualización de Ondas de Voltaje y Corriente en Tiempo Real 179 4.2.2. Visualización de Valores RMS de Voltaje, Corriente, Potencias y Factor 180 de Potencia 5. Conclusiones y Recomendaciones 182 5.1. Conclusiones 182 5.2. Recomendaciones 189 vii A.1. Perspectiva de Producto SQL Server 2000 193 A.2. Marcas de Referencia de Windows 2000 Server 200 A.3. Comparación de Precios entre Oracle 10g y SQL Server 2000 202 A.4. Comparación de Características entre SQL Server 2000 e IBM DB2 A.5. versión 8.1 207 Comparación de Precios entre IBM DB2 versión 8.1 y SQL Server 2000 211 i Prólogo Este proyecto busca realizar todo el proceso de configuración de un sistema de adquisición de datos, el procesamiento de los mismos así como su manipulación y almacenamiento de una forma más técnica, eficiente y eficaz. También busca la economización de los costos de licenciamiento para las interfaces de cliente y, que las mismas puedan ser modificadas sin que ello represente la redistribución y reinstalación en cada computadora de cliente. En el capítulo 1 se realiza un análisis exhaustivo de tecnología y técnicas empleadas en la solución implementada en la primera fase del proyecto global. En el capítulo 2 se propone técnicas de solución al problema con tecnologías de punta y metodologías probadas en el ámbito comercial. Luego se realiza un análisis técnico – económico de las posibles vías de implementación y mejoramiento en la segunda fase del proyecto global. Aquí se escogerá una tecnología para cada tipo de actividad a desarrollarse en la nueva implementación del proyecto. En el capítulo 3 se detalla la implementación del nuevo proyecto con las tecnologías seleccionadas en el capítulo anterior. Se describen las 3 formas de conexión actuales a los Sistemas de Bases de Datos y escoge la que mejor tecnología y rendimiento proporcione, realizando ejemplos de cómo se realizará la conexión a la base de datos construida para el sistema. A continuación se habla sobre las estructuras de almacenamiento y manipulación de datos, los tipos de lenguajes existentes y las instrucciones estándares que utilizan estos ii lenguajes, todas en conformidad con un estándar internacional definido para los Sistemas de Bases de Datos. Luego se detalla el proceso para modelamiento y creación de las estructuras de almacenamiento de los datos; después del respectivo análisis y abstracción de la información que se necesita de la planta industrial se aplicará la metodología antes descrita, mediante la cual se crearán las mismas para el sistema que se está desarrollando. Al finalizar este proceso se obtendrá el script de creación de todas las estructuras de almacenamiento. A continuación se analiza y detalla el funcionamiento del sistema de transmisión de datos en tiempo real de Nacional Instruments – DataSocket, con su programa en el lado del servidor como en el lado del cliente, el mismo que permite que los datos de la adquisición sean transmitidos en tiempo real y sin importar cuales y cuantos sean los receptores mientras puedan utilizar el protocolo dstp (Data Socket Transport Protocol). Seguidamente se realiza un análisis del flujo de información de la aplicación de servidor que será realizada en LabVIEW 6.0i con el acceso a Sistemas de Bases de Datos mediante MDAC (Microsoft Data Access Components) versión 2.8 utilizando el soporte de ActiverX de LabVIEW, ya que no posee soporte nativo para manejo de bases de datos. Se describe la forma en que debe configurarse la aplicación en la primera ejecución en el servidor, así como también el proceso detallado de la implementación de los circuitos virtuales para lectura y escritura del registro de Windows, circuitos virtuales para implementación de las funciones más utilizadas y estándares para la manipulación de datos, la configuración de la aplicación en sus cuatro secciones vitales: áreas, circuitos, puntos de medición y usuarios; se examinará también la forma de manipulación de los usuarios y permisos de visibilidad de la aplicación. Adicionalmente se verá algunas formas de monitoreo interno que posee la aplicación para realizar chequeos del correcto funcionamiento de las tarjetas de adquisición de datos, así también se revisará la implementación de un registro interno de las entradas y salidas que han realizado los usuarios al sistema durante el funcionamiento del mismo. A continuación se explica el funcionamiento de la aplicación en cuanto al proceso de adquisición, análisis, selección, almacenamiento y visualización de los datos obtenidos. Finalmente se indica el proceso de iii desconexión del Sistema de Bases de Datos para evitar la pérdida de integridad, confidencialidad y disponibilidad de la información. Inmediatamente después se realiza también un análisis del flujo de información en la aplicación de cliente que será realizada con una mezcla de varias tecnologías como LabVIEW 6.0i, Visual Basic 6.0, páginas web estáticas y dinámicas con controles ActiveX y cliente de DataSocket. Se verá que la aplicación estará dividida en tres partes: una informativa con respecto a los sistemas de adquisición de datos, otra con el monitoreo de los circuitos con sus formas de onda de voltaje y corriente en tiempo real y, finalmente la página que permite el despliegue de los datos históricos almacenados de los circuitos existentes en la planta monitoreada. Se examinará el código utilizado en cada una de las partes de la aplicación de cliente. Finalmente se revisarán las instrucciones para la implantación del sistema en los equipos de servidor y clientes, para que el funcionamiento y rendimiento del mismo sea el esperado de acuerdo al diseño. En el capítulo 4 se muestran las tablas de valores y el análisis de las mediciones realizadas en la fase de pruebas de rendimiento del sistema. Las pruebas del sistema se efectuaron con los Sistemas de Bases de Datos tanto en forma local como remota con velocidades de acceso de redes de área local (10 Mbps y 100 Mbps) y redes de área extendida (56 Kbps analógicos y 128 Kbps digitales) para poder establecer tiempos aproximados de respuesta del sistema en los distintos ambientes computacionales existentes. Finalmente en el capítulo 5 se encuentran las conclusiones que se pueden apreciar después de realizadas todas las pruebas pertinentes de rendimiento y funcionalidad; así como también las recomendaciones que se ofrece al usuario final del sistema para que el mismo funcione de la manera más óptima y adecuada para que el usuario pueda tomar decisiones acertadas y a tiempo sobre la compra y el uso de su energía eléctrica. CAPÍTULO 1 – PROYECTO PRELIMINAR 1 CAPÍTULO 1 PROYECTO PRELIMINAR 1. PROYECTO PRELIMINAR 1.1. INTRODUCCIÓN El proyecto preliminar que antecede al presente trabajo trata sobre la Implementación de un Sistema de Monitoreo de Energía Eléctrica en la Cervecería Andina S.A. La visualización del monitoreo de parámetros fue realizada mediante el software LabVIEW en su versión 5.01. La aplicación desarrollada está instalada en 2 computadores en la parte de monitoreo de planta y en el cuarto de ingeniería, la comunicación de los datos está realizada sobre el protocolo estándar TCP/IP. 1.2. DESCRIPCIÓN DE LA PROBLEMÁTICA El presente proyecto analizará la problemática que se encuentra en el proyecto preliminar desde el punto de vista de los procesos y almacenamiento de los datos, la comunicación entre la aplicación del servidor de adquisición de datos y la aplicación de los clientes, finalmente la situación del costo total de propiedad debido a las licencias de software que se tiene que adquirir para cada computador donde se desea ejecutar la aplicación de monitoreo desarrollada. A continuación se analizarán y detallarán cada uno de los puntos anteriormente mencionados. CAPÍTULO 1 – PROYECTO PRELIMINAR 2 Primero analizaremos el problema que existe con la manipulación, procesos y almacenamiento de los datos. Como primer paso se realiza la adquisición de los datos y se tiene los mismos como datos de tipo formas de onda que son matrices, el problema que tenemos aquí es que la aplicación está diseñada para un número fijo de canales, de manera que si se necesita hacer una ampliación de los puntos de medición hay que cambiar la aplicación. Para poder obtener la fecha completa con la información del milenio se utiliza una función de proceso que se ejecuta cada vez que se ejecuta un ciclo de monitoreo, restando tiempo que se podría utilizar para otras actividades de proceso. Luego se hace un análisis de las condiciones de tiempo para poder realizar un almacenamiento de datos cada 15 minutos, para lo cual se crean unas variables adicionales que son llamadas banderas, resultando en un uso más elevado de la memoria que crea una saturación de la misma y reducción del rendimiento del computador. Como se realiza una medición de varios puntos al mismo tiempo, luego se necesita realizar una indexación de los datos obtenidos y multiplicar cada dato por el factor de atenuación que se aplicó para obtener la medición, esto implica de igual manera que si aumentan los puntos de medición o cambia el factor de atenuación por alguna causa fortuita se deben realizar cambios en la programación. Además este algoritmo de aplicar en forma fija las constantes de los factores de atenuación implica que existe mucho código repetido que se debe optimizar. Finalmente para formar los archivos de datos se lo realiza en una forma también repetitiva porque es la misma función para cada punto de carga en la planta; la información se almacena en archivos planos de texto donde no existe ningún tipo de compresión de datos y se crea un archivo de días que almacena información cada 15 minutos, un archivo de meses que almacena la información relevante de cada día pero aquí ya existe la primera redundancia de datos y luego un archivo de años que almacena la información relevante de cada mes donde nuevamente existe redundancia de datos. Todos estos archivos existen para cada punto de carga y se tienen alrededor de 26 puntos de carga en la planta, si el número de puntos de carga aumenta también aumentan el número de archivos volviéndose prácticamente inmanejable la situación. Finalmente debido a que son archivos planos de texto el acceso y lectura de estos se lo realiza en forma secuencial causando una pérdida de tiempo cuando se necesita acceder a los mismos para obtener información histórica para estadísticas, sin mencionar que se debe abrir cada uno de ellos por separado para poder realizar la búsqueda. CAPÍTULO 1 – PROYECTO PRELIMINAR 3 Como segundo punto analizaremos el problema de la comunicación que existe entre la aplicación del servidor de adquisición de datos y la aplicación de los clientes. En el proyecto preliminar la comunicación entre el servidor y la estación cliente está realizada con el conjunto de protocolos TCP/IP estándar lo cual garantiza que pueda comunicarse con cualquier sistema operativo, sin embargo como se utiliza el protocolo TCP que está orientado a conexión tenemos el problema de que primero se debe establecer la conexión para poder transmitir los datos. Para establecer la conexión se debe saber el nombre o dirección IP del computador con el que se desea conectar y además se debe saber el número de puerto TCP que se va a utilizar de acuerdo a la aplicación que se use, cuando se usa un puerto TCP se debe tener cuidado de no utilizar un puerto que esté utilizado por otra aplicación pues causaría conflictos con la otra aplicación y no se lograría la comunicación deseada. La aplicación actual del servidor está escaneando la red cada cierto tiempo para averiguar si la aplicación cliente está a la espera de una comunicación mediante TCP. Este método primero empieza a saturar la red de comunicaciones con las constantes y periódicas averiguaciones y, además la función que establece la comunicación está en la aplicación del servidor por lo cual se necesitaría aumentar todas las funciones de comunicación y transferencia de datos para cada cliente que se encuentre en la red y desee conectarse al servidor para realizar el monitoreo. Esto generaría una duplicación de código y una pérdida de desempeño de la aplicación. Como último punto hablaremos del costo total de propiedad que se tiene por la adquisición de licencias de uso del software de desarrollo que se debe realizar. El paquete de desarrollo en la versión full tiene un costo de USD. 2195 para cualquier plataforma, para la plataforma Windows existe una versión básica que tiene un costo de USD. 1095; de acuerdo a las funciones utilizadas dependerá la versión del paquete de desarrollo que se debe adquirir. Suponiendo que se esté utilizando la versión básica del software tenemos un costo total de USD. 2190 por los 2 computadores. El problema se presenta el momento en que se desea aumentar más computadores que realizarán el monitoreo, pues se debe aumentar una licencia de USD. 1095 para cada computador. Sabemos que existe la versión professional CAPÍTULO 1 – PROYECTO PRELIMINAR 4 del software que permite realizar paquetes ejecutables que pueden funcionar solos, sin embargo el precio de esta versión es de USD. 3845 y existe el problema de que los ejecutables creados sirven sólo para la plataforma seleccionada, en este caso Windows. Por lo tanto, si se desea instalar la aplicación sobre otra plataforma como Linux debido a que es de licencia libre y más estable y segura que Windows, se necesitaría primero disponer de la versión full debido a que no existe versión básica para Linux con el costo antes mencionado dando un total de USD. 4390 para los 2 computadores. Otro problema que se presentaría es la necesidad de instalar la aplicación en cada computador que se una a la red para realizar el monitoreo, creando la pérdida de tiempo que esto significa. Finalmente puede darse el caso de que se realicen actualizaciones sobre la aplicación original para aumentar puntos de carga, aumentar funcionalidades a la aplicación, optimizar alguna parte del algoritmo aumentando o retirando procesos innecesarios entre otras cosas lo cual implicaría una recompilación de la aplicación y su debida redistribución; la misma se puede realizar a través de la red de comunicación pero debemos tomar en cuenta que las estaciones de trabajo pueden estar con claves de usuario restringido que no permitirían la descarga de la aplicación actualizada y la instalación de la misma en el sistema operativo. Una vez analizados detalladamente los problemas que presenta la aplicación que se encuentra actualmente en funcionamiento, en el capítulo 2 procederemos a plantear las posibles soluciones y escogiendo la más adecuada realizando el debido análisis de costos vs. beneficios de cada una de las mismas. En resumen, lo que se plantea con este trabajo es mejorar el rendimiento y desempeño de la aplicación actual, así como también reducir los costos de una futura expansión del sistema. CAPÍTULO 2 - SOLUCION PROPUESTA 5 CAPÍTULO 2 SOLUCIÓN PROPUESTA 2. SOLUCIÓN PROPUESTA 2.1.DESCRIPCIÓN GENERAL Para solucionar los problemas que muestra el proyecto preliminar en las áreas antes mencionadas en el capítulo 1, se utilizarán técnicas y tecnologías conocidas e implementadas exitosamente en el área comercial. Entre las técnicas y tecnologías mencionaremos primero a las bases de datos, las cuales nos permiten realizar una administración rápida, ordenada y segura de la información que genera la empresa, ...
View Full Document

  • Summer '07
  • N/A
  • Microsoft SQL Server, Computadora, Windows NT, Sistema operativo, Servidor web

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes