scieee AI-readable full text Open interactive document viewer

Potencia óptima de los transformadores asociados a plantas de energía solar fotovoltaica

Caloca Mendo, Daniel

Abstract

Departamento de Ingeniería Eléctrica

Full text

1 UNIVERSIDAD DE VALLADOLID ESCUELA DE INGENIERIAS INDUSTRIALES Grado en Ingeniería Eléctrica Potencia óptima de los transformadores asociados a plantas de energía solar fotovoltaica Autor: Caloca Mendo, Daniel Tutor: Serrano Sanz, José Andrés Departamento Ingeniería Eléctrica Valladolid, junio de 2019. 2 3 Resumen: La potencia nominal del transformador de una planta de generación fotovoltaica viene determinada por la máxima potencia que es capaz de entregar a través de sus inversores. La peculiar entrega de potencia de las plantas fotovoltaicas, que tienen cada mediodía un pico de potencia, permite que el transformador a instalar sea de una potencia nominal más baja que la máxima entregada por la planta. Esta inferior potencia nominal generará un ahorro en el coste de adquisición del transformador. Como consecuencia se producirá una sobrecarga a las horas del pico de potencia, que ocasionará una elevación de su temperatura interna por encima de la esperada en régimen nominal. La empresa Ibérica Solar, propone al Departamento de Ingeniería Eléctrica de la Universidad de Valladolid, desarrollar un programa en Matlab, que tiene como objetivo calcular la potencia nominal óptima del transformador de la planta fotovoltaica, desde las perspectivas técnica y económica. Palabras claves: transformador, Matlab, temperatura, planta fotovoltaica. 4 Índice ÍNDICE DE FIGURAS ....................................................................................................................... 5 ÍNDICE DE TABLAS ......................................................................................................................... 6 ÍNDICE DE FÓRMULAS ................................................................................................................... 6 GLOSARIO DE TÉRMINOS Y ABREVIATURAS.................................................................................. 8 1.INTRODUCCIÓN ........................................................................................................................ 10 1.1 INTRODUCCIÓN AL PROYECTO .......................................................................................... 10 1.2 OBJETIVOS ......................................................................................................................... 12 1.3 INTRODUCCIÓN SOBRE PLANTAS FOTOVOLTAICAS .......................................................... 13 1.4 INTRODUCCIÓN SOBRE TRANSFORMADORES .................................................................. 16 2. NORMATIVA ............................................................................................................................ 18 2.1 NORMATIVA EUROPEA ...................................................................................................... 18 2.1 NORMATIVA AMERICANA ................................................................................................. 25 3.PÉRDIDAS DEL TRANSFORMADOR ........................................................................................... 29 4.OBTENCIÓN DE DATOS A TRAVES DE PVSYST .......................................................................... 35 5.SOFTWARE ............................................................................................................................... 38 5.1 PROGRAMACIÓN DE LECTURA DE DATOS ......................................................................... 38 5.2 PROGRAMACIÓN NORMATIVA IEC ................................................................................... 39 5.3 PROGRAMACIÓN NORMATIVA IEEE .................................................................................. 41 5.4 PROGRAMACIÓN ANÁLISIS DE DATOS .............................................................................. 43 5.5 INTERFAZ DEL PROGRAMA ................................................................................................ 47 5.5 INSTALACIÓN DEL PROGRAMA ......................................................................................... 54 6. ESTUDIO DE VARIAS PLANTAS ................................................................................................. 57 7. CONCLUSIONES ....................................................................................................................... 61 8. BIBLIOGRAFÍA .......................................................................................................................... 62 8.1 FUENTES DE LAS IMÁGENES .............................................................................................. 63 ANEXO 1: CÓDIGO DEL PROGRAMA ........................................................................................... 64 ANEXO 2: FUNCIONES DEL PROGRAMA ...................................................................................... 90 ANEXO 3: VALORACIÓN FINAL DE LA EMPRESA IBÉRICA SOLAR ................................................ 92 5 ÍNDICE DE FIGURAS Figura 1. Producción diaria planta fotovoltaica Figura 2. Primer flujograma del programa Figura 3. Instalación planta fotovoltaica Figura 4. Panel fotovoltaico Figura 5. Inversor Figura 6. Elementos constructivos transformador. Figura 7. Circuito equivalente de un transformador reducido al primario. Figura 8. Función en ‘steps’. Figura 9. Flujo de Potencia planta fotovoltaica. Figura 10. Límites de potencia P-Q. Figura 11. Potencia activa Planta Fotovoltaica. Figura 12. Potencia activa Planta Fotovoltaica con pérdidas. Figura 13. Captura de pantalla PVsyst. Figura 14. Captura de pantalla PVsyst. Figura 15. Captura de pantalla PVsyst. Figura 16. Excel obtenido de PVsyst. Figura 17. Flujograma de Programa con normativa IEC Figura 18. Flujograma de Programa con normativa IEEE Figura 19. Gráficas potencia-temperatura frente a intervalo de tiempo Figura 20. Gráficas potencia-temperatura frente a intervalo de tiempo Figura 21. Gráficas potencia-temperatura frente a intervalo de tiempo Figura 22. Gráficas potencia-temperatura frente a intervalo de tiempo Figura 23. Interfaz del programa.1 Figura 24. Interfaz del programa.2 Figura 25. Interfaz del programa.3 Figura 26. Interfaz del programa.4 Figura 27. Interfaz del programa.5 Figura 28. Interfaz del programa.6 Figura 29. Interfaz del programa.7 Figura 30. Instalación del programa. Paso1 Figura 31. Instalación del programa. Paso2 Figura 32. Instalación del programa. Paso3 6 Figura 33. Instalación del programa. Paso4 Figura 34. Instalación del programa. Paso5 Figura 35. Instalación del programa. Paso6 Figura 36. La Solanilla 50MW.1 Figura 37. La Solanilla 50MW.2 Figura 38. La Solanilla 50MW.3 Figura 39. El_pedregal_10MW.1 Figura 40. El_pedregal_10MW.2 Figura 41. El_pedregal_10MW.3 ÍNDICE DE TABLAS Tabla1. Temperatura límite (fuente IEC60076-7 parte 7, pp. 18) Tabla2. Tabla de potencia de la planta fotovoltaica. (fuente PVsyst) Tabla 3. Constantes térmicas, IEC (fuente IEC60076-7 parte 7, pp. 30) Tabla 4. Constantes térmicas, IEEE (fuente IEE C57.91 95, pp. 47) Tabla 5. Temperatura límite, IEEE (fuente IEE C57.91 95, pp. 55) ÍNDICE DE FÓRMULAS Fórmula 1. Relative ageing rate (factor de envejecimiento). (fuente IEC60076-7 parte 7) Fórmula 2. Loss of life (horas). (fuente IEC60076-7 parte 7) Fórmula 3. Hot-spot en aumento de temperatura. (fuente IEC60076-7 parte 7) Fórmula 4. Incremento relativo del aumento de temperatura y el top-oil en estado estacionario. (fuente IEC60076-7 parte 7) Fórmula 5. Gradiente de temperatura entre el hot-spot al top-oil en estado estacionario en caso de aumento de temperatura. (fuente IEC60076-7 parte 7) Fórmula 6. Temperatura del top-oil inicial del siguiente step. Fórmula 7. Temperatura del hot-spot inicial del siguiente step. Fórmula 8. Hot-spot. Fórmula 9. Top-oil. Fórmula 10. Cálculo del hot-spot en disminución de temperatura. (fuente IEC60076-7 parte 7) Fórmula 11. Gradiente de temperatura del hot-spot al top-oil en estado estacionario en caso de disminución de temperatura. (fuente IEC60076-7 parte 7) 7 Fórmula 12. Temperatura del top-oil inicial del siguiente step Fórmula 13. Temperatura del hot-spot inicial del siguiente step. Fórmula 14. Temperatura del hot-spot inicial para el primer step. (fuente IEC60076-7 parte 7) Fórmula 15. Temperatura del top-oil inicial para el primer step. (fuente IEC60076-7 parte 7) Fórmula 16. Temperatura media. (fuente IEC60076-7 parte 7) Fórmula 17. Hot-spot. (fuente IEE C57.91 95) Fórmula 18. Top-oil. (fuente IEE C57.91 95) Fórmula 19. Variación de top-oil sobre la temperatura ambiente. (fuente IEE C57.91 95) Fórmula 20. Variación inicial de top-oil sobre la temperatura ambiente. (fuente IEE C57.91 95) Fórmula 21. Constante de tiempo del top-oil. (fuente IEE C57.91 95) Fórmula 22. Constante de tiempo del top-oil. (fuente IEE C57.91 95) Fórmula 23. Variación de hot-spot sobre la temperatura ambiente. (fuente IEE C57.91 95) Fórmula 24. Variación inicial de hot-spot sobre la temperatura ambiente. (fuente IEE C57.91 95) Fórmula 25. Valor nominal del aumento del hot-spot sobre el top-oil. (fuente IEE C57.91 95) Fórmula 26. Eficiencia de un transformador. (fuente MÁQUINAS ELÉCTRICAS JESÚS FRAILE MORA quinta edición, edición Mc Graw Hill) Fórmula 27. Índice de carga. (fuente MÁQUINAS ELÉCTRICAS JESÚS FRAILE MORA quinta edición, edición Mc Graw Hill) Fórmula 28. Pérdidas en el cobre. Fórmula 29. Pérdidas en el hierro. Fórmula 30. Pérdidas de potencia activa de un transformador. (fuente MÁQUINAS ELÉCTRICAS JESÚS FRAILE MORA quinta edición, edición Mc Graw Hill) Fórmula 31. Consumo de energía reactiva del Transformador. (fuente https://fornieles.es/energia-reactiva/compensacion-reactiva-transformador/) Fórmula 32. Reactancia. 8 GLOSARIO DE TÉRMINOS Y ABREVIATURAS Hot-spot: temperatura del punto más caliente de las bobinas del transformador de aceite. Top-oil: temperatura del aceite almacenado en la cuba del transformador. Relative termal ageing rate: Tasa de envejecimiento por sobretemperatura. Loss of life: horas de vida útil del transformador perdidas debido a la sobrecarga de potencia producida. Índice de carga (C): Relación entre la carga y la carga correspondiente a la potencia nominal del transformador. Fórmula 27. θh=hot-spot (Cº). ∆θh=variación de temperatura del hot-spot (ºC). ∆θhi=variación inicial de temperatura del hot-spot (ºC). θa=temperatura ambiente (ºC). θo=top-oil (ºC). ∆θo=variación de temperatura del top-oil (ºC). ∆θoi=variación inicial de temperatura del top-oil (ºC). V=relative ageing (factor de envejecimiento). L=loss of life (pérdida en horas de vida útil del transformador). θa=temperatura ambiente (ºC). K11=constante térmica de la norma europea para calcular la función f1. K21=constante térmica de la norma europea para calcular la función f2. K22=constante térmica de la norma europea para calcular la función f3. H= factor de hot-spot que depende del bobinado del transformador. R= relación entre las pérdidas a plena carga y las pérdidas en vacío. τo= constante térmica de tiempo medio de aceite (min). τw=constante térmica de tiempo de las bobinas (min). ∆θor=variación de temperatura del Top oil (ºC). x=exponente de la función potencial que da la expresión de las pérdidas totales referido al top-oil. y=exponente de la función potencial que da la expresión de corriente frente al aumento de la temperatura del devanado. θE= temperatura ambiente media (Cº). 9 θya=temperatura anual media (Cº). θma−max= temperatura media del mes más caluroso (ºC). m= constante usada para el cálculo de la variación del hot-spot con cambios de carga. n= constante usada para el cálculo de la variación del top-oil con cambios de carga. PT,R= pérdida total en vatios a carga nominal. ∆θH/A,R= es el aumento de la temperatura del punto más caliente de las bobinas sobre la temperatura del aceite a carga nominal. ∆θTO,R = es el aumento de la temperatura del aceite sobre la temperatura ambiente en carga nominal. Pcc = pérdidas del cobre a plena carga. PFe =pérdidas en el hierro. Ucc = tensión relativa de cortocircuito en %. τTO,R= es la constante de tiempo para la carga nominal que comienza con el aumento inicial de la temperatura del aceite superior de 0 ºC, horas T= es la duración de la sobrecarga en horas. 16 1.4 INTRODUCCIÓN SOBRE TRANSFORMADORES Este proyecto se basa directamente en los transformadores de aceite por lo que se pondrá en contexto esta máquina eléctrica. Esta máquina eléctrica, destinada para uso de corriente alterna, está formada por varios bobinados primarios y secundarios permitiendo transformar la energía eléctrica. Los transformadores tienen devanados de baja tensión y otros de alta tensión, el objetivo de estas máquinas es la elevación o disminución de tensión. En este caso los transformadores se encontrarán en plantas fotovoltaicas por lo que su objetivo será el de elevar la tensión a la salida de la planta fotovoltaica para su posterior transporte. Elevando la tensión conseguiremos reducir las pérdidas de energía eléctrica en el transporte hasta su llegada al punto de consumo. El devanado de baja tensión será el correspondiente a la planta fotovoltaica, mientras que el de alta tensión será el correspondiente al de la red de transporte. En la figura 6 podemos observar los distintos elementos constructivos que posee un transformador convencional. Figura 6. Elementos constructivos transformador. 17 El circuito equivalente del transformador es algo fundamental para mejorar su comprensión y realizar cualquier tipo de cálculo. Se puede observar en la Figura 7 el circuito del transformador equivalente reducido al primario. En este circuito el número de espiras del secundario es reducido a las del primario. También se pueden encontrar en paralelo la resistencia 𝑹𝑭𝒆 cuyas pérdidas de efecto Joule son las pérdidas en el hierro del transformador y la reactancia 𝑿𝝁 por la que circula la corriente de magnetización. Figura 7. Circuito equivalente de un transformador reducido al primario. 18 2. NORMATIVA El programa se contempla en dos normas sobre la carga de los transformadores refrigerados por aceite: -IEC 60076-7 parte 7 (Comité Electrotécnico Europeo), en lo sucesivo se llamará ‘norma europea’. -IEEE, (Comité Electrotécnico Americano), en lo sucesivo se llamará ‘norma americana’. Se hablará de cada una de ellas, centrándose en el tema que nos interesa que es el del cálculo de la temperatura en la situación de carga de una planta fotovoltaica. Ambas normas tienen cosas en común, sin embargo, hay cálculos que se realizan de forma diferente. 2.1 NORMATIVA EUROPEA LOSS OF LIFE (PÉRDIDA DE VIDA ÚTIL) La norma europea trata del estado del transformador cuando éste se encuentra en situaciones de carga más allá de las dispuestas en su placa de características. El envejecimiento que sufre el transformador ante estas sobrecargas es uno de los principales análisis que formula la normativa. 𝑽=𝒆(𝟏𝟓𝟎𝟎𝟎 𝟏𝟏𝟎+𝟐𝟕𝟑−𝟏𝟓𝟎𝟎𝟎 𝜽𝒉+𝟐𝟕𝟑) Fórmula 1. Relative ageing rate (factor de envejecimiento). Con la fórmula 1, donde ∅𝒉 es el hot-spot (ºC ) se obtiene el relative ageing rate. Cada hora del día obtendrá un relative ageing rate dependiendo del hot-spot del transformador. La pérdida de vida del transformador se obtiene mediante la fórmula 2. 𝑳=∑𝑽𝒏∗𝒕𝒏 𝑵 𝒏=𝟏 Fórmula 2. Loss of life (horas) Donde: • 𝐕𝐧 es el factor de envejecimiento durante el intervalo n. • 𝐭𝐧 es el tiempo del intervalo n. 19 Este sumatorio calcula la pérdida de vida en horas del transformador, la cual depende exclusivamente de la temperatura del hot-spot. LÍMITES DE CORRIENTE Y TEMPERATURA PARA CARGAS SUPERIORES A LAS DESCRITAS EN LA PLACA DE CARACTERÍSTICAS En la tabla 1 podemos observar que dependiendo del tamaño del transformador los límites de temperatura cambian. Para esta aplicación de transformadores de plantas fotovoltaicas, siempre se cumplirán que son Large Power Transformers aquellos de más de 100MVA y Medium Power Transformers los de más de 2.500KVa. También en esta aplicación siempre se encontrarán en long-time emergency load, es decir en tiempos de sobrecarga de más de 30 min. Por lo que atendiendo a estas dos cuestiones anteriores y observando la tabla 1, se llega a la conclusión del que el hot-spot y el top-oil tendrán una temperatura límite de 140ºC y 115 ºC respectivamente. Tabla1. Temperatura límite 20 TOP-OIL Y HOT-SPOT La norma habla de dos maneras de obtener estos valores, aunque solo se tratará con una, ya que la otra se utiliza en el caso de que obtengamos datos de manera monitorizada de la planta fotovoltaica. Como el programa sólo se usará para predecir, no tiene sentido la otra manera de obtener el hot-spot y top-oil. La forma de obtener estos datos se basa en una función step. Esto quiere decir que la curva de potencia que obtendremos del PVsyst la convertiremos en una función dividida en steps o saltos de potencia constante durante una hora. Figura 8. Función en ‘steps’. Cada salto siempre será de 1 hora ya que del Pvsyst se obtendrá lo mostrado en la tabla 2. Como se observa en la tabla 2 la potencia a las 09:00 de la planta fotovoltaica que se quiere analizar es de 52,8 MW y a las 10:00 la potencia obtenida es de 142,6 MW. En la realidad la potencia entregada no aumentará de esa manera, sin embargo, la norma permite que se simule así: La planta de 09:00 a 10:00 produce 52,8MW, y que de 10:00 a 11:00 produce 142,6MW. 21 Hora Temperatura ambiente Potencia(W) 0:00 8,9999 -223596 1:00 7,9 -223596 2:00 6,9997 -223596 3:00 6,4002 -223596 4:00 5,8998 -223596 5:00 5,4001 -223596 6:00 6,5998 -223596 7:00 10 19008603 8:00 13,1 24984299 9:00 16,9 52882391 10:00 20,8 142625173 11:00 23,3 155120493 12:00 24,4 161447667 13:00 24,7 165896762 14:00 24,5 161757108 15:00 22,6 146600401 16:00 19,5 69368578 17:00 17,6 -223161 18:00 16,3 -223161 19:00 15,3 -223161 20:00 14,8 -223161 21:00 14,3 -223161 22:00 13,6 -223161 23:00 12,9 -223161 Tabla 2. Tabla de potencia de la planta fotovoltaica. La función dará saltos de potencia cada hora y se calculará un hot-spot y un top-oil para cada hora, se pueden encontrar 3 casos para el cálculo de estos datos. 22 CASO 1: EL STEP N ES MAYOR QUE EL STEP N+1 En este caso se usará la fórmula 3, la cual se puede desglosar para entenderse mejor. 𝜽𝒉(𝒕)=𝜽𝒂+∆𝜽𝒐𝒊+[∆𝜽𝒐𝒓∗[𝟏+𝑹∗𝑲𝟐 𝟏+𝑹 ]𝒙−∆𝜽𝒐𝒊]∗𝒇𝟏(𝒕)+∆𝜽𝒉𝒊 +(𝑯∗𝒈𝒓∗𝑲𝒚−∆𝜽𝒉𝒊)∗𝒇𝟐(𝒕) Fórmula 3. Hot-spot en aumento de temperatura. 𝒇𝟏(𝒕)=(𝟏−𝒆(−𝒕)/(𝒌𝟏𝟏∗𝝉𝟎)) Fórmula 4. Incremento relativo del aumento de temperatura del top-oil en estado estacionario. 𝒇𝟐(𝒕)=𝒌𝟐𝟏∗(𝟏−𝒆 −𝒕 𝒌𝟐𝟐∗𝝉𝒘)−(𝒌𝟐𝟏−𝟏)∗(𝟏−𝒆 −𝒕 (𝝉𝟎𝒌𝟐𝟐 ⁄)) Fórmula 5. Gradiente de temperatura entre el hot-spot y el top-oil en estado estacionario en caso de aumento de temperatura. La fórmula 3 se puede desglosar en tres partes: ∆𝜽𝒐𝒊_𝒏+𝟏=∆𝜽𝒐𝒊+[∆𝜽𝒐𝒓∗[𝟏+𝑹∗𝑲𝟐 𝟏+𝑹 ]𝒙−∆𝜽𝒐𝒊]∗𝒇𝟏(𝒕)𝜽𝒉(𝒕) Fórmula 6. Temperatura del top-oil inicial del siguiente step. ∆𝜽𝒉𝒊_𝒏+𝟏(𝒕)=∆𝜽𝒉𝒊+(𝑯∗𝒈𝒓∗𝑲𝒚−∆𝜽𝒉𝒊)∗𝒇𝟐(𝒕) Fórmula 7. Temperatura del hot-spot inicial del siguiente step. 𝜽𝒉(𝒕)=𝜽𝒂+∆𝜽𝒐𝒊_𝒏+𝟏+∆𝜽𝒉𝒊_𝒏+𝟏 Fórmula 8. Hot-spot. 𝜽𝒐(𝒕)=𝜽𝒂+∆𝜽𝒐𝒊_𝒏+𝟏 Fórmula 9. Top-oil. 23 En la fórmula 8 se comprueba mucho mejor como el hot-spot es la suma de la temperatura ambiente, más la variación de temperatura en el top-oil y más la variación de temperatura en el hot-spot. En cada ‘step’ de 1 hora se calculará el hot-spot y de ella se obtendrán los valores de ∆𝜽𝒐𝒊 y de ∆𝜽𝒉𝒊 para el siguiente step. En la fórmula 8 usada en el step ‘n’ se calculará que ∆𝜽𝒐𝒊_𝒏+𝟏 será el ∆𝜽𝒐𝒊 del step ’n+1’, e igual con ∆𝜽𝒉𝒊_𝒏+𝟏(𝒕) y ∆𝜽𝒉𝒊. En el caso del primer step se calcularán unos valores iniciales ya que no se sabrán ∆𝜽𝒐𝒊 y de ∆𝜽𝒉𝒊 para el primer step. CASO 2: EL STEP N ES MENOR QUE STEP N+1 𝜽𝒉(𝒕)=𝜽𝒂+∆𝜽𝒐𝒓∗[𝟏+𝑹∗𝑪𝟐 𝟏+𝑹 ]𝒙+[∆𝜽𝒐𝒊−∆𝜽𝒐𝒓∗[𝟏+𝑹∗𝑪𝟐 𝟏+𝑹 ]𝒙]∗𝒇𝟑(𝒕) +(𝑯∗𝒈𝒓∗𝑪𝒚) Fórmula 10. Hot-spot en disminución de temperatura. 𝒇𝟑(𝒕)=𝒆(−𝒕)/(𝒌𝟏𝟏∗𝝉𝟎) Fórmula 11. Gradiente de temperatura del top-oil a la temperatura ambiente en estado estacionario en caso de disminución de temperatura. La fórmula 9 al igual que la 3 se puede desglosar de la misma manera. ∆𝜽𝒐𝒊_𝒏+𝟏=∆𝜽𝒐𝒓∗[𝟏+𝑹∗𝑪𝟐 𝟏+𝑹 ]𝒙+[∆𝜽𝒐𝒊−∆𝜽𝒐𝒓∗[𝟏+𝑹∗𝑪𝟐 𝟏+𝑹 ]𝒙]∗𝒇𝟑(𝒕) Fórmula 12. Temperatura del top-oil inicial del siguiente step. ∆𝜽𝒉𝒊_𝒏+𝟏(𝒕)=)(𝑯∗𝒈𝒓∗𝑪𝒚) Fórmula 13. Temperatura del hot-spot inicial del siguiente step. En este caso tanto ∆𝜽𝒐𝒊_𝒏+𝟏 como ∆𝜽𝒉𝒊_𝒏+𝟏 cambian con respecto al caso anterior, pero se mantiene el mismo concepto. En la fórmula 8 usada en el step ‘n’ se calculará que ∆𝜽𝒐𝒊_𝒏+𝟏 será el ∆𝜽𝒐𝒊 del step ’n+1’, e igual con ∆𝜽𝒉𝒊_𝒏+𝟏(𝒕) y ∆𝜽𝒉𝒊 24 CASO 3: VALORES INICIALES Tanto la fórmula 14 como la fórmula 15, se utilizarán para calcular el hot-spot y el top-oil del primer step de todo, y así tener un primer punto de referencia. ∆𝜽𝒉𝒊_𝒊𝒏𝒊𝒕𝒊𝒂𝒍(𝒕)=(𝒌𝟐𝟏∗∆𝜽𝒉𝒓∗𝑪𝒚)−[(𝒌𝟐𝟏−𝟏)∗∆𝜽𝒉𝒓∗𝑪𝒚] Fórmula 14. Temperatura del hot-spot inicial para el primer step. ∆𝜽𝒐𝒊_𝒊𝒏𝒊𝒕𝒊𝒂𝒍(𝒕)=𝜽𝒂+∆𝜽𝒐𝒓∗[(𝟏+𝑹∗𝑪𝟐) (𝟏+𝑹)]𝒙 Fórmula 15. Temperatura del top-oil inicial para el primer step. CONSTANTES TÉRMICAS EN FUNCIÓN DEL TIPO DE TRANSFORMADOR Dependiendo del tipo de refrigeración que posea el transformador se usarán unas constantes u otras. Estas constantes se utilizarán para calcular tanto el hot-spot como el top-oil. Las constantes se obtendrán de la tabla 3. Tabla 3. Constantes térmicas, IEC 25 TEMPERATURA AMBIENTE La temperatura ambiente es muy importante para el cálculo del hot-spot y el top-oil, la norma explica una manera de calcular la temperatura media. En este apartado se expondrá utilizando la fórmula 16, sin embargo, no la usaré en la programación ya que del Pvsyst se obtendrá la temperatura horaria de cada día, la cual será mucho más exacta que si calcula una media actual. 𝜽𝑬=𝜽𝒚𝒂+𝟎.𝟎𝟏∗[𝟐∗(𝜽𝒎𝒂−𝒎𝒂𝒙−𝜽𝒚𝒂)]𝟏.𝟖𝟓 Fórmula 16. Temperatura media. 2.1 NORMATIVA AMERICANA En este apartado se hablará sobre la norma americana, la cual calcula las mismas variables que la normativo europea, pero utilizando diferentes formas de cálculo. LOSS OF LIFE (PÉRDIDA DE VIDA ÚTIL) El cálculo de envejecimiento del transformador es igual que en la norma europea. Por lo que se usarán las fórmulas ya comentadas anteriormente (fórmula 1 y fórmula 2). TOP-OIL Y HOT-SPOT El cálculo del top-oil y el hot-spot varía con respecto a la otra normativa. En esta normativa no importará si la temperatura aumenta o disminuye siempre se utilizarán las siguientes fórmulas 17-25 para el cálculo del hot-spot y el top-oil. 𝜽𝒉=𝜽𝒂+∆𝜽𝑻𝑶+∆𝜽𝑯 Fórmula 17. Hot-spot 𝜽𝑻𝑶(𝒕)=𝜽𝒂+∆𝜽𝑻𝑶 Fórmula 18. Top-oil 32 EJEMPLO DEL CURTAILMENT En la gráfica de la Figura 8 existe una potencia activa máxima que por ejemplo será de 60MW, aunque haya días en los que la Planta Fotovoltaica genere según el Pvsyst hasta 65MW. Los inversores se usarán para limitar la energía, de tal manera que solo lleguen 60MW, como se muestra en la figura 11. Figura 11. Potencia activa Planta Fotovoltaica. En el momento en el que se limiten los inversores a la Potencia del contrato, la potencia final después del transformador sería la Potencia de contrato menos la de las pérdidas del transformador. Suponiendo que fuese 1 MW de pérdidas, se verterían a red 59MW perdiendo 1MW de potencia a entregar a la red. Por lo que para evitar esto la potencia a la que se limiten los inversores deberá de ser la de contrato más las pérdidas que tenga el transformador, tal y como se ve en la figura 12. Como se ha explicado antes el cálculo del factor de potencia se realizará con esos 61 MW y no con los 60MW. 33 Figura 12. Potencia activa Planta Fotovoltaica con pérdidas. POTENCIA REACTIVA El operador del sistema eléctrico exige a las plantas fotovoltaicas contribuir a la inyección de potencia reactiva, de forma que sean capaces las plantas de operar dentro de la curva de límite de potencia P-Q. La planta deberá de tener un factor de potencia para una potencia de generación que abarque desde la potencia activa nula hasta la potencia máxima de la planta fotovoltaica. También, existirá la posibilidad de que se exija una potencia reactiva constante en todo momento. Estos dos casos los podemos observar en la curva P-Q de la figura 10. El consumo de energía reactiva se calculará con la fórmula 31. En la fórmula 31 se pueden distinguir dos sumandos, el primero de ellos corresponde al consumo de transformador en vacío el cual despreciaré en el programa. El otro sumando corresponde al consumo del transformador en carga, que estará muy condicionado por el índice de carga en cada instante del transformador. 𝑸𝒕=𝑲 𝟏𝟎𝟎∗𝑺𝒏+𝑿𝒄𝒄 𝟏𝟎𝟎∗𝑺𝒏∗𝑪𝟐 Fórmula 31. Consumo de energía reactiva del Transformador. Limitar inversores a 61MW Pérdidas 34 Para calcular la reactancia de cortocircuito Xcc utilizaremos la siguiente fórmula: 𝑿𝒄𝒄=√𝒁𝒄𝒄 𝟐−(𝑷𝒄𝒖∗𝑪𝟐+𝑷𝑭𝒆 𝑺𝒏∗𝟏𝟎𝟎)𝟐 Fórmula 32. Reactancia. 35 4.OBTENCIÓN DE DATOS A TRAVES DE PVSYST El Pvsyst es una herramienta utilizada para la gestión y diseño de energía solar para cualquier uso. Esta herramienta permite realizar el diseño una planta fotovoltaica y proporcionar todo tipo de datos de esta. En este proyecto no se explica cómo utilizar la herramienta para el diseño de una planta fotovoltaica, sin embargo, haré hincapié en la obtención de los datos que interesan una vez diseñada la planta fotovoltaica que se desea analizar. Para mostrar un ejemplo, se puede comprobar en la figura 13 un proyecto de una planta fotovoltaica en Geneva la cual produce 17379 kwh/año. Para obtener los datos necesarios para el cálculo óptimo del transformador se deberán seguir los siguientes pasos: 1. En la simulación del proyecto se pulsará ‘Simulación avanzada’, tal y como se muestra en la figura 13. 2. En la ‘Simulación avanzada’ se pulsará en ‘Archivo de salida’, tal y como se muestra en la figura 14. 3. Se dejará la pestaña de ‘Archivo de salida’ tal y como se muestra en la figura 15, para obtener un Excel en el que las dos variables de salida sean la Temperatura ambiente y la Energía inyectada en la red. Al seguir estos pasos se obtendrá un Excel como el que se puede observar en la figura 16. Este Excel es muy importante que se encuentre de esa manera ya que el programa que se ha creado utilizará las columnas 2 y 3, y con esos datos obtendrá los resultados. Si, por ejemplo, cambiase de lugar la columna de Tamb por la de E_Grid todo el cálculo realizado por el programa sería erróneo, es por ello que el Excel obtenido del PVsyst debe ser tal cual se muestra en la figura 16. 36 Figura 13. Captura de pantalla PVsyst Figura 14. Captura de pantalla PVsyst 37 Figura 15. Captura de pantalla PVsyst Figura 16. Excel obtenido de PVsyst. 38 5.SOFTWARE En este apartado se desarrollará y explicará cómo está diseñado el programa y sus diferentes partes. El programa está dividido en: 1. La lectura de los datos obtenidos por el Pvsyst y su tratamiento para poder ser usados. 2. El cálculo óptimo del transformador para la normativa europea y para la normativa americana. 3. La obtención de gráficas para la interpretación de los datos obtenidos 4. La interfaz del programa. Todas y cada una de las partes del programa se han realizado con la herramienta Matlab y la creación de la interfaz se ha desarrollado con la herramienta proporcionada por Matlab, Guide. 5.1 PROGRAMACIÓN DE LECTURA DE DATOS El tratamiento de los datos obtenidos por el Excel se puede observar en el anexo 1, desde la línea 606 hasta la línea 648. En este intervalo el programa obtiene los datos del Excel mediante la función de Matlab xlsread. Como ya se ha explicado en el apartado 2 de normativa, se necesitará la potencia y la temperatura de la planta durante cada hora. El Excel proporciona la temperatura y la potencia entregada a red en el instante de cada hora, teniendo de esta manera 24 datos cada día. Sin embargo, se necesitan 23 datos obteniéndose de esta manera 23 intervalos que serían: intervalo día 1 hora 0-1, intervalo día 1 1-2, intervalo día 1 hora 2-3, …. Así se obtendrán los 23 intervalos y se mostrará una función a steps tal y como se mencionaba en el apartado 2. 39 En estas líneas de código se observa cómo se obtiene la temperatura y la potencia activa en intervalos: 1. Para la temperatura se calcula la media entre la hora 1 y la hora 2 y así sucesivamente 2. Para la potencia se resta la potencia de la hora 2 y la potencia de la hora 1, para más tarde, en el siguiente bucle, utilizar un sumatorio de cada intervalo para obtener la función step. 3. Por último, el bucle final mostrado se utiliza para limitar la potencia activa, tal y como se explica en el apartado 3 del proyecto. Al final del tratamiento de datos la variable ‘T’ será un vector que poseerá la temperatura de los intervalos y la variable X_Var será un vector que poseerá la potencia activa de cada intervalo en el lado de baja del transformador. 5.2 PROGRAMACIÓN NORMATIVA IEC La programación del cálculo de temperatura siguiendo la normativa IEC se encuentra desde la línea 819 del código del anexo 1 hasta la línea 894. El programa usa funciones para calcular todas las temperaturas y usa unas funciones u otras dependiendo de si aumenta o disminuye el índice de carga. Estas funciones que contienen las fórmulas descritas en la normativa europea y están explicadas en el apartado 2 de este proyecto y descritas en el anexo 2. Como se puede comprobar en la figura 17, la cual muestra el flujograma del programa, cada vez que se calcula una temperatura se comprueba si esta supera la temperatura máxima fijada por la norma. Si esta temperatura calculada supera la de norma una variable interna propia del programa ‘err1’ se tornará a 1. El mismo proceso se sigue con la pérdida de vida útil máxima, ya que si esta es superada la variable interna ‘err2’ se tornará a 1. Por lo que todos los cálculos de temperatura y pérdida de vida útil se encuentran dentro de dos bucles while anidados los cuales repetirán una y otra vez los cálculos añadiendo la tolerancia a la potencia, hasta que se cumplan esas dos condiciones. Luego todos los datos obtenidos serán volcados a la matriz ‘Resultados’ para el posterior análisis de estos. 40 Figura 17. Flujograma de Programa con normativa IEC Potencia inicial (MVA) Fdp o Q_reactiva Pérdida de vida útil máxima Tolerancia de iteración (MVA) Excel de PVsyst Eficiencia del Transformador Ucc % Pfe/Pk % Tipo de refrigeración PnContrato(MW) Cálculo de Temperatura Interna del Transformador Mediante la normativa europea . ¿La Temperatura interna del transformador supera a la de la normativa? Potencia Transformador + Potencia Iteración . Resultado: Potencia óptima del transformador cumpliendo la temperatura de la normativa NO SI ¿La pérdida de vida útil supera la máxima fijada? SI NO 41 5.3 PROGRAMACIÓN NORMATIVA IEEE La programación del cálculo de temperatura siguiendo la normativa IEEE se encuentra desde la línea 895 del código del anexo 1 hasta la línea 1028. El programa usa funciones para calcular todas las temperaturas y usa unas funciones u otras dependiendo de si aumenta o disminuye el índice de carga. Estas funciones que contienen las fórmulas descritas en la normativa americana y están explicadas en el apartado 2 de este proyecto y descritas en el anexo 2. El resto es igual que la otra normativa, el único cambio es la forma de calcular las temperaturas que cambia tal y como explico en el apartado 2. Por lo demás posee también dos bucles anidados y el flujograma de la figura 18 es exactamente igual. 48 1. Análisis de datos: La parte de análisis de datos del programa está explicada en el apartado 5.4 del proyecto. Se divide en 3 gráficas cuyo eje x es la hora del año a la que el Pvsyst ha obtenido ese dato, mientras que el eje y es tanto potencia en KVA multiplicado por el ajuste deseado y centígrados. Figura 25. Interfaz del programa.3 2. Parte común para el cálculo. La parte común para que el programa pueda realizar los cálculos es la vista en la figura 26. A continuación, se explicarán cada uno de los rellenables de izquierda a derecha y de arriba hacia abajo: • Potencia nominal inicial (MVA) Potencia aparente nominal inicial con la que el programa empezará a calcular, cabe destacar que esta potencia deberá siempre ser menor a la potencia que posea la planta fotovoltaica. • Hot-spot máximo (ºC) Hot-spot máximo que el transformador alcanzará en el resultado final. La norma establece que debe de ser de 140ºC, sin embargo, el programa da la opción de cambiar este valor, aunque de forma predefinida sea de 140ºC. 49 • Día plot1 Número del día a observar en la gráfica 2, teniendo en cuenta que este número deberá estar entre 1 y 365 ya que son los días que analiza el programa. • Día plot2 Número del día a observar en la gráfica 3, teniendo en cuenta que este número deberá estar entre 1 y 365 ya que son los días que analiza el programa. • Tolerancia de la iteración (MVA) Potencia de iteración que el programa sumará a la potencia del transformador por cada iteración que el programa realice. Un numero de tolerancia grande hará el programa más rápido debido a menos iteraciones, sin embargo, disminuirá su precisión. Mientras que un programa con un número de tolerancia pequeño provocará que el programa realice más iteraciones y a su vez sea más lento, pero esta vez la precisión aumentará. • Top-oil máximo (ºC) Top-oil máximo que el transformador alcanzará en el resultado final. La norma establece que debe de ser de 105ºC, sin embargo, el programa da la opción de cambiar este valor, aunque de forma predefinida sea de 105ºC. • Eficiencia Eficiencia que posee el transformador a calcula, esta se podrá obtener de su placa de características. • Refrigeración Europea Coeficiente para el cálculo de las temperaturas del transformador, del cual dependerá del tipo de refrigeración que posea el transformador. Esta refrigeración se podrá elegir en el desplegable el cual tiene las siguientes opciones: OD, OF, ONAN, ONAF. • Nombre del Fichero Nombre del fichero Excel explicado en el apartado 4 del proyecto. 50 • %Ucc Porcentaje de tensión relativa del transformador, se puede obtener de la placa de características del mismo. • Ajuste gráfica Desplegable cuya utilidad es ajustar la gráfica dependiendo del tamaño de la planta fotovoltaica, tal y como se ha mencionado en el apartado 5.4. • Fdp Factor de potencia demandado o seleccionado para entregar a la red. Si se desea que sea una potencia reactiva fija habría que cambiar el desplegable Fdp y seleccionar Q(MVAr). • Envejecimiento máximo(años) Envejecimiento máximo en años que el transformador alcanzará en el resultado final. • Pfe/Pk % Relación en porcentaje entre la Pérdidas en el hierro y en el cobre. • Pn_Contrato(MW) Máxima potencia activa que se debe entregar en el punto de interconexión de la planta. Figura 26. Interfaz del programa.4 51 3. Zona de la norma americana. La zona de la normativa americana de para que el programa pueda realizar los cálculos es la vista en la figura 27. A continuación, explicaré cada uno de los rellenables • Refrigeración Americana Coeficiente para el cálculo de las temperaturas del transformador, del cual dependerá del tipo de refrigeración que posea el transformador. Esta refrigeración se podrá elegir en el desplegable el cual tiene las siguientes opciones: OA, FA, Non-directed FOA or FOW, Directed FOA or FOW. • Constantes Americanas El resto son constantes explicadas en la IEC las cuales están predefinidas por el programa. Sin embargo, se da la posibilidad de cambiar estas constantes. Figura 27. Interfaz del programa.5 52 4. Resultados Los resultados se encuentran en el panel ’Resultados’ que se observa en la figura 28. Los resultados mostrarán: • Potencia óptima del transformador (MVA) La potencia final del transformador calculada cumpliendo con la normativa indicada. • Hot-spot máximo alcanzado (ºC) El hot-spot máximo alcanzado con la potencia final del transformador, éste nunca superará al hot-spot máximo fijado. • Top-oil máximo alcanzado(ºC) El top-oil máximo alcanzado con la potencia final del transformador, éste nunca superará al hot-spot máximo fijado. • Envejecimiento del transformador (años) La vida perdida en años después de un año de funcionamiento. Figura 28. Interfaz del programa.6 53 5. Inicio y elección de normativa En esta parte se encontrará un botón de start el cual ordenará al programa empezar los cálculos y un desplegable para elegir con que norma realizar los mismos. Figura 29. Interfaz del programa.7 54 5.5 INSTALACIÓN DEL PROGRAMA El programa creado en Matlab se ha desarrollado en una aplicación con la herramienta de Matlab Application compiler. Con el desarrollo de esta aplicación no es necesario utilizar el Matlab para usar el programa creado. Usando el instalador TrafolecAppInstaller, instalaremos el programa en el ordenador y se seguirán los pasos que se muestran en las siguientes figuras: Figura 30. Instalación del programa. Paso1 Figura 31. Instalación del programa. Paso2 55 Figura 32. Instalación del programa. Paso3 Figura 33. Instalación del programa. Paso4 56 Figura 34. Instalación del programa. Paso5 Figura 35. Instalación del programa. Paso6 Al terminar la instalación el icono del programa será el de la figura 35, y para su uso solo habrá que introducir el Excel de la planta a analizar dentro de la carpeta de Trafolec en archivos de programa. 57 6. ESTUDIO DE VARIAS PLANTAS En este apartado probaremos las siguientes plantas fotovoltaicas con el programa creado. Las plantas fotovoltaicas a estudiar serán las siguientes: • La Solanilla 50 MW En la figura 36 el programa utiliza el criterio europeo, alcanzando el punto crítico el día 179 el cual obtiene un hot-spot de 139.88 Cº, cumpliendo así la norma europea. El dimensionamiento final del transformador es de 36 MVA reduciendo bastante el tamaño del transformador si se hubiera elegido uno de 50 MVA. Finalmente, el envejecimiento del transformador ha sido de un poco más de medio año, a lo largo de todo un año de funcionamiento. En la figura 37 se obtienen otros resultados, ya que limitamos la potencia de los inversores a 30MW. Y por último la figura 38 los cálculos se realizan siguiendo la norma americana, variando la potencia final obtenida y el envejecimiento, siendo esta norma un poco más estricta. Figura 36. La Solanilla 50MW.1 64 ANEXO 1: CÓDIGO DEL PROGRAMA function varargout = Trafolec(varargin) % TRAFOLEC MATLAB code for Trafolec.fig % TRAFOLEC, by itself, creates a new TRAFOLEC or raises the existing % singleton*. % % H = TRAFOLEC returns the handle to a new TRAFOLEC or the handle to % the existing singleton*. % % TRAFOLEC('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in TRAFOLEC.M with the given input arguments. % % TRAFOLEC('Property','Value',...) creates a new TRAFOLEC or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before Trafolec_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to Trafolec_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help Trafolec % Last Modified by GUIDE v2.5 02-Apr-2019 20:28:21 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Trafolec_OpeningFcn, ... 'gui_OutputFcn', @Trafolec_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) 65 gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before Trafolec is made visible. function Trafolec_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Trafolec (see VARARGIN) % Choose default command line output for Trafolec handles.output = hObject; set(handles.Hotspot_M,'String','140'); set(handles.TopOil_M,'String','105'); set(handles.INC_TITAto_R,'String','36'); %Hottest-spot conductor rise over top-oil temperature, at rated load. set(handles.R,'String','4.87'); %Ratio of load loss at rated load to no-load loss set(handles.tao_to_R,'String','3.5'); set(handles.INC_TITAah_R,'String','80'); %80Cº for 65Cº average winding rise and 65Cº for 55Cº average winding rise. set(handles.t,'String','6'); %is the duration of load hours. set(handles.tao_w,'String','1'); set(handles.Eficiencia,'String','99.5'); set(handles.Zc,'String','4'); set(handles.fichero,'String','dato_meteo'); set(handles.Perdidas,'String','20'); % Update handles structure guidata(hObject, handles); % UIWAIT makes Trafolec wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = Trafolec_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; function Pn_dia_Callback(hObject, eventdata, handles) 66 % hObject handle to Pn_dia (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of Pn_dia as text % str2double(get(hObject,'String')) returns contents of Pn_dia as a double % --- Executes during object creation, after setting all properties. function Pn_dia_CreateFcn(hObject, eventdata, handles) % hObject handle to Pn_dia (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function fichero_Callback(hObject, eventdata, handles) % hObject handle to fichero (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of fichero as text % str2double(get(hObject,'String')) returns contents of fichero as a double % --- Executes during object creation, after setting all properties. function fichero_CreateFcn(hObject, eventdata, handles) % hObject handle to fichero (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function ndias_Callback(hObject, eventdata, handles) % hObject handle to ndias (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) 67 % Hints: get(hObject,'String') returns contents of ndias as text % str2double(get(hObject,'String')) returns contents of ndias as a double % --- Executes during object creation, after setting all properties. function ndias_CreateFcn(hObject, eventdata, handles) % hObject handle to ndias (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function Fdp_Callback(hObject, eventdata, handles) % hObject handle to Fdp (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of Fdp as text % str2double(get(hObject,'String')) returns contents of Fdp as a double % --- Executes during object creation, after setting all properties. function Fdp_CreateFcn(hObject, eventdata, handles) % hObject handle to Fdp (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function Perd_Fe_Callback(hObject, eventdata, handles) % hObject handle to Perd_Fe (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of Perd_Fe as text % str2double(get(hObject,'String')) returns contents of Perd_Fe as a double 68 % --- Executes during object creation, after setting all properties. function Perd_Fe_CreateFcn(hObject, eventdata, handles) % hObject handle to Perd_Fe (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function Perd_Cu_Callback(hObject, eventdata, handles) % hObject handle to Perd_Cu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of Perd_Cu as text % str2double(get(hObject,'String')) returns contents of Perd_Cu as a double % --- Executes during object creation, after setting all properties. function Perd_Cu_CreateFcn(hObject, eventdata, handles) % hObject handle to Perd_Cu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function Tol_Callback(hObject, eventdata, handles) % hObject handle to Tol (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of Tol as text % str2double(get(hObject,'String')) returns contents of Tol as a double % --- Executes during object creation, after setting all properties. function Tol_CreateFcn(hObject, eventdata, handles) % hObject handle to Tol (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called 69 % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function Hotspot_M_Callback(hObject, eventdata, handles) % hObject handle to Hotspot_M (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of Hotspot_M as text % str2double(get(hObject,'String')) returns contents of Hotspot_M as a double % --- Executes during object creation, after setting all properties. function Hotspot_M_CreateFcn(hObject, eventdata, handles) % hObject handle to Hotspot_M (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function TopOil_M_Callback(hObject, eventdata, handles) % hObject handle to TopOil_M (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of TopOil_M as text % str2double(get(hObject,'String')) returns contents of TopOil_M as a double % --- Executes during object creation, after setting all properties. function TopOil_M_CreateFcn(hObject, eventdata, handles) % hObject handle to TopOil_M (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); 70 end function ageing_M_Callback(hObject, eventdata, handles) % hObject handle to ageing_M (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of ageing_M as text % str2double(get(hObject,'String')) returns contents of ageing_M as a double % --- Executes during object creation, after setting all properties. function ageing_M_CreateFcn(hObject, eventdata, handles) % hObject handle to ageing_M (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function ajuste_Callback(hObject, eventdata, handles) % hObject handle to ajuste (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of ajuste as text % str2double(get(hObject,'String')) returns contents of ajuste as a double % --- Executes during object creation, after setting all properties. function ajuste_CreateFcn(hObject, eventdata, handles) % hObject handle to ajuste (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function Dia_plot1_Callback(hObject, eventdata, handles) 71 % hObject handle to Dia_plot1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of Dia_plot1 as text % str2double(get(hObject,'String')) returns contents of Dia_plot1 as a double % --- Executes during object creation, after setting all properties. function Dia_plot1_CreateFcn(hObject, eventdata, handles) % hObject handle to Dia_plot1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function Dia_plot2_Callback(hObject, eventdata, handles) % hObject handle to Dia_plot2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of Dia_plot2 as text % str2double(get(hObject,'String')) returns contents of Dia_plot2 as a double % --- Executes during object creation, after setting all properties. function Dia_plot2_CreateFcn(hObject, eventdata, handles) % hObject handle to Dia_plot2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on selection change in Normativa. function Normativa_Callback(hObject, eventdata, handles) % hObject handle to Normativa (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns Normativa contents as cell array 72 % contents{get(hObject,'Value')} returns selected item from Normativa % --- Executes during object creation, after setting all properties. function Normativa_CreateFcn(hObject, eventdata, handles) % hObject handle to Normativa (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on selection change in Tipo_Trafo. function Tipo_Trafo_Callback(hObject, eventdata, handles) % hObject handle to Tipo_Trafo (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) guidata(hObject, handles); % Hints: contents = cellstr(get(hObject,'String')) returns Tipo_Trafo contents as cell array % contents{get(hObject,'Value')} returns selected item from Tipo_Trafo % --- Executes during object creation, after setting all properties. function Tipo_Trafo_CreateFcn(hObject, eventdata, handles) % hObject handle to Tipo_Trafo (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on slider movement. function ajuste_grafica_Callback(hObject, eventdata, handles) % hObject handle to ajuste_grafica (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'Value') returns position of slider % get(hObject,'Min') and get(hObject,'Max') to determine range of slider 73 % --- Executes during object creation, after setting all properties. function ajuste_grafica_CreateFcn(hObject, eventdata, handles) % hObject handle to ajuste_grafica (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end % --- Executes on selection change in Ajuste. function Ajuste_Callback(hObject, eventdata, handles) % hObject handle to Ajuste (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns Ajuste contents as cell array % contents{get(hObject,'Value')} returns selected item from Ajuste % --- Executes during object creation, after setting all properties. function Ajuste_CreateFcn(hObject, eventdata, handles) % hObject handle to Ajuste (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit15_Callback(hObject, eventdata, handles) % hObject handle to edit15 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit15 as text % str2double(get(hObject,'String')) returns contents of edit15 as a double % --- Executes during object creation, after setting all properties. function edit15_CreateFcn(hObject, eventdata, handles) % hObject handle to edit15 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called 80 err1=0; err2=0; for i=1:n-1 K=Ks(i,1); Ta=T(1,i); if i==1 Hotspot(i,1) = Tincr( Ta,INC_TITAoi,INC_TITAor,R,K,x,ft1,INC_TITAhi,H,Gr,y,ft2); INC_TITAhi= INC_TITAhi_increase(INC_TITAhi,H,Gr,K,y,ft2); INC_TITAoi= INC_TITAoi_increase(INC_TITAoi,INC_TITAor,R,K,x,ft1); Topoil(i,1)= INC_TITAoi+Ta; if Hotspot(i,1)>Hotspot_max | Topoil>Topoil_max err1=1; end else if Ks(i-1,1)<Ks(i,1) Hotspot(i,1) = Tincr( Ta,INC_TITAoi,INC_TITAor,R,K,x,ft1,INC_TITAhi,H,Gr,y,ft2); INC_TITAhi= INC_TITAhi_increase(INC_TITAhi,H,Gr,K,y,ft2); INC_TITAoi= INC_TITAoi_increase(INC_TITAoi,INC_TITAor,R,K,x,ft1); Topoil(i,1)= INC_TITAoi+Ta; if Hotspot(i,1)>Hotspot_max | Topoil>Topoil_max err1=1; end elseif Ks(i-1,1)>Ks(i,1) Hotspot(i,1) = Tdecrease( Ta,INC_TITAoi,INC_TITAor,R,K,x,H,Gr,y,ft3); INC_TITAhi= INC_TITAhi_decrease(H,Gr,K,y); INC_TITAoi= INC_TITAoi_decrease(INC_TITAoi,INC_TITAor,R,K,x,ft3); Topoil(i,1)= INC_TITAoi+Ta; if Hotspot(i,1)>Hotspot_max | Topoil>Topoil_max err1=1; end elseif Ks(i-1,1)==Ks(i,1) && Ks(i,1)~=(PFe/Pn) Hotspot(i,1) = Tdecrease( Ta,INC_TITAoi,INC_TITAor,R,K,x,H,Gr,y,ft3); INC_TITAhi= INC_TITAhi_decrease(H,Gr,K,y); INC_TITAoi= INC_TITAoi_decrease(INC_TITAoi,INC_TITAor,R,K,x,ft3); Topoil(i,1)= INC_TITAoi+Ta; if Hotspot(i,1)>Hotspot_max | Topoil>Topoil_max err1=1; end elseif Ks(i,1)==(PFe/Pn); Hotspot(i,1)=T(1,i); Topoil(i,1)=T(1,i); if Hotspot(i,1)>Hotspot_max | Topoil>Topoil_max err1=1; end end end end if err1==1 Pn=Pn+(tol*1000000); end iteraciones=iteraciones+1; 81 end Loss_life=0; ageing_day=ones(n-1,1); for i=1:n-1 Hs=Hotspot(i,1); ageing_day(i,1)=relative_ageing(Hs); ageing_step=relative_ageing(Hs); Loss_life=Loss_life+ageing_step; end Loss_life_days=Loss_life/(24*365); if Loss_life_days>Ageing_max err2=1; err1=1; Pn=Pn+(tol*1000000); end end case 2 switch Trafo_americano %características térmicas case 1 nc=0.8; m=0.8; case 2 nc=0.9; m=0.8; case 3 nc=0.9; m=0.8; case 4 m=1; nc=1; end %constantes americanas C=5.07934; X=X'; Hotspot=ones(n-1,1); Topoil=ones(n-1,1); Pn=PnTrafo*1000000; err1=1; err2=1; iteraciones=0; while err2==1 while err1==1 %Cálculo Pérdidas potencia activa Pcu=((1-(Efi/100))*Pn_Contrato)/(1+(Perd/100)); PFe=Pcu*(Perd/100); %Calculo la S sin perdidas if React==1 Sn_Contrato=Pn_Contrato/Reactiva_fdp; end if React==2 Sn_Contrato=sqrt((Reactiva_fdp)^2+(Pn_Contrato)^2); end if L==0 if React==1 for i=1:n-1 Xvar_react(i,1)=(Xvar(i,1)*tan(acos(Reactiva_fdp))); 82 Xvar_react_perd(i,1)=Xvar_react(i,1)+(Zc/100)*Xvar_react(i,1); end end if React==2 for i=1:n-1 Xvar_react(i,1)=Reactiva_fdp*1000000; Xvar_react_perd(i,1)=Xvar_react(i,1)+(Zc/100)*Xvar_react(i,1); end end end if L==1 Pn_Contrato_Perd=Pn_Contrato+(PFe+Pcu*(Sn_Contrato/Pn)^2); for i=1:n-1 if Xvar(i,1)>Pn_Contrato_Perd Xvar(i,1)=Pn_Contrato_Perd; end end if React==1 for i=1:n-1 Xvar_react_perd(i,1)=(Xvar(i,1)*tan(acos(Reactiva_fdp)))+(Zc/100)*Sn_C ontrato; end end if React==2 for i=1:n-1 Xvar_react_perd(i,1)=Reactiva_fdp*1000000+(Zc/100)*Sn_Contrato; end end end %Xvar se encuentra en MW ya que el Pvsyst te da la potencia activa. %Obtenemos la S sin pérdidas; for i=1:n-1 Svar(i,1)=sqrt((Xvar_react_perd(i,1))^2+(Xvar(i,1))^2); end %Ahora Xvar(S) es la potencia en MVA Ks=ones(n-1,1); Xvar_perd=ones(n-1,1); Xvar_perd=Xvar; Ks=Svar./(Pn); %load factor err1=0; err2=0; K_i=Ks(1,1); INC_TITAto_i_p=INC_TITAto_i(INC_TITAto_R,K_i,nc,R); INC_TITAh_i_p=INC_TITAh_i(INC_TITAah_R,K_i,m); for i=1:n-1 K=Ks(i,1); Ta=T(1,i); INC_TITAto_u_p=INC_TITAto_u(INC_TITAto_R,K,nc,R); tao_to_p=tao_to(INC_TITAto_u_p,INC_TITAto_i_p,INC_TITAto_R,nc,tao_to_R ); INC_TITAo_p=INC_TITAo(INC_TITAto_u_p,INC_TITAto_i_p,tao_to_p); 83 if tao_to_p <=0 INC_TITAo_p=0; end INC_TITAh_R_p=INC_TITAh_R(INC_TITAah_R,INC_TITAto_R); INC_TITAh_u_p=INC_TITAh_u(INC_TITAh_R_p,K,m); INC_TITAh_p=INC_TITAh(INC_TITAh_u_p,INC_TITAh_i_p,tao_w,t); Hotspot(i,1)=Ta+INC_TITAo_p+INC_TITAh_p; Topoil(i,1)=Ta+INC_TITAo_p; if Hotspot(i,1)>Hotspot_max | Topoil>Topoil_max err1=1; end end if err1==1 Pn=Pn+(tol*1000000); end iteraciones=iteraciones+1; end Loss_life=0; ageing_day=ones(n-1,1); for i=1:n-1 Hs=Hotspot(i,1); ageing_day(i,1)=relative_ageing(Hs); ageing_step=relative_ageing(Hs); Loss_life=Loss_life+ageing_step; end Loss_life_days=Loss_life/(24*365); if Loss_life_days>Ageing_max err2=1; err1=1; Pn=Pn+(tol*1000000); end end end %ANÁLISIS DE DATOS Resultados=[HTrafo',Svar,Hotspot,Topoil,ageing_day,Xvar]; [Hora,col]=find(Resultados==max(Resultados(:,3))); Day_Crit=floor(Hora(1,1)/24); HTrafo_Crit=(Hora(1,1)-10):(Hora(1,1)+10); HTrafo_Chosen1=(Day_plot1*24):((Day_plot1*24)+23); HTrafo_Chosen2=(Day_plot2*24):((Day_plot2*24)+23); P_Crit=ones(1,20); Topoil_Crit=ones(1,20); Hotspot_Crit=ones(1,20); P_Chosen1=ones(1,24); Topoil_Chosen1=ones(1,24); Hotspot_Chosen1=ones(1,24); P_Chosen2=ones(1,24); Topoil_Chosen2=ones(1,24); Hotspot_Chosen2=ones(1,24); j=1; for i=(Hora(1,1)-10):(Hora(1,1)+10) 84 P_Crit(1,j)=Resultados(i,2)/Ajuste_grafica; Hotspot_Crit(1,j)=Resultados(i,3); Topoil_Crit(1,j)=Resultados(i,4); j=j+1; end axes(handles.plot_diac); plot(HTrafo_Crit,P_Crit,':',HTrafo_Crit,Hotspot_Crit,'-- ',HTrafo_Crit,Topoil_Crit,'-.'); str=['día crítico, nº',num2str(Day_Crit)]; title(str) str2=['Cº y Potencia KVA *',num2str(Ajuste_grafica/1000)]; ylabel(str2) legend('S','Hotspot','Topoil') j=1; if Day_plot1==0 for i=1:24 P_Chosen1(1,j)=Resultados(i,2)/Ajuste_grafica; Hotspot_Chosen1(1,j)=Resultados(i,3); Topoil_Chosen1(1,j)=Resultados(i,4); j=j+1; end else for i=(24*Day_plot1):((Day_plot1*24)+23) P_Chosen1(1,j)=Resultados(i,2)/Ajuste_grafica; Hotspot_Chosen1(1,j)=Resultados(i,3); Topoil_Chosen1(1,j)=Resultados(i,4); j=j+1; end end axes(handles.plot1); plot(HTrafo_Chosen1,P_Chosen1,':',HTrafo_Chosen1,Hotspot_Chosen1,'-- ',HTrafo_Chosen1,Topoil_Chosen1,'-.') str=['día nº',num2str(Day_plot1)]; title(str); str2=['Potencia KVA * ',num2str(Ajuste_grafica/1000)]; ylabel(str2) legend('S','Hotspot','Topoil') j=1; if Day_plot2==0 for i=1:24 P_Chosen2(1,j)=Resultados(i,2)/Ajuste_grafica; Hotspot_Chosen2(1,j)=Resultados(i,3); Topoil_Chosen2(1,j)=Resultados(i,4); j=j+1; end else for i=(24*Day_plot2):((Day_plot2*24)+23) P_Chosen2(1,j)=Resultados(i,2)/Ajuste_grafica; Hotspot_Chosen2(1,j)=Resultados(i,3); Topoil_Chosen2(1,j)=Resultados(i,4); j=j+1; end 85 end axes(handles.plot2); plot(HTrafo_Chosen2,P_Chosen2,':',HTrafo_Chosen2,Hotspot_Chosen2,'-- ',HTrafo_Chosen2,Topoil_Chosen2,'-.') str=['día nº',num2str(Day_plot2)]; title(str); str2=['Potencia KVA * ',num2str(Ajuste_grafica/1000)]; ylabel(str2) legend('S','Hotspot','Topoil') %FIN ANÁLISIS DE DATOS HSM=max(Resultados(:,3)); TOM=max(Resultados(:,4)); set(handles.Result_Pn,'String',Pn/1000000) set(handles.Result_Hotspot,'String',HSM) set(handles.Result_Topoil,'String',TOM) set(handles.Result_Ageing,'String',Loss_life_days) % --- Executes on selection change in Reactiva. function Reactiva_Callback(hObject, eventdata, handles) % hObject handle to Reactiva (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns Reactiva contents as cell array % contents{get(hObject,'Value')} returns selected item from Reactiva % --- Executes during object creation, after setting all properties. function Reactiva_CreateFcn(hObject, eventdata, handles) % hObject handle to Reactiva (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function INC_TITAto_R_Callback(hObject, eventdata, handles) % hObject handle to INC_TITAto_R (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of INC_TITAto_R as text % str2double(get(hObject,'String')) returns contents of INC_TITAto_R as a double 86 % --- Executes during object creation, after setting all properties. function INC_TITAto_R_CreateFcn(hObject, eventdata, handles) % hObject handle to INC_TITAto_R (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function R_Callback(hObject, eventdata, handles) % hObject handle to R (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of R as text % str2double(get(hObject,'String')) returns contents of R as a double % --- Executes during object creation, after setting all properties. function R_CreateFcn(hObject, eventdata, handles) % hObject handle to R (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function tao_to_R_Callback(hObject, eventdata, handles) % hObject handle to tao_to_R (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of tao_to_R as text % str2double(get(hObject,'String')) returns contents of tao_to_R as a double % --- Executes during object creation, after setting all properties. function tao_to_R_CreateFcn(hObject, eventdata, handles) % hObject handle to tao_to_R (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB 87 % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function INC_TITAah_R_Callback(hObject, eventdata, handles) % hObject handle to INC_TITAah_R (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of INC_TITAah_R as text % str2double(get(hObject,'String')) returns contents of INC_TITAah_R as a double % --- Executes during object creation, after setting all properties. function INC_TITAah_R_CreateFcn(hObject, eventdata, handles) % hObject handle to INC_TITAah_R (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function t_Callback(hObject, eventdata, handles) % hObject handle to t (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of t as text % str2double(get(hObject,'String')) returns contents of t as a double % --- Executes during object creation, after setting all properties. function t_CreateFcn(hObject, eventdata, handles) % hObject handle to t (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. 88 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function tao_w_Callback(hObject, eventdata, handles) % hObject handle to tao_w (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of tao_w as text % str2double(get(hObject,'String')) returns contents of tao_w as a double % --- Executes during object creation, after setting all properties. function tao_w_CreateFcn(hObject, eventdata, handles) % hObject handle to tao_w (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on selection change in Trafo_americano. function Trafo_americano_Callback(hObject, eventdata, handles) % hObject handle to Trafo_americano (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns Trafo_americano contents as cell array % contents{get(hObject,'Value')} returns selected item from Trafo_americano % --- Executes during object creation, after setting all properties. function Trafo_americano_CreateFcn(hObject, eventdata, handles) % hObject handle to Trafo_americano (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end 89 function Pn_Contrato_Callback(hObject, eventdata, handles) % hObject handle to Pn_Contrato (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of Pn_Contrato as text % str2double(get(hObject,'String')) returns contents of Pn_Contrato as a double % --- Executes during object creation, after setting all properties. function Pn_Contrato_CreateFcn(hObject, eventdata, handles) % hObject handle to Pn_Contrato (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end