Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
IMPLEMENTACION DE ALGORITMO COMPUTACIONAL PARA EL ESTUDIO DE CONFIABILIDAD Y FLUJO DE CARGA EN SISTEMAS ELECTRICOS DE DISTRIBUCION A TRAVES DEL SOFTWARE DIGSILENT: CASO DE ESTUDIO RBTS DE 7 FEEDERS DANIEL PINEDA ROJAS UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA ELÉCTRICA BOGOTÁ D.C. COLOMBIA 2021 1 2 IMPLEMENTACION DE ALGORITMO COMPUTACIONAL PARA EL ESTUDIO DE CONFIABILIDAD Y FLUJO DE CARGA EN SISTEMAS ELECTRICOS DE DISTRIBUCION A TRAVES DEL SOFTWARE DIGSILENT: CASO DE ESTUDIO RBTS DE 7 FEEDERS DANIEL PINEDA ROJAS TRABAJO DE PASANTÍA PARA OPTAR POR EL TÍTULO DE INGENIERO ELÉCTRICO DIRECTOR INTERNO: I.EI, Msc., PhD. ADRIANA MARCELA VEGA CODIRECTOR INTERNO I.E, Msc., PhD. ALVARO ESPINEL ORTEGA DIRECTOR EXTERNO: I.E, Msc. IVÁN FELIPE BONILLA VARGAS UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA ELÉCTRICA BOGOTÁ D.C. COLOMBIA 2021 3 Contenido Resumen ......................................................................................................................................................... 7 1. Introducción ............................................................................................................................................ 8 2. Planteamiento del problema .................................................................................................................... 9 3. Objetivo ................................................................................................................................................ 10 3.1. Objetivo General .......................................................................................................................... 10 3.2. Objetivos Específicos ................................................................................................................... 10 4. Estado del Arte ...................................................................................................................................... 11 4.1. Sistema de Distribución Eléctrico ................................................................................................ 11 4.2. Confiabilidad en Sistemas de Distribución .................................................................................. 12 4.3. Índices de Confiabilidad ........................................................................................................... 13 4.3.1. SAIFI ........................................................................................................................................ 13 4.3.2. SAIDI ....................................................................................................................................... 13 4.3.3. ENS .......................................................................................................................................... 14 4.4. Flujo de carga en Sistemas de Distribución ................................................................................. 14 4.4.1. Método de Gauss-Seidel ............................................................................................................... 15 4.4.2. Método de Newton-Raphson ........................................................................................................ 16 4.5. Python ® ...................................................................................................................................... 17 4.5.1. Lenguaje interpretado ............................................................................................................... 18 4.5.2. Tipado Dinámico ...................................................................................................................... 18 4.5.3. Fuertemente Tipado .................................................................................................................. 18 4.5.4. Multiplataforma ........................................................................................................................ 18 4.5.5. Orientada a Objetos .................................................................................................................. 18 4.6. DIgSilent PowerFactory ® ........................................................................................................... 18 4.6.1. Interfaz Python®-DIgSilent® .................................................................................................. 19 4.7. RBTS DE 7 FEEDERS ............................................................................................................ 20 5. Metodología .......................................................................................................................................... 22 6. Métodos de implementación de algoritmos para el estudio de confiabilidad y flujos de carga en redes eléctricas ....................................................................................................................................................... 23 7. Diseño y desarrollo de algoritmo .......................................................................................................... 28 8. Caso de estudio: Sistema de potencia RBTS (Roy Billinton Test System) .......................................... 38 9. Análisis de resultados, evaluación del algoritmo computacional .......................................................... 43 9.1.1. Escenario 1 ............................................................................................................................... 45 9.1.2. Escenario 2 ............................................................................................................................... 50 10. Alcances e impactos del trabajo de pasantía .................................................................................... 58 11. Evaluación y Cumplimiento de Objetivos ........................................................................................ 59 4 12. Conclusiones .................................................................................................................................... 60 13. Recomendaciones ............................................................................................................................. 61 14. Referencias ....................................................................................................................................... 62 15. Anexos .............................................................................................................................................. 63 5 Índice de Tablas Tabla 1. Listado de comandos de calculo.......................................................................................... 20 Tabla 2. Resumen de variables utilizadas en bibliografía estudiada ................................................. 26 Tabla 3. Picos de carga para diferentes tipos de consumidores en el RBTS ..................................... 41 Tabla 4. Información de consumidores RBTS .................................................................................. 41 Tabla 5. Información de carga por alimentador de ............................................................................ 42 Tabla 6. Información para estudio de confiabilidad .......................................................................... 42 Tabla 7. Índices de confiabilidad escenario 1 ................................................................................... 49 Tabla 8. Índices de confiabilidad escenario 1 arrojados por Reliability Assesment ........................ 50 Tabla 9. Diferencia porcentual entre valor algoritmo y valor simulado en Reliability Assesment ... 50 Tabla 10. Índices de confiabilidad escenario 2 .................................................................................55 Tabla 11. Índices de confiabilidad escenario 2 arrojados por Reliability Assesment ....................... 56 Tabla 12. Índices de confiabilidad arrojados por Reliability Assesment, escenario 2 ...................... 57 6 Índice de Ilustraciones Ilustración 1Ubicación de sistemas de distribución dentro de un sistema de potencia. [2] .......................... 11 Ilustración 2. Interface de operación entre Python y DigSilent Power Factory [7] ...................................... 19 Ilustración 3. RBTS de 7 fedders [13] .......................................................................................................... 21 Ilustración 4. Diagrama de bloques de metodología .................................................................................... 22 Ilustración 5. Estructura general del algoritmo implementado [9] ............................................................... 23 Ilustración 6. Diagrama de flujo del algoritmo modelo Monte Carlo [10] ................................................... 24 Ilustración 7. Diagrama de flujo del algoritmo flujo de carga [11] .............................................................. 25 Ilustración 8. Diagrama de caso de estudios de algoritmo implementado.................................................... 28 Ilustración 9. Diagrama de flujo del algoritmo estudio confiabilidad y flujo de carga ................................ 29 Ilustración 10. Representación gráfica de clase findProject ......................................................................... 30 Ilustración 11. Representación gráfica de clase limpiaContentScript .......................................................... 30 Ilustración 12. Representación gráfica de clase limpiarCarpetaLibSto ........................................................ 31 Ilustración 13. Representación gráfica de clase existeObj ........................................................................... 31 Ilustración 14. Representación gráfica de clase creaObjFallaLinea ............................................................. 32 Ilustración 15 . Representación gráfica de clase crearElmReporte .............................................................. 32 Ilustración 16. Representación gráfica de clase crear ComConfiabilidad .................................................... 33 Ilustración 17. Representación gráfica de clase crear crearComCFlujo ....................................................... 33 Ilustración 18. Representación gráfica de clase crear analisisIntegral ......................................................... 34 Ilustración 19. Diagrama de clases de algoritmo .......................................................................................... 35 Ilustración 20. Ejecución de método analisisIntegral para caso base y n variaciones del caso base ............ 36 Ilustración 21.Ejecución método vLoadFlujo para el escenario base y las n variaciones que se hayan creado ........................................................................................................................................................... 36 Ilustración 22. Creación de variable de salida vNobFile la cual se le asigna el método de escribirArchivoAgregar ................................................................................................................................ 37 Ilustración 23. Localización de archivo “resumen.csv” ............................................................................... 37 Ilustración 24. Sistema de distribución RBTS, identificación de elementos ................................................ 40 Ilustración 25. Ventana Data Manager ......................................................................................................... 43 Ilustración 26. Creación objeto Phyton Script .............................................................................................. 44 Ilustración 27. –. Ventana de despliegue Python Script para ejecución script ............................................. 45 Ilustración 28. Identificación de circuitos según color de alimentador ........................................................ 46 Ilustración 29. Sistema de distribución RBTS escenario base ..................................................................... 46 Ilustración 30. Regulación de tensión por circuito escenario 1 .................................................................... 47 Ilustración 31. Carga por circuito escenario 1 .............................................................................................. 48 Ilustración 32. Corriente de cabecera por circuito, escenario 1 .................................................................... 48 Ilustración 33. Interface modulo Realibility Assesment .............................................................................. 49 Ilustración 34. Identificación de circuitos según color de alimentador escenario 2 ..................................... 51 Ilustración 35. Sistema de distribución con entrada de subestación eléctrica, escenario 2 .......................... 51 Ilustración 36. Regulación de tensión por circuito, escenario 2 ................................................................... 52 Ilustración 37. Aumento de regulación de tensión por alimentador en % .................................................... 53 Ilustración 38. Carga por circuito, escenario 2 ............................................................................................. 53 Ilustración 39. Disminución de carga por alimentador [%] .......................................................................... 54 Ilustración 40. Corriente de cabecera por circuito, escenario 2 .................................................................... 54 Ilustración 41. Disminución de corriente de cabecera por circuito .............................................................. 55 Ilustración 42. Comparaciones índices de confiabilidad .............................................................................. 56 Ilustración 43. Evaluación y cumplimiento de objetivos ............................................................................. 59 7 Resumen El objetivo del presente documento es mostrar la elaboración de un algoritmo computacional desarrollado en la empresa operadora de red eléctrica Enel Codensa para la evaluación de estudios de confiabilidad y flujos de carga aplicados a sistemas eléctricos de distribución elaborado dentro del área de la empresa diseños y obras en media tensión, con lo que se busca realizar una evaluación a un sistema de potencia eléctrico bajo condiciones iniciales y en diferentes escenarios de operación, permitiendo contrastar los resultados que se obtienen en cada uno de los casos de estudio. Esta implementación se realiza durante la pasantía desarrollada dentro de la compañía con el objetivo de cumplir con uno de los requisitos de grado para optar por el título de ingeniero eléctrico de la Universidad Distrital Francisco Jose de Caldas. Para dar cumplimiento a la realización del algoritmo se fijan tres objetivos específicos, que se van efectuando de manera cronológica. El primero de ellos corresponde a un estudio bibliográfico sobre distintas metodologías de implementación de algoritmos computacionales enfocados en el estudio de confiabilidad y flujo de carga en sistemas de eléctricos. De esta revisión académica se logra identificar variables de entrada y salida en común, utilizadas desde la vista técnica como los son los parámetros eléctricos de los distintos elementos que conforman el topológico y desde el estudio de confiabilidad refiriéndose a índices enfocados a la calidad del servicio de energía eléctrica. Esto permitió la utilización de variables adecuadas y métodos óptimos en la implementación y desarrollo del algoritmo computacional. El siguiente objetivo se enfocó en el desarrolloy la implementación del código, para esto se utilizó el lenguaje de programación Python® y desde allí trabajar con el paradigma de programación orientada a objetos el cual facilito poder acceder a los atributos de los elementos del sistema eléctrico y poder utilizarlos para realizar las distintas simulaciones de los estudios confiabilidad y flujo de carga. Adicionalmente se implementan métodos para optimizar las líneas de código y disminuir los tiempos de ejecución para el estudio de cada escenario. Se evalúa el código sobre un caso de estudio en este caso el RBTS de 7 feeders o alimentadores. Observando y analizando parámetros técnicos relevantes como la regulación de tensión que para empresas operadora de red como Codensa se parametriza dicho valor de un 98 % como valor mínimo para garantizar el transporte adecuado de la energía eléctrica. Del primer caso se identifica para el circuito 7 una regulación de tensión del 94 % siendo este el circuito con una regulación más débil. Lo anterior permite plantear una solución ingenieril como la entrada de una subestación eléctrica que permitiera la repartición de cargas y así mejorar dicho parámetro, esto se plantea en el segundo escenario donde se puede mejorar con la entrada en servicio de la subestación la regulación de tensión del circuito 7 a 98 % mejorando de esta manera sus parámetros técnicos y aumentando la calidad del servicio al mejorar en 4 % respecto a los valores nominales. Por último, se analiza la fiabilidad del algoritmo computacional, comparando los resultados arrojados del código y los datos que resultan de la simulación de confiabilidad del software para el estudio de confiabilidad, de esta valoración se puede apreciar un rango de error en promedio no mayor al 5 %, diferencia que tiene en cuenta el contraste entre los índices de calidad del servicio de energía eléctrica como lo son SAIFI, SAIDI y ENS. 8 1. Introducción Actualmente los sistemas eléctricos de distribución demandan una mayor cobertura, confiabilidad, calidad, operación y administración para una mejor prestación del servicio eléctrico destinada a los usuarios finales. Para mantener o mejorar dichas propiedades en el sistema, empresas operadoras de red como ENEL Codensa diseñan y ejecutan actividades enfocadas en la expansión y repontencialización de redes de distribución eléctrica a las cuales se les denominan “ingenierías” dentro de la compañía. Las ingenierías que son realizadas actualmente por el área de Diseño, Licencias y Obras MT en la empresa ENEL Codensa, dentro de sus entregables como producto final, carecen de indicadores o valores cuantitativos que demuestren el beneficio técnico desde el contexto eléctrico, que conlleva realizar dichos proyectos lo cual además no permite evaluar el impacto de la realización de dichos proyectos. Es por esto que se busca desde el área, implementar una solución que aproveche recursos tecnológicos brindados por la compañía Enel Codensa, para simular las diferentes propuestas de diseño (ingenierías) sobre los circuitos actuales de propiedad de la compañía que permitan facilitar al ingeniero tomar las métricas cuantitativas correctas, tales como selección adecuada del conductor a utilizar en el caso de instalación de nueva red o la repontencialización de la red presente según la necesidad del proyecto, instalación de nuevos transformadores o cambio de capacidad de los existentes de la red, correcta distribución de cargas para los circuitos actuales como también para la entrada de nuevos circuitos en la topología. Por lo anterior este documento plasma el trabajo realizado durante el periodo de pasantía la cual corresponde a una modalidad de grado para optar por el título de ingeniero eléctrico de la Universidad Distrital Francisco José de Caldas, llevada a cabo en la empresa Enel Codensa, en del área de Diseño y Obras de Media Tensión. En el periodo comprendido de la pasantía se adquirieron conocimientos, los cuales se pudieron aplicar para el desarrollo e implementación de una solución ante la necesidad planteada desde el área para optimizar el proceso de diseño en redes de media tensión. Inicialmente en este trabajo se muestra un estudio bibliográfico sobre trabajos de investigación que abordan métodos de implementación de algoritmos computacionales relacionados con el estudio de flujo de carga y confiabilidad, aplicados a sistemas de distribución eléctrica, logrando identificar metodologías utilizadas con sus respectivos alcances. Posteriormente se presenta la metodología utilizada para la implementación del algoritmo desarrollado, mediante un diagrama de flujo y un diagrama de casos de uso, seguido de una explicación del funcionamiento de los métodos implementados en el código para la ejecución de los estudios eléctricos implementados en el sistema de potencia. Finalmente se muestra la validación del algoritmo aplicado al caso de estudio RBTS de 7 Feeders, evaluando su funcionalidad en dos escenarios, el primer escenario corresponde al sistema de potencia en condiciones iniciales. El segundo escenario corresponde a la variación de estas condiciones con la entrada en servicio de una subestación eléctrica para distribuir las cargas de los circuitos existentes con la entrada de siete circuitos nuevos. 9 2. Planteamiento del problema El planeamiento de la expansión de redes de distribución de energía eléctrica consiste en la elección del conjunto de alternativas de refuerzo o nuevas instalaciones para atender la demanda y calidad de servicio en el mediano y largo plazo; minimizando los costos mientras se respetan criterios de confiabilidad y seguridad de la red. Los plazos de ejecución de los proyectos de esta naturaleza, regularmente duran entre 2 y 5 años [1]. Estas ingenierías conllevan anexos que justifican la ejecución de determinado proyecto, en estos, se hace prioritario y necesario un argumento técnico desde el entorno de confiabilidad y flujo de carga que demuestre la viabilidad de la ingeniería propuesta. Teniendo en cuenta lo anterior, se hace necesario la implementación de una herramienta computacional aprovechando los recursos tecnológicos disponibles en la compañía, que permita fundamentar la toma de decisiones en el diseño para seleccionar la mejor alternativa sobre un proyecto de expansión o reposición de la red eléctrica. 10 3. Objetivo 3.1. Objetivo General Implementar un algoritmo computacional que proporcione un estudio de confiabilidad y flujo de carga bajo variaciones de operación, aplicados al caso de estudio “RBTS DE 7 FEEDERS”. 3.2. Objetivos Específicos ✓ Investigar estado actual sobre métodos de implementación de algoritmos para el estudio de confiabilidad y flujos de carga en redes eléctricas, comprendiendo su funcionamiento y limitaciones. ✓ Diseñar y desarrollar algoritmo basado en el lenguaje de programación Python®, aprovechando el módulo de conexión con el software DIgSilent® aplicado al caso de estudio “RBTS DE 7 FEEDERS”. ✓ Evaluar algoritmo implementado, observando el impacto que conlleva realizar las diferentes ingenierías al caso de estudio “RBTS DE 7 FEEDERS”. Determinado así la funcionalidad del algoritmo. 11 4. Estado del Arte 4.1. Sistema de Distribución Eléctrico Un sistema eléctrico de potencia integra las fases de generación, transmisión, distribución y comercialización de la energía eléctrica, y su función principal es transportar esta energía desde los centros de generación hasta los centros de consumo y por último entregarla al usuario de forma segura y con niveles de calidad exigidos [2]. Alrededor de las 2/3 partes de la inversión total del sistema de potencia, están dedicados a la parte de distribución, lo que implica necesariamente un trabajo cuidadoso en el planeamiento, diseño, construcción y en la operación del sistema de distribución, lo que conllevaa numerosas tomas de decisiones sobre grandes cantidades de información, que deja ver lo compleja que es esta tarea, pero de gran trascendencia [2]. En la Ilustración 1 se muestra la ubicación típica de sistemas de distribución dentro de un sistema de potencia, para una topología radial. Ilustración 1Ubicación de sistemas de distribución dentro de un sistema de potencia. [2] El sistema de distribución además está conformado por: a) Subestaciones receptoras secundarias: donde se transforma la energía recibida de las líneas de subtransmisión y dan origen a los circuitos de distribución primarios. 12 b) Circuitos primarios: estos comprenden generalmente sectores urbanos y rurales suministrando potencia a los transformadores de distribución a voltajes como 13.2 kV, 11.4kV, 7620 V, etc. c) Transformadores de distribución: se conectan a un circuito primario y suministran servicio a todos los usuarios conectados al circuito secundario. d) Circuito secundario: encargados de distribuir la energía a los usuarios con tensiones como 120/208- 120/240 V y en general voltajes hasta de 600 V. La distribución de energía eléctrica es una labor cuyas técnicas están en proceso constante de desarrollo y evolución reflejada en el tipo de equipos y herramientas utilizadas, en los tipos de estructuras, en los materiales con los que se construye las redes de distribución y en los métodos de trabajo de las cuadrillas de construcción y mantenimiento, reflejada también en la metodología de diseño y operación empleando herramientas computacionales (programas de simulación del sistema, software gráficos, etc). Algunos de estos factores de evolución son [2]: • Expansión de la carga • Normalización de materiales, estructuras y montajes • Herramientas y equipos adecuados • Métodos de trabajo específicos y normalizados • Programas de prevención de accidentes y programas de mantenimiento • Surgimiento de industria de fabricación de equipos eléctricos • Grandes volúmenes de datos y planos 4.2. Confiabilidad en Sistemas de Distribución En los últimos años la confiabilidad en los sistemas de distribución a escalado a tema de gran importancia para el sistema de potencia, ya que el correcto funcionamiento de este último, se ve afectado en gran medida por las fallas ocurridas en el sistema de distribución. Otro motivo por el cual ha aumentado la importancia de este tema es la nueva normativa que cubre el sector eléctrico que integra normatividad de penalización con fuertes sanciones a las empresas distribuidoras cuando no suministran un servicio confiable, es decir, cuando incurren en fallas o interrupciones del suministro de energía eléctrica [3]. La confiabilidad en sistemas de distribución se relaciona con la habilidad o capacidad que tiene un sistema eléctrico en proveer un adecuado suministro de energía eléctrica, por tal razón se considera como una propiedad cualitativa más que cuantitativa. Sin embargo, en la práctica de la ingeniería eléctrica se hace necesario tener un índice cuantitativo que permita tener una idea sobre el comportamiento del sistema y que guie en la toma de decisiones sobre diseño y planificación de la red de suministro eléctrico. Es por ello que existen una gran cantidad de índices que permiten expresar la confiabilidad según el objetivo [3]. 13 4.3. Índices de Confiabilidad El principal objetivo de los índices de confiabilidad es representar cuantitativamente la calidad del servicio suministrado a todos los usuarios del sistema de distribución. Estos se pueden dividir en dos grupos; índices del usuario e índices del sistema. Según el usuario se tiene todos aquellos que representan los momentos sin suministro eléctrico y según el sistema se puede identificar aquellos que indican la capacidad del sistema para reponerse de una anomalía y entregar toda la energía presupuestada [3]. Para este proyecto se tiene en cuenta dos índices orientados al consumidor como los son SAIFI Y SAIDI y ENS como índice orientado a la carga y energía los cuales son explicados en los siguientes itérales del documento. 4.3.1. SAIFI Índice de frecuencia de interrupción media del sistema (System Average Interrption Frecuency Index) 𝑵𝒖𝒎𝒆𝒓𝒐 𝒅𝒆 𝒊𝒏𝒕𝒆𝒓𝒓𝒖𝒑𝒄𝒊𝒐𝒏𝒆𝒔 𝒂 𝒍𝒐𝒔 𝒖𝒔𝒖𝒂𝒓𝒊𝒐𝒔 𝑺𝑨𝑰𝑭𝑰 = 𝑵𝒖𝒎𝒆𝒓𝒐 𝒕𝒐𝒕𝒂𝒍 𝒅𝒆 𝒖𝒔𝒖𝒔𝒂𝒓𝒊𝒐𝒔 𝒂𝒕𝒆𝒏𝒅𝒊𝒅𝒐𝒔 ( 1) 𝚺𝝀𝒊𝑵𝒊 𝑺𝑨𝑰𝑭𝑰 = 𝚺𝑵𝒊 ( 2) Donde 𝑁𝑖: es el número de usuarios del punto de carga i 𝜆𝑖: es la tasa de fallas del punto de carga i. El SAIFI nos permite conocer el numero promedio anual de salidas, lo que significa que a través de este indicador se puede obtener el número promedio de veces que un consumidor dado puede esperar una salida en un año. 4.3.2. SAIDI Índice de duración de interrupción media del sistema (System Average Interruption Duration Index). La elección del índice SAIDI nos permite conocer los minutos de salida promedio de consumidor por año, a lo que hace referencia a la cantidad de tiempo acumulado promedio que un consumidor dado puede esperar estar sin servicio en un periodo de un año. 𝑺𝒖𝒎𝒂 𝒅𝒆 𝒍𝒂𝒔 𝒅𝒖𝒓𝒂𝒄𝒊𝒐𝒏𝒆𝒔 𝒅𝒆 𝒍𝒂𝒔 𝒊𝒏𝒕𝒆𝒓𝒓𝒖𝒑𝒄𝒊𝒐𝒏𝒆𝒔 𝑺𝑨𝑰𝑫𝑰 = 𝑵𝒖𝒎𝒆𝒓𝒐 𝒕𝒐𝒕𝒂𝒍 𝒅𝒆 𝒖𝒔𝒖𝒔𝒂𝒓𝒊𝒐𝒔 𝒂𝒕𝒆𝒏𝒅𝒊𝒅𝒐𝒔 ( 3) 𝚺𝑼𝒊𝑵𝒊 𝑺𝑨𝑰𝑫𝑰 = 𝚺𝑵𝒊 ( 4) Donde 𝑁𝑖: es el número de usuarios del punto de carga i 𝑈𝑖: es la tasa de fallas del punto de carga i. 14 4.3.3. ENS Energía No Suministrada (ENS). Es la cantidad de energía que no es suministrada a los consumidores y se presenta por [4]: 𝑵𝑩 𝑬𝑵𝑺 = 𝒅 ∑ 𝑪𝑪𝒋 𝒋 𝒑𝒊 𝒊=𝟏 ( 5) Donde 𝑑𝑖: duración media de la falla ocurrida 𝑁𝐵 : número total de nodos en el sistema. CCp: sumatoria de los cortes de carga en MW Los índices orientados al consumidor y a la carga expuestos anteriormente son muy útiles para poder evaluar la severidad de las fallas del sistema en los análisis de pronósticos de la confiabilidad futura, estos también se pueden utilizar en sin embargo como medio de evaluación del desempeño pasado del sistema. En la actualidad son los más ampliamente usados en este sentido, así como las medidas de desempeño futuro. La evaluación del desempeño del sistema es un procedimiento valioso por tres importantes razones [4]: a) Establece los cambios cronológicos en el comportamiento del sistema y por tanto, ayuda a identificar áreas débiles y la necesidad de refuerzos b) Establece los índices existentes que sirvan como una guía para los valores aceptables en las evaluaciones futuras de confiabilidad. c) Permite la obtención de pronósticos previos para ser comparados con la experiencia real de operación. 4.4. Flujo de carga en Sistemas de Distribución El análisis del flujo de potencia consiste en la determinación del voltaje, corriente y potencia activa y reactiva en los diferentes puntos de una red eléctrica. En cada barra del sistema están presentes siempre cuatro variables: la potencia activa P, la potencia reactiva Q, la magnitud del voltaje V y el ángulo del voltaje ∂. En cada una de las barras, dependiendo de su tipo, se especifican dos de estas variables y se calculan las otras dos. Es necesario además seleccionar una barra llamada barra de referencia o barra oscilante la cual contenga un generador que provea la potencia activa necesaria para suplir la potencia activa de los otros generadores y la demanda; siendo la demanda la potencia de la carga más las perdidas en las líneas de transmisión [4]. El flujo de potencia está sometido a las siguientes condiciones: • Se considera que el sistema tiene secuencia positiva solamente. • Se desprecian los efectos de inductancias mutuas en las líneas • No se consideran las impedancias de los generadores Con los métodos de Gauss-Seidel y Newton-Raphsonse determina la magnitud y ángulo del voltaje en cada barra con excepción de la barra oscilante en donde esa información es conocida. Con este estado del sistema se calculan los flujos de potencia y de corriente entre todas las barras [4]. 15 4.4.1. Método de Gauss-Seidel El método consiste en asignar valores estimados a los voltajes desconocidos y calcular en forma iterativa nuevos valores de voltaje para cada barra, los cuales son usados en una nueva iteración hasta la convergencia total. La ecuación básica empleada en el método Gauss-Seidel es la relacionada con la corriente que entra a cada barra en función de la potencia asociada, la corriente que entra a la barra k es [4]: 𝑵 𝑷𝒌 − 𝒋𝑸𝒌 𝑰𝒌 = 𝑽 = ∑ 𝒀𝒌𝒎𝑽𝒎 𝒌 𝒎=𝟏 ( 6) Por lo que 𝑵 𝟏 𝑷𝒌 − 𝒋𝑸𝒌 𝑽𝒌 = 𝒀 ∗ 𝑽 ∗ − ∑ 𝒀𝒌𝒎𝑽𝒎 𝒌𝒌 𝒌 𝒎=𝟏 ( 7) Siendo 𝒀𝒌𝒎 los valores de matriz de admitancia de la barra, los cuales dependen de las impedancias de las líneas de transmisión entre las diferentes barras, de las impedancias de los transformadores y de las capacitancias a tierra. La forma de tratar a la ecuación depende del tipo de barra [4]. Barra Oscilante Es la barra tomada como referencia en la cual se especifica la magnitud y ángulo del voltaje, por lo que no es necesario hacer ningún cálculo de voltaje. Barra de carga: Es la barra en donde se especifica la potencia activa y la potencia reactiva. Estas cantidades tendrán valores positivos si se trata de un generador y tendrán valores negativos si se trata de una carga. Bara de Generación: Es la barra en donde se especifica la potencia activa P y la magnitud del voltaje, desconociéndose la potencia reactiva Q, por lo que se tiene que calcular esta potencia antes de usar la ecuación anterior. La potencia aparente que entra a la barra k es: El proceso iterativo se puede resumir entonces en la forma siguiente: 1. Se calcula la matriz admitancia de barra del sistema. 2. Se tomarán como valores iniciales de voltajes todos los valores conocidos, es decir, la magnitud y ángulo en la barra oscilante y la magnitud en las barras de generación. 3. Si se trata de una barra de carga se asumirán valores iniciales de la magnitud y ángulo de voltaje en esa barra. En valores por unidad un buen estimado inicial es 1.0 para la magnitud y 0.0 para el ángulo. Las potencias activas y reactivas tendrán valores negativos si se trata de una carga y positivos si se trata de un generador. 4. Si se trata de una barra de generación se toma como valor inicial la magnitud del voltaje especificado y se asume el valor del ángulo. Las potencias activas y reactivas tendrán valores positivos si se trata de un generador y negativos si se trata de una carga. Antes de calcular el voltaje se calcula previamente la potencia reactiva mediante la ecuación 9 usando los mejores valores de voltaje que se conozcan para el momento. 5. Los valores iniciales estimados se colocan en el lado derecho de la ecuación 7 y se calcula el nuevo voltaje en el lado izquierdo. 6. En la barra de generación se corrige el valor calculado en el lado derecho mediante la ecuación 10. 7. Si se especifican los valores máximos y mínimos de la potencia reactiva de los generadores, se calcula la potencia reactiva en la barra de generación. Si el valor calculado es mayor que 16 el valor máximo especificado, se tomara el valor máximo. Si el valor calculado es menor que el valor mínimo especificado, se tomara el valor mínimo. En otras situaciones se tomará el valor calculado. 4.4.2. Método de Newton-Raphson El método de Nexton-Raphson para este proyecto es utilizado por el software Power Factory DigSIlent® para el cálculo del flujo de carga, por tal motivo se explicará más al detalle el cálculo que procede teóricamente para su mejor compresión. Este método consiste en calcular en cualquier barra k, mediante el uso de los jacobianos, los valores de potencia activa Pk, potencia reactiva Qk y voltaje Vk, y compararlos con valores especificados. Al igual que el método Gauss-Seidel, en las barras de carga se especifican los valores de P y de Q, siendo las incógnitas la magnitud y ángulo de voltaje, V y ∂, las cuales pueden conseguirse si se tiene las partes reales e imaginarias del voltaje, es decir, e y f. en las barras de generación se especifican P y V y se calcula Q y ∂, las cuales se consiguen también si se tiene a la parte real e y la parte imaginaria f del voltaje. El problema se reduce entonces a tener a e y f como incógnitas. El método tiene las ventajas que elimina los cálculos con cantidades complejas y además reduce el número de iteraciones [4]. Se derivan expresiones de P, Q y V en una barra k en función de las variables e y f, con el objeto de calcular los valores de las funciones P, Q y V y de conseguir las derivadas parciales de P, Q y V con respecto a las variables e y f, las cuales serán los elementos del Jacobiano. La corriente que entra al nodo k en un sistema de N barras es [4]: 𝑵 𝑰𝒌 = ∑ 𝒀𝒌𝒎𝑽𝒎 𝒎=𝟏 (8) En donde 𝒀𝒌𝒎 = 𝒀𝒌𝒎∠𝜃𝒌𝒎 = 𝑮𝒌𝒎 + 𝒋𝑩𝒌𝒎 ( 8) 𝑽𝒎 = 𝒆𝒎 + 𝒋𝒇𝒎 (10) La potencia que entrada al nodo es 𝑵 𝑺𝒌 = 𝑷𝒌 + 𝒋𝑸𝒌 = 𝑽𝒌𝑰𝒌 = 𝑽𝒌 ∑ 𝒀𝒌𝒎𝑽𝒎 𝒎=𝟏 (11) Siendo 𝑽𝒌 = 𝒆𝒌 + 𝒋𝒇𝒌 ( 12) Sustituyendo se tiene 𝑵 𝑺𝒌 = 𝒆𝒌 + 𝒋𝒇𝒌 ∑ (𝑮𝒌𝒎 + 𝒋𝑩𝒌𝒎)(𝒆𝒎 + 𝒋𝒇𝒎) 𝒎=𝟏 ( 9) Desarrollando 𝑵 𝑷𝒌 = 𝒆𝒌(𝒆𝒌𝑮𝒌𝒌 − 𝒇𝒌𝑩𝒌𝒌) + 𝒇𝒌(𝒇𝒌𝑮𝒌𝒌 − 𝒆𝑩𝒌𝒌) + ∑ 𝒆𝒌(𝒆𝒎𝑮𝒌𝒎 − 𝒇𝒎𝑩𝒌𝒎) + 𝒇𝒌(𝒇𝒎𝑮𝒌𝒎 − 𝒆𝑩𝒌) 𝒎=𝟏 (14) 17 𝑵 𝑸𝒌 = 𝒇𝒌(𝒆𝒌𝑮𝒌𝒌 − 𝒇𝒌𝑩𝒌𝒌) + 𝒆𝒌(𝒇𝒌𝑮𝒌𝒌 − 𝒆𝑩𝒌𝒌) + ∑ 𝒇𝒌(𝒆𝒎𝑮𝒌𝒎 − 𝒇𝒎𝑩𝒌𝒎) + 𝒆𝒌(𝒇𝒎𝑮𝒌𝒎 − 𝒆𝑩𝒌) 𝒎=𝟏 (15) Para formar la diferencia entre valores especificados y calculados, en función del jacobiano se procede de la manera siguiente [4]: 1. Para encontrar la diferencia entre valores especificados y calculados, se calculan con las expresiones anteriores las mismas cantidades que han sido especificadas en cada una de las barras con excepción de la barra oscilante. Esto es, la potencia activa en todas las barras, la potencia reactiva en las barras de carga y la magnitud del voltaje en las barras de generación. 2. Los elementos del jacobiano son las derivadas de las cantidades referidas en el punto anterior con respecto a las variables e y f. 3. El incremento de las variables es ∆𝑒 y ∆𝑓. De esta manera se tiene para cada uno de los tipos de barras: Para barras de generación y para barras de carga: 𝜹𝑃𝑘 𝜹𝑃𝑘 ∆𝑃𝑘 = 𝜹𝑒 ∆𝑒𝑚 + 𝜹𝑓 ∆𝑓𝑚 𝑚 𝑚 (16) Para las barras de carga: 𝜹𝑄𝑘 𝜹𝑃𝑘 ∆𝑄𝑘 = 𝜹𝑒 ∆𝑒𝑚 + 𝜹𝑓 ∆𝑓𝑚 𝑚 𝑚 (17) Para las barras de generación: 𝜹𝑉𝑘 2 𝜹𝑉𝑘 2 ∆𝑉𝑘 2 = ∆𝑒𝑚 + ∆𝑓𝑚 𝜹𝑒𝑚 𝜹𝑓𝑚 (18) Lo cual en forma matricial es 𝜹𝑃𝑘 𝜹𝑃𝑘 ∆𝑃 𝜹𝑒𝑚 𝜹𝑓𝑚 𝑘 𝜹𝑄 𝜹𝑃 ∆𝑒 𝑘 𝑘 𝑚 ∆𝑄𝑘 = 𝜹𝑒 𝜹𝑓 * 2 𝑚 𝑚 ∆𝑓𝑚 ∆𝑉𝑘 𝜹𝑉𝑘 2 𝜹𝑉𝑘 2 𝜹𝑒𝑚 𝜹𝑓𝑚 (19) 4.5. Python ® El lenguaje de programación Python® es creado por Guido van Rossun a principios de los años 90 cuyo nombre está inspirado en el grupo de cómicos ingleses “Monty Python”. Es administrado por la Python Software Foundation. Posee una licencia de código abierto, denominado Python Software Foundation License, la cual es compatible con la licencia publica general GNU a partir de la versión 2.1.1, e incompatible en ciertas versiones anteriores, este lenguaje es interpretado o de script, fuertemente tipado, multiplataforma y orientado a objetos [5]. 18 4.5.1. Lenguaje interpretado Un lenguaje interpretado o de script es el que se ejecuta utilizando un programa intermedio llamado interprete, lo que significa que puede ejecutar el código a lenguaje máquina que puede comprender y ejecutar directamente un ordenador. La gran ventaja que tiene los lenguajescompilados es que su ejecución es más rápida, sin embargo, los lenguajes interpretados son más flexibles y más portables [5]. Python® cuanta no obstante con muchas características de los lenguajes compilados, por lo que se podría decir que es semi interpretado, En Python® como en Java y muchos otros lenguajes, el código fuente se traduce a un pseudo código maquina intermedio llamado bytcode la primera vez que se ejecuta, generando archivos .pyc o .pyo (bytcode optimizado), que son los que se ejecutaran en sucesivas ocasiones [5]. 4.5.2. Tipado Dinámico La característica de tipado dinámico se refiere a que no es necesario declarar el tipo de dato que va a contener una determinada variable, sino que su tipo se determina en tiempo de ejecución según el tipo del valor al que se asigne, y el tipo de esta variable puede cambiar si se le asigna un valor de otro tipo. El lenguaje de Python® utiliza tipado dinámico y conteo de referencias para la administración de memoria [5]. 4.5.3. Fuertemente Tipado Este concepto hace referencia a que no se permite |tratar a una variable como si fuera de un tipo distinto al que tiene, es necesario convertir de forma explícita dicha variable al nuevo tipo previamente. Por ejemplo, si tenemos una variable que contiene un texto (variable de tipo string o cadena) no se puede utilizar como numero (sumar la cadena “9” y el numero 8). En otros lenguajes el tipo de la variable cambiaria para adaptarse al comportamiento esperado, aunque esto es más propenso a errores [5]. 4.5.4. Multiplataforma El intérprete de Python® está disponible en variadas plataformas (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc) por lo que si no utilizamos librerías específicas de cada plataforma [5]. 4.5.5. Orientada a Objetos La programación orientada a objetos es un paradigma de programación en el que los conceptos del mundo real relevantes para nuestro problema se trasladan a clases y objetos en nuestro programa. La ejecución del programa consiste en una serie de interacciones entre los objetos [5]. Es importante resaltar que una característica importante de Python® es la resolución dinámica de nombres; es decir, lo que enlaza un método y un nombre de variable durante la ejecución del programa (también conocido como enlace dinámico de métodos) [5]. 4.6. DIgSilent PowerFactory ® Es una aplicación de software de análisis de sistemas de energía líder para su uso en el análisis de sistemas industriales, de generación, transmisión y distribución. Cubre la gama completa de funcionalidades, desde características estándar hasta aplicaciones altamente sofisticadas y avanzadas 19 que incluyen energía eólica, generación distribuida, simulación en tiempo real y monitoreo de desempeño para pruebas y supervisión de sistemas [6]. 4.6.1. Interfaz Python®-DIgSilent® En el software DIgSilent Power Factory®, es posible la automatización de tareas mediante el uso del lenguaje de programación Python®, el cual permite acceder a la modificación de parámetros, como por ejemplo poder cambiar el estado de una línea de transmisión de un estado fuera de sericio a un estado de servicio u operación, a través del script o en el Programing Lenguage Digsilent® (DPL) [7]. Ilustración 2. Interface de operación entre Python y DigSilent Power Factory [7] El lenguaje de programación DPL, tiene como propósito ofrecer una interfaz para tareas automáticas a realizarse en la herramienta computacional DigSIlent Power Factory®, esta relación entre herramientas computacionales se puede observar en la Ilustración 2. Esta interfaz permite acceder a comandos y objetos que maneja DIgSILENT®, así como también acceder a funciones y variables creadas por el usuario [7]. DIgSILENT PROGRAMMING LANGUAGE (DPL), es un lenguaje de programación de propósito general en Power Factory DigSIlent®, es usado para automatizar procesos y cálculos dentro de un proyecto, permitiendo al usuario la creación de nuevas funciones de cálculo, en todas las áreas de análisis de un Sistema Eléctrico de Potencia [8]. La filosofía de este lenguaje de programación es: • Brindar acceso a todos los valores de entrada y salida • Uso de todos los comandos se calculo • Acceso a archivos de resultados, graficas, bases de datos. • Exportación de archivos. • Orientado a objetos El DPL además cuenta con una librería de funciones que pueden ser utilizadas para diferentes estudios aplicados a un sistema de potencia, en la Tabla 1. se muestra el estudio que corresponde a cada función: 20 Tabla 1. Listado de comandos de cálculo Python® es un lenguaje de programación interpretado y multiplataforma, de alto nivel con un tipado dinámico fuerte, que contiene una gestión automática de los recursos de alto grado de introspección y de un sistema de gestión de excepciones. Es libre y gratuito y funciona en todas las plataformas [8]. Su sintaxis es minimalista, explicita, clara, sencilla y lo suficientemente cercana al lenguaje natural como para permitir que un algoritmo se comprenda tras su primera lectura. Una de las ventajas de este lenguaje es que la elaboración de una reflexión, de un algoritmo compuesto por palabras, se declina de forma prácticamente natural [8]. El lenguaje de Script es el que permite realizar las siguientes acciones en DIgSilent PowerFactory®: • Automatizar tareas. • Crear comandos de cálculos definidos por el usuario. • Integrar DIgSilent PowerFactory ® en otras aplicaciones. Algunas de las características más notables de Python® se mencionan a continuación: • De uso general, el lenguaje de programación de alto nivel • Muy claro, sintaxis legible. • Sin propietario, libre bajo licencia de código abierto. • Ampliamente utilizado. • Amplias bibliotecas estándar y módulos de terceros. La funcionalidad de PowerFacttory® se proporciona en Python a través de un módulo dinámico de Python® (“powerfactory.pyd”) que interactúa con la API PowerFactory (Application Programming Interface). Esta solución permite a un script en Python para tener acceso a una amplia gama de datos disponibles en el PowerFactory® [8]. Todos los objetos. ✓ Todos los atributos (datos de elementos, datos de tipo, resultados) ✓ Todos los comandos (cálculos del flujo de carga, etc.) ✓ La mayoría de funciones especiales incorporadas (funciones DPL). 4.7. RBTS DE 7 FEEDERS El RBTS (Roy Billinton Test Sistem) fue elaborado para fines académicos y propósitos de investigación por Roy Billinton en la Universidad de Saskatchewan, Canadá. Siendo así un sistema de distribución elaborado lo suficientemente pequeño como para permitir la ejecución de pruebas para estudio de confiabilidad en tiempos justificablemente cortos. 21 El RBTS se muestra en la Ilustración 3 la cual muestra la identificación de cada elemento que corresponde a la topología. Este sistema tiene 3 barras a una tensión nominal 11 KV las cuales tienen asociadas redes de distribución diseñadas para cada barra. Cuenta con 7 alimentadores que se reparten el total de las cargas de la topología, estas cargas alcanzan a una potencia instalada de 40 MW, cabe aclarar que para este trabajo se omite los nodos de 33 kV debido a practicidad de estudio y poder contrastar resultados con el texto académico. Ilustración 3. RBTS de 7 fedders [13] 22 Investigar estado actual sobre métodos de implementación de algoritmos para el estudio de confiabilidad y flujos de carga en redes eléctricas, comprendiendo su funcionamiento y limitaciones. 1.Consultar en bases de datos academicas sobre trabajos relizados previamente en la implementacion de algoritmos relacionados con el software Digsilent Power Factory ® 5. Metodología Para el desarrollo y ejecución de este trabajo se siguen pasos que van dando cumplimiento a cada uno de los objetivos planteadosen el Capítulo 3. Por esto se muestra en la Ilustración 4 la secuencia de pasos que aclaran el cómo se cumplen las diferentes actividades planteadas y bajo que conceptos de trabajo se cumplen cada una de ellas. 2. Realizacion de codigo basado en lenguaje de programacion orientad a objetos aprovechando la ejecucion de metodos para la optimizacion en lineas de codigo. 3. Aplicacion de algoritmo computacional en caso de estudio, analizando los datos de salida de los estudios de confuabilidad y flujo de carga. Ilustración 4. Diagrama de bloques de metodología Evaluar algoritmo implementado, observando el impacto que conlleva realizar las diferentes ingenierías al caso de estudio “RBTS DE 7 FEEDERS”. Determinado así la funcionalidad del algoritmo. Diseñar y desarrollar algoritmo basado en el lenguaje de programación Python®, aprovechando el módulo de conexión con el software DIgSilent® aplicado al caso de estudio “RBTS DE 7 FEEDERS”. M et o d o lo g ía 23 6. Métodos de implementación de algoritmos para el estudio de confiabilidad y flujos de carga en redes eléctricas En esta sección se muestra el resultado de una búsqueda bibliográfica sobre trabajos académicos realizados sobre la implementación de algoritmos computacionales para el estudio de confiabilidad y flujo de carga aplicados a sistemas eléctricos, en su mayoría a sistemas de distribución eléctricos, para observar las diferentes metodologías y modelos utilizados en la ejecución de los estudios. Además, esta búsqueda se enfatiza en aquellos trabajos los cuales utilizan el módulo de conexión entre Python® y DIgSilent Power Factory®. 6.1. Elaboración de una Herramienta Computacional para la Evaluación de la Confiabilidad de Sistemas de Transmisión eléctricos: Este trabajo de investigación se realiza en el año 2006 y se basa en la elaboración de una herramienta computacional para la evaluación de la confiabilidad en sistemas de transmisión eléctricos. En el texto se muestra primero los métodos estudiados probabilísticos comúnmente utilizados en este tipo de estudios, posteriormente se observa la implementación del método Monte Carlo como base del desarrollo del algoritmo, posteriormente se realiza una validación en el Sistema Interconectado Central de Chile. De esta investigación se resalta la estructura general que utiliza el autor para la implementación del algoritmo, mostrado en la Ilustración 5. se muestra el diagrama de flujo de la herramienta computacional, ceñida sobre la metodología de monte Carlo secuencial con muestreo de transición de estados del sistema. [9]. Ilustración 5. Estructura general del algoritmo implementado [9] 24 6.2. Análisis de Confiabilidad Nivel I a través del Modelamiento Probabilístico de una fuente Eólica de Energía: Este documento se elabora en el año 2012 y en él se muestra la implementación y el desarrollo de un modelo probabilístico del recurso eólico, para luego a través de simulación de Monte Carlos obtiene los índices de Confiabilidad LOEE y EIR, posteriormente se valida el sistema en un sistema de potencia RBTS. Teniendo en cuenta lo anterior se resalta la metodología utilizada en la implementación del algoritmo para el estudio de confiabilidad, esta metodología se muestra en la Ilustración 6. Además, se puede observar en la Ilustración 6 se muestra el diagrama de flujo de la herramienta computacional, basada sobre la metodología de monte Carlo secuencial con muestreo de transición de estados del sistema. Este flujo corresponde a la necesidad de poder ver el impacto de generación distribuida en un sistema de distribución [10]. Ilustración 6. Diagrama de flujo del algoritmo modelo Monte Carlo [10] 6.3. Desarrollo de un algoritmo para el estudio de carga armónica para Sistemas radiales de Distribución mediante el lenguaje de programación Python: En este texto se realiza en el año 2020 y muestra la implementación de un algoritmo para el estudio de la penetración de cargas no lineales en distinto nodos de un sistema de potencia, para ello se utiliza el lenguaje de programación Python y en uno de los escenarios de evaluación se utiliza el módulo de conexión con el software DIgSilent. De este trabajo se resalta el flujograma que se utilizó para la resolución del sistema que se muestra en la Ilustración 7 [11]. 25 INICIO Datos especifico de entrada del sistema de distribución SI Ilustración 7. Diagrama de flujo del algoritmo flujo de carga [11] Linealización de la (1) = 𝑡𝑎𝑛 ( *;𝛾 = 𝛿 − 𝜀 ; −1 4 (1) (1) (1) (1) 𝐺 = ;𝐺 = 0.3((𝑉1) )3 𝑐𝑜𝑠 (3(1𝛿) 0.3(V (5) )2cos(3δ (5) ); g (1) = 0.3(V (1) )3 sen (3δ (1) ) + (5) (5) (5) Almacenamient o 1 Posición del armónico <= Selección número de barras Número de linealizaciones<= Número de barras que contiene Resultado del barrido de Resultados de FIN Selección de armónicos 3,5,7,11,13,17,19,23,25 NO SI Selección de armónico queafecta a las cargas NO SI 26 De los alcances del algoritmo el autor se identifica su fácil implementación, resalta la transparencia con la que el código se basa en el modelo utilizado para realizar el estudio de flujo de carga calculando las variables de interés, obteniendo resultados satisfactorios en función de variaciones que se producen en las redes de distribución. Por último, el autor comenta sobre el mínimo error que presentan estos resultados al compararles con los arrojados por el software DigSilent resaltando su fiabilidad en resultado de datos de salida [11]. 6.4. PyDSAL - Python Distribution System Analysis Library: Este artículo se realiza en el año 2020 describe la implementación de un conjunto de funciones de la biblioteca Python orientada a objetos para el análisis de un sistema de distribución. Para ilustrar dichas funcionalidades se realiza con un ejemplo de flujo de carga, este se implementa mediante el cálculo basado en el método de barrido hacia adelante y hacia atrás. De esta investigación se resalta la conclusión del autor al comentar sobre la utilización del lenguaje como versátil y de aprovechamiento para estudios del mismo carácter que conlleven más complejidad de análisis, resalta además la transparencia del lenguaje durante el desarrollo. [12] En la Tabla 2 se muestran un resumen de las variables identificadas de entrada y salida en los algoritmos implementados de cada estudio bibliográfico revisado. Cada autor identifica las variables a utilizar según el método que utilizo como base para desarrollar el algoritmo en particular. Tabla 2. Resumen de variables utilizadas en bibliografía estudiada Autor Variables de entrada Variables de salida Elaboración de una Herramienta Computacional para la Evaluación de la Confiabilidad de Sistemas de Transmisión eléctricos El programa utiliza 5 archivos de entrada lo cuales son; *barras.csv: el cual indica la identificación, tensión en kv, capacidad en pu, ángulos límites en radianes, y costo de falla en US$/MWh de cada barra del sistema. *tramos.csv: el cual identifica las líneas y tramos de transmisión y transformación del sistema, además de incluir sus parámetros eléctricos en puy de disponibilidad *unidades.csv: el cual contiene información de cada unidad generadora el sistema, la barra la que inyecta potencia , su mínimo técnico de generación en pu, los mantenimientos programados y los parámetros de disponibilidad. *demanda.csv: el cual contiene en cada columna la demanda horario en cada barra *generacion.csv: el cual contiene en cada columna la generación disponible en cada unidad generadora El programa arroja índices de confiabilidad como: *LOLE *LOLP *EENS *EDNS *EFLC *ADLC 27Análisis de Confiabilidad Nivel I a través del Modelamiento Probabilístico de una fuente Eólica de Energía: El algoritmo utilizado inicializa como primera medida las siguientes variables: *H: corresponde a la cantidad de horas de falla *N: hace referencia a las horas simuladas, que está relacionado con la cantidad de iteraciones *E: energía no suministrada Se introducen los datos: *Datos de generación: estos son números de unidades de generación (convencionales e intermitentes), potencia generada por cada unidad *Datos de la curva de duración de carga: Los cuales hacen referencia a los números de la curva de carga y probabilidad de ocurrencia Finalmente, el programa arroja los índices de confiabilidad como: *LOEE *EIR *LOLP *LOLE Desarrollo de un algoritmo para el estudio de carga armónica para Sistemas radiales de Distribución mediante el lenguaje de programación Python Para el algoritmo utilizado en este documento se identifican las siguientes variables de entrada: *R (pu): Hace referencia a la resistencia asociada a la barra n por unidad *X (pu): Hace referencia a la reactancia asociada a la barra n por unidad *P (pu): Hacer referencia a la potencia activa de la barra en por unidad *Q (pu): Hacer referencia a la potencia reactiva de la barra en por unidad Se presenta como variable de salida el THD (porcentaje de distorsión armónica), Los valores de distorsión armónica están definidos en porcentajes (%) de cantidades eléctricas, estos valores son utilizados para reconocer el grado de contaminación de redes eléctricas. Por lo tanto, la distorsión armónica total (THD) se utiliza para definir la importancia del contenido armónico de una señal alternativa PyDSAL - Python Distribution System Analysis Library Las variables utilizadas en este documento como entrada se especifican a continuación: *Parámetros de barra: se debe conocer variables como; potencia activa, potencia reactiva, impedancia *Parámetros de línea: se deben conocer la resistencia, la reactancia, la admitancia *Parámetros de carga: para las cargas se debe conocer; tensión, potencia reactiva mínima, potencia reactiva máxima Para la salida arrojada por el algoritmo se muestra: *Potencia activa: esta se muestra para las cargas y las perdidas *Potencia reactiva: esta se muestra para las cargas y las perdidas *Perfil de voltaje: donde por nodo se visualiza la magnitud de tensión y el Angulo Propuesta a desarrollar por autor Las variables de entrada propuestas para el algoritmo a implementar serán: *Cantidad de fallas x kilómetro de red registrada históricamente *Indicador de simulación de líneas *pNomGrid hace referencia al nombre del proyecto del programa digsilent *Factor de potencia para la carga *nombre de las suplencias asociadas Las variables de salida que se obtienen en la base de datos son: *Corriente de cabecera *Regulación por circuito *Carga asociada a cada circuito *SAIFI para todo el sistema *SAIDI para todo el sistema *ENS para todo el sistema 28 7. Diseño y desarrollo de algoritmo En esta sección del documento se presenta el caso de usos del algoritmo mostrado en la Ilustración 6 y la rutina de funcionamiento del algoritmo implementado mostrado en el diagrama de flujo de la Ilustración 7. Utilizando el lenguaje de programación Python® bajo el concepto de programación orientado a objetos para su optimización en líneas de código y tiempo de ejecución del mismo, además de la facilidad que brinda este lenguaje para poder llamar objetos del software DigSIlent Power Factory® y trabajar con sus propiedades eléctricas al momento de la ejecución del algoritmo para la simulación de los estudios eléctricos. 7.1. Diseño de algoritmo En la Ilustración 8 se muestra el diagrama de casos de usos correspondiente al algoritmo implementado en el proyecto. El actor se identifica como el ingeniero de diseño que utilizaría la herramienta computacional al cual como primera acción se solicitara escribir en líneas de código el nombre del archivo en formato pfd (archivo compatible en DigSIlent Power Factory®), también se le solicitara que en líneas de código ingrese las suplencias asociadas al circuito al cual se realizara el estudio de confiabilidad correspondiente. Una vez realizado lo anterior, se ejecuta el script que almacena el código, el cual bajo los métodos creados iterara n cantidad de veces dependiendo del número de variaciones de red (ingenierías) que se hayan realizado al caso base de estudio, para posteriormente generar y exportar el archivo en formato xlsx donde se visualiza la base de datos con los resultados de los estudios realizados. Ilustración 8. Diagrama de caso de estudios de algoritmo implementado 29 En la Ilustración 9 se muestra el diagrama de flujo con la lógica de ejecución del algoritmo implementado, para posteriormente explicar los métodos o funciones creados para la ejecución del código y como estos funcionan en la generación el informe final que se exporta una vez finalizado el tiempo de ejecución. Ilustración 9. Diagrama de flujo del algoritmo estudio confiabilidad y flujo de carga 30 7.2. Desarrollo de algoritmo A continuación, se muestra el diagrama de clases de los métodos más importantes contenidos en líneas de código y que se utilizan para poder automatizar las tareas que se requieren para poder realizar los estudios eléctricos para cada escenario. El método findProject nos permite buscar el proyecto dentro del software DIgSilent al cual vamos a realizar el estudio. En la ilustración 11 se observa la representación de la clase, identificándose en la parte superior el nombre asociado a la clase (findProject). Posteriormente en el cuadro intermedio los atributos o valores que va recibir (pProject) y que son utilizadios para definir el tipo de variables que va a leer una vez se ejecute. Y por último la parte inferior se muestran las acciones que tiene definidas este método al instanciarse en el código principal, para este método las acciones definidas es realizar una búsqueda del nombre del proyecto, este nombre debe corresponder a como fue guardado desde la carpeta que contiene el archivo, para una vez realizado esta acción ejecutar el análisis en los casos de estudio que estén albergados allí. Ilustración 10. Representación gráfica de clase findProject limpiaContentScript: limpia la tabla de Python script luego de un estudio sobre el caso base, o una variación del mismo. En la ilustración 12 se observa la representación de la clase, identificándose en la parte superior el nombre asociado a la clase (limpiaContentScript). Posteriormente en el cuadro intermedio los atributos o valores que va recibir (pApp) y que son utilizados para definir el tipo de variables que va a leer una vez se ejecute. Y por último la parte inferior se muestran las acciones que tiene definidas este método al instanciarse en el código principal, para este método las acciones definidas es ejecutar una limpieza de la tabla de Python script luego de cada estudio realizado sobre el caso base o las variaciones que contenga el escenario base. Ilustración 11. Representación gráfica de clase limpiaContentScript limpiarCarpetaLibSto: limpia la carpeta que contiene el Python script. En la ilustración 13 se observa la representación de la clase, identificándose en la parte superior el nombre asociado a la clase (limpiarCarpetaLibSto). Posteriormente en el cuadro intermedio los atributos o valores que va recibir (pApp, 31 pNombreProyecto) y que son utilizados para definir el tipo de variables que va a leer una vez se ejecute. Y por último la parte inferior se muestran las acciones que tiene definidas este método al instanciarse en el código principal, para este método las acciones definidas es ejecutar una limpieza de la carpeta que contieneel archivo de sript, cada vez que se ejecute la simulación. Ilustración 12. Representación gráfica de clase limpiarCarpetaLibSto existeObj: determina la existencia de un objeto. En la ilustración 14 se observa la representación de la clase, identificándose en la parte superior el nombre asociado a la clase (existeObj). Posteriormente en el cuadro intermedio los atributos o valores que va recibir (pApp, pNombre, pObjetoPadre, PTipoObjeto) y que son utilizados para definir el tipo de variables que va a leer una vez se ejecute. Y por último en la parte inferior se muestran las acciones que tiene definidas este método al instanciarse en el código principal, para este método las acciones definidas es determinar la existencia de un objeto, esto se realiza con el fin no repetir la creación de dos objetos exactamente iguales. Ilustración 13. Representación gráfica de clase existeObj creaObjFallaLinea: Si el método existeObj existe, devuelve un valor nulo, de lo contrario creo un objeto con falla asiganandole entre sus atributos la cantidad de fallas como variable de entrada global. En la ilustración 15 se observa la representación de la clase, identificándose en la parte superior el nombre asociado a la clase (creaObjFallaLinea). Posteriormente en el cuadro intermedio los atributos o valores que va recibir (pApp, pObjetoPadre, pTramos, pDnFr, pRepMu, pTrans_ff) y que son utilizados para definir el tipo de variables que va a leer una vez se ejecute. Y por último en la parte inferior se muestran las acciones que tiene definidas este método al instanciarse en el código principal, para este método las acciones definidas es crear fallas en todas las líneas que contenga el sistema, asignándole la cantidad de fallas especificadas entre las variables globales, esto se realiza con el fin de poder dar un aproximado de tasa de fallas según los datos que el ingeniero de diseño tenga sobre el sistema a simular. 32 Ilustración 14. Representación gráfica de clase creaObjFallaLinea crearElmReporte: crea un objeto con el nombre crearElmReporte. En la ilustración 16 se observa la representación de la clase, identificándose en la parte superior el nombre asociado a la clase (crearElmReporte). Posteriormente en el cuadro intermedio los atributos o valores que va recibir pApp, pNombre, pCalTp) y que son utilizados para definir el tipo de variables que va a leer una vez se ejecute. Y por último en la parte inferior se muestran las acciones que tiene definidas este método al instanciarse en el código principal, para este método las acciones definidas es crear un objeto que genere el reporte final de la base de datos como resultado final. Ilustración 15 . Representación gráfica de clase crearElmReporte crearComConfiabilidad, este objeto hace uso de la función ComRel3 la cual es la encarga de realizar el análisis confiabilidad. En este objeto se le asigna dentro de sus atributos las variables inicializadas en las variables globales. En la ilustración 17 se observa la representación de la clase, identificándose en la parte superior el nombre asociado a la clase (crearComConfiabilidad). Posteriormente en el cuadro intermedio los atributos o valores que va recibir (pApp, pNombre, pIopt_net, ptSel, pIopt_prot, pIopt_type, pLoadmax, pIopt_bcv, pOvl_relax, pIopt_prio, pP_resenum, pTRemoteCB, pIeee1366SAIFI, pIopt_rep, pParallel_Cp) y que son utilizados para definir el tipo de variables que va a leer una vez se ejecute. Y por último en la parte inferior se muestran las acciones que tiene definidas este método como acción principal está la de instanciar la función ComRel3 la cual hace uso de los atributos de los elementos que compone el topológico para realizar los estudios de confiabilidad. 33 Ilustración 16. Representación gráfica de clase crear ComConfiabilidad crearComCFlujo, es un objeto que utiliza la función ComLdf, dicha función es la encargada de ejecutar el estudio de flujo de carga en el sistema.ejecutarConfilidad: Este objeto se encarga de la ejecución del estudio de confiabilidad en el escenario base y las variaciones que se hayan creado previamente, se toman los atributos de los índices de SAIFI, ENS, SAIDI. En la ilustración 18 se observa la representación de la clase, identificándose en la parte superior el nombre asociado a la clase (crearComCFlujo). Posteriormente en el cuadro intermedio los atributos o valores que va recibir (pApp, pNombre, pCheckC, pVlMin) y que son utilizados para definir el tipo de variables que va a leer una vez se ejecute. Y por último en la parte inferior se muestran las acciones que tiene definidas este método como acción principal está la de instanciar la función ComLdf la cual hace uso de los atributos de los elementos que compone el topológico para realizar los estudios de flujo de carga. Ilustración 17. Representación gráfica de clase crear crearComCFlujo analisisIntegral: en este método se integra el estudio de confiabilidad y flujo de carga para los escenarios donde se requiere estudiar un circuito asociado con sus suplencias respectivas. En la ilustración 19 se observa la representación de la clase, identificándose en la parte superior el nombre asociado a la clase (analisisIntegral). Posteriormente en el cuadro intermedio los atributos o valores que va recibir están 34 relacionados con valores definidos necesarios para los estudios a ejecutar en cada escenario (vApp, vProyecto, pNomGrid, vCaso, tf_cto, pIopt_net, ptSel, pIopt_prot, vIopt_type, pLoadmax, pIopt_bcv, pOvl_relax, pIopt_prio, pTRemoteCB, pIeee1366SAIFI, pIopt_rep, pParallel_Cp) y que son utilizados para definir el tipo de variables que va a leer una vez se ejecute. Y por último en la parte inferior se muestran las acciones que tiene definidas. Este método integra el estudio de confiabilidad y flujo de carga para poder ejecutarlo en los escenarios que se tengan propuestos desde el software, teniendo en cuenta todos los circuitos que comprenden el sistema. Ilustración 18. Representación gráfica de clase crear analisisIntegral Una vez se ha visto los la representación por diagramas de clases de los métodos más importantes del algoritmo, en la Ilustración 19 se muestra la relación estos métodos según la rutina del algoritmo. Donde cómo se puede observar el método analisisIntegral comprende los dos estudios base de la simulación los cuales son confiabilidad y flujo de carga. Este método utiliza parámetros ya definidos en los métodos anteriores y ejecuta su tarea según la cantidad de variaciones de red que se tengan. De la ejecución del método anlisisIntegral se puede observar que para su previa ejecución se debe haber definido el proyecto al cual el realizara su análisis y que posteriormente se relaciona con la generación del reporte de resultados finales. 35 Ilustración 19. Diagrama de clases de algoritmo 36 La secuencia que se desarrolla en el código sigue la rutina que se muestra a continuación Primero se inicializan variables de entrada como tf_cto (Cantidad de fallas por kilómetro de red) pIopt_lne (Indicador de simulación de lineas), vIopt_type(método de ejecución de confiabilidad), pLoadmax (máxima cargabilidad de los componentes), esto se muestra en las líneas de código de la Ilustración 8. Ejecución de método analisisIntegral para escenario base y las n variaciones de red que se hayan realizado al escenario base, como se muestra en las líneas de código de la Ilustración 20. Ilustración 20. Ejecución de método analisisIntegral para caso base y n variaciones del caso base. Se ejecuta posteriormente el método vLoadFlujo para el escenario base y las n variaciones que se hayan creado de este, como se muestra en las líneas de código de la Ilustración 21. Ilustración 21.Ejecución método vLoadFlujo para el escenario base y las n variaciones que se hayan creado Posteriormente se procede con la creaciónde variable de salida vNobFile la cual se le asigna el método de escribirArchivoAgregar al cual se le introducen como parámetros los nombres de las columnas según la información de salida en la base de datos, como se muestra en la Ilustración 22. 37 Ilustración 22. Creación de variable de salida vNobFile la cual se le asigna el método de escribirArchivoAgregar Una vez ha finalizado la ejecución del código se genera el archivo “Resuemn.csv”, el cual contiene la información de salida de los estudios realizados en la topología. Este archivo se guarda en la misma ubicación donde se tenga alojado el archivo de código, como se muestra en la Ilustración 23. Una vez ha finalizado la ejecución del código se genera el archivo “Resuemn.csv”, el cual contiene la información de salida de los estudios realizados en la topología. Este archivo se guarda en la misma ubicación donde se tenga alojado el archivo de código, como se muestra en la Ilustración 23. Ilustración 23. Localización de archivo “resumen.csv”. La creación de los métodos anteriores optimiza las líneas de código principal. La secuencia de funcionamiento del código principal empieza abriendo el nombre del proyecto que en líneas de código el usuario ha tenido que ingresar y el cual corresponde al nombre del archivo como se muestra en el data manager. El proyecto es activado y se hace uso del método analisisIntegral explicado anteriormente, esto se incluye dentro de un FOR para poder realizar el análisis para el número de casos que tenga el proyecto. Posteriormente se procede con la creación de variable de salida vNobFile la cual se le asigna el método de escribirArchivoAgregar para poder generar un archivo csv con la tabla de resultados finales para cada escenario. 38 8. Caso de estudio: Sistema de potencia RBTS (Roy Billinton Test System) Debido a la confidencialidad y políticas del tratamiento de información que Enel-Codensa maneja, no se tomó circuitos de propiedad de la empresa para validar la herramienta y mostrar los resultados en este documento. Sin embargo, se opta por realizar dicha validación en un sistema eléctrico de potencia que se encuentra en la academia como lo es el RBTS (Roy Billinton Test Sistem). Roy Billinton Test Sistem fue elaborado para fines académicos y propósitos de investigación por Roy Billinton en la Universidad de Saskatchewan, Canadá. Roy Billinton (nacido el 14 de septiembre de 1935) es un académico canadiense y profesor emérito distinguido en la Universidad de Saskatchewan, Saskatoon, Saskatchewan, Canadá. En 2008, Billinton ganó la Medalla de Energía Eléctrica de IEEE Canadá por su investigación y aplicación de conceptos de confiabilidad en sistemas de energía eléctrica. [13] En 2007, Billinton fue elegido Asociado Extranjero de la Academia Nacional de Ingeniería de los Estados Unidos por "contribuciones a la enseñanza, la investigación y la aplicación de la ingeniería de confiabilidad en los sistemas de generación, transmisión y distribución de energía eléctrica". [13] Billinton es conocido en el mundo académico y en la industria de la energía por su trabajo en la evaluación de la confiabilidad del sistema de energía. Es autor o coautor de ocho libros que tratan sobre la confiabilidad del sistema eléctrico. Dos de estos libros, ahora en su segunda edición, se han vuelto a publicar en chino y uno en ruso. Su primer libro, publicado en 1970, se considera el primer libro en inglés sobre el tema de la confiabilidad del sistema eléctrico. [13] Estos libros se han utilizado en todo el mundo como libros de texto de investigación y estudio. Es autor o coautor de más de 950 artículos técnicos relacionados con su investigación con más de 525 publicaciones en revistas internacionales arbitradas. Se publicaron más de 400 artículos en actas de congresos en Canadá, Estados Unidos, Reino Unido, Francia y otros países. [13] Las otras áreas de contribución significativa de Billinton incluyen la evaluación probabilística de la estabilidad transitoria, la confiabilidad general del sistema que incorpora un marco de sistema jerárquico, la causa común y las interrupciones de los componentes dependientes, modelos de interrupciones climáticas adversas y el desarrollo del sistema de prueba Roy Billinton (RBTS). [13] Estudios que están relacionados con este sistema eléctrico a estudiar son asociados a diferentes áreas de la ingeniería eléctrica como; Costo de las interrupciones de los clientes, una de las áreas más visibles de la investigación de Billinton es la evaluación del costo / valor de la confiabilidad que involucra los costos de interrupción de energía del cliente. [13] Otro tema asociado es la utilización de modelos de Markov, El trabajo de Billinton incluye actividades de reparación y reemplazo. Una importante contribución inicial de Billinton a la literatura de ingeniería energética fue la utilización de modelos de Markov para incorporar la reparación de componentes y provisiones de componentes de repuesto. Estos modelos se aplicaron para evaluar los beneficios de los transformadores de repuesto y las válvulas de arco de mercurio en las estaciones convertidoras de transmisión de corriente continua de alto voltaje. [13] El RBTS que se trabaja en este documento corresponde a un sistema eléctrico de distribución mostrando una gran similitud con los circuitos reales existentes en la topología de propiedad de la empresa. Los parámetros que constituyen este sistema se explican a continuación. Siendo así un sistema de distribución elaborado lo suficientemente pequeño como para permitir la ejecución de pruebas para estudio de confiabilidad en tiempos justificablemente cortos [13]. 39 El RBTS se muestra en la Ilustración 24 la cual se muestra la identificación de cada elemento que corresponde a la topología. Este sistema tiene 3 barras a una tensión nominal 11 KV las cuales tienen asociadas redes de distribución diseñadas para cada barra. Cuenta con 7 alimentadores que se reparten el total de las cargas de la topología, estas cargas alcanzan a una potencia instalada de 40 MW [13]. La topología es modelada y creada desde el software DIgSilent PowerFactory ® que visualmente permite identificar los elementos correspondientes como cargas, transformadores, barrajes y líneas que conforman el sistema en su totalidad. Además, se puede identificar por colores los circuitos que conforman el escenario de estudio. 40 Ilustración 24. Sistema de distribución RBTS, identificación de elementos 41 Este sistema no cuenta con unidades de generación de esta manera se permite visualizar los diferentes efectos causados únicamente por el sistema de transmisión en la carga total. Las cargas pico definidas en el RBTS para diferentes tipos de clientes se muestran en la Tabla 3 [13]. Tabla 3. Picos de carga para diferentes tipos de consumidores en el RBTS Tipo de Consumidor Pico de Carga MW Residencial 7.25 Pequeños usuarios 3.5 Instituciones Gubernamentales 5.55 Comercial 3.7 Total 20 Para el diseño de las redes de distribución se siguieron algunos criterios respondiendo a la topología y a las clasificaciones de los niveles de carga, dichos criterios se mencionan a continuación [13]: • Las cargas residenciales, gubernamentales e institucionales se miden al lado de baja del transformador, mientas que las cargas de usuarios pequeños son medidas del lado de alta • Los alimentadores funcionan de manera radial, aunque estos conformen una malla a simple vista, se realizan seccionamientos entre límites de cada feeders o alimentador para mantener esta propiedad • Se identifican todos los interruptores del sistema • Las líneas que se muestran en la topología se consideran como líneas áreas en su totalidad. El RBTS es definido desde la Tabla 3 con las características de carga asociadas a cada tipo
Compartir