Full text
MEMORIA PROTECCIÓN CONTRA EL RAYO: DESARROLLO DE UNA APLICACIÓN INFORMATÍCA PARA LA EVALUACIÓN DEL RIESGO, MEDIDAS DE PROTECCIÓN Y VALORACIÓN ECONÓMICA Director UZ: D. Ángel Santillán Lázaro Director REE: D. Francisco Javier Meléndez Realizado por: Jorge Giró Ullate Noviembre 2010
2 Protección contra el rayo en subestaciones INDICE Contenido INDICE ...................................................................................................................................................... 2 1. INTRODUCCIÓN ........................................................................................................................... 4 2. MOTIVACIÓN ................................................................................................................................ 6 3. NORMATIVAS APLICABLES .................................................................................................... 8 4. INDICE DE RIESGO SEGÚN NORMA UNE EN 62305-2 ................................................. 9 4.1 Proceso a seguir ............................................................................................................... 10 4.2 Definición de daños y pérdidas (según UNE EN 62305) .................................. 13 4.3 Riesgo y componentes del riesgo .............................................................................. 15 4.4 Composición de los componentes del riesgo en una estructura ................... 18 5. CÁLCULOS DETALLADOS ...................................................................................................... 19 5.1 Riesgo pérdida de vidas humanas (R1) .................................................................. 19 5.2 Riesgo de pérdida de servicio público (R2) .......................................................... 28 6. PROTECCIÓN EXTERNA ........................................................................................................ 36 7. DESCRIPCIÓN DE LA APLICACIÓN WEB ......................................................................... 39 7.1 Botón datos generales ................................................................................................... 39 7.2 Botón zona parque .......................................................................................................... 41 7.3 Botón zona control .......................................................................................................... 41 7.4 Botón resultados .............................................................................................................. 41 7.5 Botón variables ................................................................................................................ 43 7.6 Botón gráficos ................................................................................................................... 44 8. CONCLUSIONES ........................................................................................................................ 47 9. TRABAJO FUTURO ................................................................................................................... 48 Anexos A: Cálculo de radio de protección para dispositivos PDC B: Método de la esfera rodante C: Código HTML D: Código Javascript E: Código CSS
3 Protección contra el rayo en subestaciones El presente trabajo se realiza como idea de Proyecto Final de Carrera durante mi estancia como becario en la empresa Red Eléctrica de España (REE) bajo la dirección del D. Francisco Javier Meléndez Pastor, jefe de departamento de mantenimiento de subestaciones eléctricas de la Demarcación Ebro. Durante 6 meses estuve colaborando con la empresa (Ene-Jun 2010) realizando las siguientes actividades: Revisión y actualización de esquemas eléctricos de subestaciones. Estudio de sistemas de protección de subestaciones contra descargas atmosféricas. Inicio del PFC para desarrollo de una aplicación informática de diseño de protecciones contra rayos. Apoyos puntuales a tareas administrativas de mantenimiento de subestaciones. Se trata de una aplicación informática que busca conocer, en caso de impacto de un rayo en la zona, si el nivel de riesgo que existe es admisible o si por el contrario se deben adoptar medidas de protección. Se estudiarán dos tipos de riesgos: Riesgo de pérdida de vida humana Riesgo de pérdida de servicio público En caso de que haya que tomar alguna medida de protección se ofrece la posibilidad de protegerla mediante pararrayos de tipo Franklin o PDC. La aplicación muestra de forma gráfica distintas posiciones en las que se pueden fijar los pararrayos y el área que estos cubren en función del nivel de protección adoptado. También se ofrece un cálculo aproximado del presupuesto que esto conlleva en función del nº de pararrayos, tipo y modelo. En la aplicación se utilizan varias técnicas de diseño de aplicaciones web, como son: HTML, Javascript y CSS. Cuando traté el tema de elaborar mi proyecto con mi tutor de REE le propuse hacer una aplicación web porque se puede utilizar en cualquier sistema operativo y no requiere instalación. En la actualidad, todavía no existe un estándar de los lenguajes web utilizados. Esto hace que un programa diseñado para un navegador puede no funcionar bien para otro navegador. El presente PFC se ha diseñado y probado en los siguientes navegadores: Firefox, Chrome y Safari. Se puede acceder a la aplicación a través de: http://euler.cps.unizar.es/Proyecto/ree.html o abriendo el archivo ree.html de la carpeta Proyecto.
4 Protección contra el rayo en subestaciones 1. INTRODUCCIÓN Las tormentas eléctricas son fenómenos naturales que no pueden evitarse, los rayos impactan en las edificaciones, los servicios que entran a las mismas, y la tierra cercana a unos y otros. De todas las descargas atmosféricas aquellas que alcanzan las subestaciones y los tramos de línea próximos a las mismas son las más peligrosas, ya que las sobretensiones que originan no son amortiguadas por la longitud de la línea. En estos casos se pone en peligro la aparamenta instalada en la subestación. Además, la reparación de estas averías es de elevado coste y larga duración, lo que a su vez disminuye la calidad del servicio. De aquí surge la necesidad de protegerse contra todos estos fenómenos. La necesidad de la protección, la selección de las medidas de protección más adecuadas y los beneficios económicos de las medidas de protección adoptadas deben determinarse en función del análisis del riesgo. Todo diseño que se haga de un sistema de protección contra el rayo debe estar basado en la evaluación del riesgo, el cual: Permite evaluar si es necesario protegerse. Si hay que protegerse, permite entonces conocer cuáles son las medidas de protección más adecuadas a la instalación o al servicio en cuestión. Permite evaluar los beneficios económicos de las medidas de protección seleccionadas, por comparación de los costos de las pérdidas económicas con o sin las medidas de protección adoptadas. España no es un país en el que el nivel isoceráunico (1) sea muy elevado. Los niveles más elevados se pueden encontrar en la zona norte, en las cadenas montañosas y en la costa del noreste. Para evaluar el número de descargas a tierra por km2 y por año se observa un mapa de densidad de descargas como el mostrado en la Figura 1. Estos datos no son muy precisos porque cada año su valor cambia y para hacer un estudio riguroso se debería consultar con alguna empresa dedicada a ello, como bien podría ser Fulgura. (1) Nivel isoceráunico: el nivel isoceráunico de un lugar es el número promedio de días al cabo del año en los que hay tormenta. Se considera día con tormenta a aquel en el que al menos se oye un trueno.
5 Protección contra el rayo en subestaciones Figura 1
6 Protección contra el rayo en subestaciones 2. MOTIVACIÓN Cobra vital importancia el realizar una evaluación del nivel de riesgo por descargas atmosféricas para determinar si cumple con un adecuado sistema de protección a las estructuras y a sus acometidas de servicios o si deben instalarse medidas de protección. Se debe tener en cuenta que el impacto de un rayo en las estructuras puede dar lugar a: Daños en la estructura y su contenido. Fallos en los sistemas eléctricos y electrónicos asociados. Daños a los seres vivos situados en las estructuras o próximos a ellas. Los efectos de los daños y de los fallos pueden extenderse y afectar a los alrededores de las estructuras o al medioambiente. Si hablamos del impacto de un rayo en los servicios pueden dar lugar a: Daños en los propios servicios. Fallos en los equipos eléctricos y electrónicos asociados. Las descargas atmosféricas que afectan a una estructura pueden dividirse en: Descargas directas en la estructura. Descargas en las proximidades de la estructura, directas en los servicios conectados (líneas de potencia, de telecomunicación u otros servicios) o en las proximidades de los servicios. Las descargas atmosféricas que afectan a un servicio pueden dividirse en: Descargas directas en el servicio. Descargas en las proximidades del servicio o directas en la estructura conectada al servicio. Las descargas en una estructura o en un servicio conectado a la estructura pueden producir daños físicos y riesgos para la vida. Las descargas en las proximidades de la estructura o de los servicios, así como las descargas sobre las estructuras o servicios pueden producir fallos en los sistemas eléctricos o electrónicos, por sobretensiones producidas por acoplamientos resistivos e inductivos entre los sistemas y la corriente del rayo. El número de descargas que afectan a las estructuras y a los servicios depende de sus dimensiones, de sus características, de las características del medioambiente, así como de la densidad de descargas a tierra en la región en la que se encuentran las estructuras y los servicios.
7 Protección contra el rayo en subestaciones La probabilidad de daños por rayo depende de las características de la corriente del rayo, de las estructuras y de los servicios, así como de la eficacia y del tipo de protección adoptado. Los efectos del rayo sobre los servicios conectados que nos van a interesar en una subestación van a ser: Líneas de potencia: o Daños en los aisladores de las líneas de baja tensión o Perforación del aislamiento de los cables de línea o Fallo del aislamiento de los equipos de línea y de los transformadores, con la consiguiente pérdida de servicio Líneas de telecomunicación: o Daños mecánicos en la línea o Fusión de las pantallas y de los conductores o Ruptura del aislamiento del cable y del equipo produciendo una pérdida de servicio El presente proyecto tiene como fin presentar la valoración del nivel de riesgo contra descargas atmosféricas pero la decisión de poner una protección contra el rayo puede tomarse sin tener en cuenta ninguna evaluación del riesgo, siempre que se considere que ningún riesgo es evitable.
8 Protección contra el rayo en subestaciones 3. NORMATIVAS APLICABLES Según el REC (Reglamento sobre centrales eléctricas, subestaciones y centros de transformación), en su Instrucción Técnica complementaria ITC MIE RAT 15 INSTALACIONES ELECTRICAS DE EXTERIOR, cita lo siguiente: 2.10 Protección contra la descarga directa de rayos y sobretensiones inducidas por estos. En general, las instalaciones situadas al exterior, en los parques a que se refiere el párrafo a) del Apartado 1 de esta instrucción, deberán estar protegidas contra los efectos de las posibles descargas de rayos directamente sobre las mismas o en sus proximidades. Para esta protección se podrán emplear conductores de tierra situados por encima de las instalaciones, o pararrayos debidamente distribuidos en función de sus características. Para la protección de transformadores, reactancias y aparatos similares contra sobretensiones inducidas, se utilizaran descargadores o pararrayos autoválvulas, y se recomienda igualmente el empleo de estos dispositivos en las entradas de líneas. Por lo tanto, en la subestación que protejamos se deberán instalar protecciones contra los posibles impactos directos de rayos sobre las estructuras existentes. Normativas de sistemas Activos o Pasivos En primer lugar hemos de diferenciar entre los sistemas de protección activos y pasivos para así aplicar en cada caso la Normativa que corresponda. La Norma americana NFPA 780 (Standard for the installation of the lightning protection systems) es una Norma Nacional, que hace referencia únicamente a los sistemas pasivos. Del mismo modo la Norma francesa NFC 17-102 (Protection des structures et des zones ouvertes contre le foudre par paratonnerre à dispositif d’amorçage) es una Norma Nacional, que hace referencia únicamente a los sistemas activos. Haremos referencia a ella a la hora de calcular los radios de protección en pararrayos PDC. A nivel de Normas en lengua española tenemos dos, una para los sistemas activos y otra para los sistemas pasivos: Para los sistemas activos: La Norma UNE 21186 (Protección de estructuras y zonas abiertas contra el rayo mediante pararrayos con dispositivos de cebado). Para los sistemas pasivos: La Norma UNE-EN 62305 (Partes de la 1 a la 4) (Protección contra el rayo: principios generales)
9 Protección contra el rayo en subestaciones 4. INDICE DE RIESGO SEGÚN NORMA UNE EN 62305-2 Para determinar la necesidad de instalación de pararrayos en una estructura, se evalúa el riesgo de caída de rayos en la misma, siguiendo las directrices marcadas por la Norma Internacional IEC- 62305-2, traducida en España como UNE-EN 62305-2. En primer lugar deberemos identificar las estructuras que queremos proteger, para luego identificar los tipos de pérdidas correspondientes a la estructura o al servicio al que queremos dar protección. Para cada tipo de pérdidas identificaremos por un lado el Riesgo Tolerable RT (Tabla 1) y por otro, identificaremos y calcularemos todas las componentes de riesgo RX (Tabla 2). TIPOS DE PÉRDIDAS RT Pérdida de vida humana 10-5 Perdida de servicio público 10-3 Pérdida de patrimonio cultural 10-3 Tabla 1 – Tipos de pérdidas El resumen de los componentes del riesgo RX sería: COMPONENTE RX SIGNIFICADO LUGAR RA Componente del riesgo que considera daños a seres vivos Estructura RB Componente del riesgo que considera daños físicos Estructura RC Componente del riesgo que considera fallo de un servicio interno Estructura RM Componente del riesgo que considera fallo de un servicio interno Cerca de la estructura RU Componente del riesgo que considera daños a seres vivos Servicio conectado a la estructura RV Componente del riesgo que considera daños físicos en la estructura Servicio conectado a la estructura RW Componente del riesgo que considera fallo de sistemas internos Servicio conectado a la estructura RZ Componente del riesgo que considera fallo de sistemas internos Cerca de un servicio conectado a la estructura Tabla 2 – Componentes del riesgo RX
16 Protección contra el rayo en subestaciones Para su cálculo utilizaremos la siguiente expresión: RC = ND x PC x LC Componente del riesgo para una estructura por descargas cerca de una estructura (S2) RM: Componente relacionado con los fallos de los sistemas internos debidos al IEMR. En todos los casos podrían producirse pérdidas del tipo L2 y L4, junto con pérdidas del tipo L1 en aquellos casos de estructuras con riesgo de explosión y hospitales u otras estructuras que debido a la interrupción se ponga en peligro vidas humanas. Para su cálculo utilizaremos la siguiente expresión: RM = ND x PM x LM Componente del riesgo para una estructura por descargas en un servicio conectado a la estructura (S3) RU: Componente relacionado con los daños a los seres vivos producidos por tensiones de contacto en el interior de la estructura debidas a la corriente inyectada en una línea que entra en la estructura. Pueden ocurrir pérdidas de tipo L1 y en caso de estructura agrícola pérdida de tipo L4 por muerte de animales. Para su cálculo utilizaremos la siguiente expresión: RU = (ND + NDa) x PU x LU RV: Componente relacionado con los daños físicos producidos por la corriente del rayo transmitida a través de las líneas entrantes. Puede generar fuego o explosión debido a las chispas. Los tipos de pérdidas serían L1, L2, L3 y L4. Para su cálculo utilizaremos la siguiente expresión: RV = (ND + NDa) x PV x LV RW: Componente relacionado con los fallos de los sistemas internos por sobretensiones inducidas en las líneas que entran en la estructura. En todos los casos podrían producirse pérdidas del tipo L2 y L4 junto con pérdidas del tipo L1 en aquellos casos de estructuras con riesgo de explosión y hospitales u otras estructuras que debido a la interrupción se ponga en peligro vidas humanas. Para su cálculo utilizaremos la siguiente expresión: RW = (ND + NDa) x PW x LW
17 Protección contra el rayo en subestaciones Componente del riesgo para una estructura por descargas en un servicio conectado a la estructura (S4) RZ: Componente relacionado con los fallos de los sistemas internos causados por sobretensiones inducidas en las líneas que entran y se transmiten a la estructura. En todos los casos podrían producirse pérdidas de tipo L2 y L4 junto con pérdidas del tipo L1 en aquellos casos de estructuras con riesgo de explosión y hospitales u otras estructuras que debido a la interrupción se ponga en peligro vidas humanas. Para su cálculo utilizaremos la siguiente expresión: RZ = (NI+NL) x PZ x LZ
18 Protección contra el rayo en subestaciones 4.4 Composición de los componentes del riesgo en una estructura Los componentes del riesgo a considerar para cada tipo de pérdida en una estructura son los indicados a continuación: R1: riesgo de pérdida de vida humana R1= RA + RB + RC (*) + RM (*) + RU + RV + RW (*) + RZ (*) (*) = Sólo se tendrá en cuenta para estructuras con riesgo de explosión y hospitales con equipos que necesiten suministro continuo cuyo fallo ponga en peligro vidas humanas. Por ello, en nuestro estudio de subestaciones tomaremos como R1: R1 = RA + RB + RU + RV R2: riesgo de pérdida de servicio público R2 = RB + RC + RM + RV + RW + RZ R3: riesgo de pérdida de patrimonio cultural R3 = RB + RV R4: riesgo de pérdida de valor económico R4 = RA (*) + RB + RC + RM + RU (*) + RV + RW+ RZ (*) Sólo para propiedades donde puede producirse pérdida de animales. Esta aplicación va a calcular los riesgos de pérdidas de vidas humanas (R1) y pérdidas de servicio público (R2) que son los que más nos afectan. El riesgo sobre la pérdida de patrimonio cultural (R3) sería 0 porque en una subestación no va a haber nada de valor cultural o patrimonial. El riesgo sobre pérdida de valor económico (R4) no se va a tener en cuenta porque entran en juego algunas variables que no son conocidas como son los costes: Coste del edificio/estructura Coste del contenido Coste de las medidas de protección También habría que conocer la tasa de amortización y la tasa de mantenimiento.
19 Protección contra el rayo en subestaciones 5. CÁLCULOS DETALLADOS 5.1 Riesgo pérdida de vidas humanas (R1) Composición de los componentes del riesgo en relación con la estructura RA Componente del riesgo que considera daños a seres vivos (Estructura) RA= ND x PA x LA ND = Ng x Ad x Cd x 10-6 Ng = Densidad de descargas atmosféricas a tierra (descargas/km2/año) El valor de Ng lo introduciremos a mano en la aplicación. Como ayuda para obtenerlo he puesto un mapa de España en el que podemos ver el valor según la zona. Este no es un valor preciso por lo que para un estudio riguroso podemos consultar con empresas especializadas como puede ser www.fulgura.es . Ad = superficie de captación para estructuras aisladas en un terreno llano. Para calcularlo en una estructura regular utilizamos la longitud (L), anchura (W) y altura (H) e introduciremos estos valores expresados en metros en “Datos Generales” de la aplicación. Ad = L x W + 6H x (L + W) + 9πH2 Cd = factor de localización del servicio (tabla 4) SITUACIÓN RELATIVA Cd Objeto rodeados por objetos más altos o por árboles 0.25 Objeto rodeado por objetos o árboles de la misma altura o más pequeños 0.5 Objeto aislado sin otros objetos en las proximidades 1 Objeto aislado en la parte superior de una colina o de un montículo 2 Tabla 4 – Factor de localización Cd PA= probabilidad de que una descarga en la estructura produzca daños a los seres vivos por tensiones de paso y de contacto (tabla 5) MEDIDAS DE PROTECCIÓN PA Sin medidas de protección 1 Aislamiento eléctrico de los conductores expuestos (1) 10-2 Equipotencialización efectiva del terreno 10-2 Avisos 10-1 Tabla 5 – Valor de PA (1) Por ejemplo, al menos 3mm de polietileno reticulado
20 Protección contra el rayo en subestaciones LA= pérdidas relacionadas con los daños en seres vivos. LA = ra x Lt Las características de las estructuras afectan a las pérdidas de vidas humanas, lo que se tiene en cuenta mediante factores amplificadores y reductores. ra= factor reductor de las pérdidas de vidas humanas en función del tipo de terreno y del suelo (tabla 6) TIPO DE SUPERFICIE Resistencia de contacto (kΩ) ra Agrícola, hormigón ≤ 1 10-2 Mármol, cerámica 1 – 10 10-3 Grava, moqueta, alfombra 10-100 10-4 Asfalto, linóleo, madera ≥ 100 10-5 Tabla 6 - Factor reductor ra Lt= pérdidas debidas a daños por tensiones de paso y contacto (tabla 7) TIPO DE ESTRUCTURA Lt Personas en el interior 10-4 Personas en el exterior 10-2 Tabla 7 - Valor de Lt
21 Protección contra el rayo en subestaciones RB Componente del riesgo que considera daños físicos (Estructura) RB=ND x PB X LB ND = esta variable ya la hemos definido para RA PB = probabilidad de que una descarga produzca daños físicos en una estructura. El valor depende de si existe o no Sistema de Protección Contra el Rayo (SPCR) (tabla 8) CARACTERÍSTICAS DE LA ESTRUCTURA Nivel de protección PB No protegida por SPCR - 1 Protegida por un SPCR I 0.02 II 0.05 III 0.1 IV 0.2 Tabla 8 - Valores de PB LB = pérdidas en la estructura relacionadas con los daños físicos por descargas en la estructura. LB=rp x hz x rf x Lf rp=factor reductor de pérdidas por daños físicos en función de las medidas tomadas para reducir los efectos del fuego (tabla 9). MEDIDAS rp Sin medidas 1 Una de las siguientes medidas: extintores, instalaciones manuales de alarma, tomas de agua, compartimentos a prueba de fuego, vías de evacuación. 0.5 Una de las siguientes medidas: instalaciones fijas de extinción automáticas, instalaciones automáticas de alarma (1) 0.2 Tabla 9 - Valor de rp (1) Sólo si se está protegido contra sobretensiones y otros daños y si los bomberos pueden llegar en menos de 10 min. hz = factor amplificador de las pérdidas por daños físicos cuando se presenta un daño especial (tabla 10)
22 Protección contra el rayo en subestaciones TIPOS DE DAÑOS ESPECIALES hz Sin daño especial 1 Nivel bajo de pánico (nº personas inferior a 100) 2 Nivel medio de pánico (ej. eventos culturales o deportivos, 100-1000 personas) 5 Dificultad de evacuación (ej. estructuras con personas inválidas, hospitales) 5 Nivel alto de pánico (ej. eventos culturales o deportivos, > 1000 personas) 10 Riesgos para el ambiente o los alrededores 20 Contaminación de los alrededores o del medioambiente 50 Tabla 10 – Valores amplificadores hz rf = factor reductor de las pérdidas por daños físicos en función del riesgo de incendio de la estructura (tabla 11). RIESGO DE INCENDIO rf Explosión (1) 1 Alto 10-1 Normal 10-2 Bajo 10-3 Ninguno 0 Tabla 11 – Valores reductores rf (1) Se considera riesgo de explosión a la estructura hecha con materiales combustibles o a la estructura que contiene abundante material explosivo. En la zona del parque de una subestación podríamos considerar el riesgo de explosión como “alto” debido a que existe aparamenta con riesgo de incendio, como puede ser un interruptor que tiene pérdida de aceite o de gas SF6, o una autoválvula con el aislamiento deteriorado. Sin embargo, en la zona de control asignaremos un valor de “bajo” porque en principio no existe material inflamable. Lf = pérdidas debidas a daños físicos en función del tipo de estructura (tabla 12) TIPO DE ESTRUCTURA Lf Hospitales, hoteles, edificios civiles 10-1 Industriales, comerciales, escuelas 5 x 10-2 Entretenimiento público, iglesias, museos 2 x 10-2 Otros 10-2 Tabla 12 – Valores de Lf Encasillo a las subestaciones como tipo de estructura “Otros”, por lo que no doy opción al usuario a elegir este valor y lo fijo como una constante.
23 Protección contra el rayo en subestaciones RU Componente del riesgo que considera daños a seres vivos (Servicio conectado a la estructura) RU = (NL + NDa) x PU x LU Habrá que tener en cuenta que el valor de RU habrá que multiplicarlo por el número de líneas conectadas a la estructura para obtener el valor de RU total. NL= evaluación del valor medio anual de sucesos peligrosos por descargas en un servicio. NL= Ng x Al x Cd x Ct x 10-6 Ng= densidad de descargas atmosféricas a tierra Al= superficie de captación de las descargas que impactan en el servicio (m2). Para un servicio aéreo se considera: Al=Lc – 3(Ha+Hb) x 6Hc Lc= longitud de la sección del servicio desde la estructura hasta el primer nudo(*) (m). En caso de que no se conozca se estable el valor máximo que es Lc=1000m. En la aplicación hemos fijado este valor como una constante por la dificultad que tendrá el usuario en conocer el dato. (*) Nudo: punto de una línea de servicio en el que la propagación de una onda tipo impulso se considera despreciable. Ha = altura (m) de la estructura conectada al extremo “a” del servicio. Se considerará extremo “a” a la estructura principal de estudio. Este es un dato que el usuario debe introducir en “Datos generales” de la aplicación. Hb = altura (m) de la estructura conectada al extremo “b” del servicio. Se considerará extremo “b” a la estructura anexa a la principal. En caso de que no exista estructura anexa Hb valdrá 0. Hc = altura (m) de los conductores del servicio sobre el terreno. El valor de NL no va a ser el mismo en una línea de AT, de BT o de telecomunicaciones porque la altura de los conductores no va a ser la misma y ésta influye en la superficie de captación. Por ello tendremos que calcular el valor para cada uno de ellos. Cd = factor de localización del servicio (tabla 13). SITUACIÓN RELATIVA Cd Objeto rodeado por objetos más altos o por árboles 0.25 Objeto rodeado por objetos o árboles de la misma altura o más pequeños 0.5 Objeto aislado sin otros objetos en las proximidades 1 Objeto aislado en la parte superior de una colina o de un montículo 2 Tabla 13 – Factor de localización
24 Protección contra el rayo en subestaciones Ct = factor de corrección en presencia de un transformador de AT/BT en el servicio al que está conectado la estructura y situado entre el punto de impacto y la estructura (tabla 14) Transformador Ct Servicio con transformador 0.2 Solamente el servicio 1 Tabla 14 – Factor Ct NDa = número de sucesos peligrosos para una estructura adyacente (extremo “a” de un servicio) NDa = Ng x Ad/a x Cd/a x Ct x 10-6 Ng= densidad de descargas atmosféricas a tierra. Ad/a= superficie de captación para estructuras aisladas en un terreno llano. Su cálculo es igual que para Ad pero la longitud, altura y anchura cambiarán. Ad/a=L x W + 6H x (L + W) + 9πH2 Cd/a= factor de localización del servicio (tabla 13) Ct = factor de corrección en presencia de un transformador de AT/BT en el servicio (tabla 14) PU = probabilidad de que una descarga en un servicio produzca daños a los seres vivos por tensiones de contacto. Este valor depende de si está apantallado el servicio, de la tensión soportada al impulso de los sistemas conectados al servicio y de si hay previstos dispositivos de protección contra sobretensión a la entrada del servicio. Según la Norma IEC 62305-2 (apartado B.5), en caso de que los dispositivos de protección contra sobretensiones estén previstos para conexión equipotencial de acuerdo con la Norma IEC 62305-3, el valor de PU es el valor más pequeño de los valores de PSPD (tabla B.3) y PLD. La Norma IEC 62305-3 (Apartado 6.2.1) dice textualmente: Las conexiones equipotenciales se obtienen conectando el SPCR con: Partes metálicas de la estructura. Instalaciones metálicas Sistemas internos Partes conductoras externas y las líneas conectadas a la estructura.
25 Protección contra el rayo en subestaciones Ante la duda consulté con mi tutor de REE y me lo confirmó. Así pues, en todos los cálculos que hacen referencia a este punto tomaré que están previstos para conexión equipotencial. NIVEL DE PROTECCIÓN PSPD Sin protección 1 I 0.01 II 0.02 III-IV 0.03 Tabla 15 – Valor de PSPD Como la Norma indica (tabla B.6 de la Norma) que para un servicio sin apantallar se debe tomar PLD=1 así lo haremos. Conclusión a la que llego a la hora de efectuar los cálculos de PU: El valor más pequeño de PSPD es 0.01 y siempre va a ser menor que PLD. Por lo tanto, podemos decir que PU=0.01. Además, la Norma IEC 62305-2 indica que cuando se proveen medidas de protección como pueden ser restricciones físicas, avisos, alarmas... la probabilidad de PU se debe reducir multiplicándola por el valor de PA. LU = pérdidas relacionadas con los daños en seres vivos (descargas en un servicio). LU = ru x Lt ru= factor reductor de las pérdidas de vidas humanas en función del tipo de suelo (tabla 16) TIPO DE SUPERFICIE Resistencia de contacto (kΩ) ru Agrícola, hormigón ≤ 1 10-2 Mármol, cerámica 1 – 10 10-3 Grava, moqueta, alfombra 10-100 10-4 Asfalto, linóleo, madera ≥ 100 10-5 Tabla 16 - Factor reductor ru Lt= pérdidas debidas a daños por tensiones de paso y contacto (tabla 17) TIPO DE ESTRUCTURA Lt Personas en el interior 10-4 Personas en el exterior 10-2 Tabla 17 - Valor de Lt
32 Protección contra el rayo en subestaciones Tensión nominal (V) Tensión soportada a impulsos 1,2/50µs (kV) Categoría IV Categoría III Categoría II Categoría I 230/400 6 4 2.5 1.5 Tabla 22 – Tensión soportada a impulso Por lo tanto: KS4 (P) = 1.5/4=0.375 KMS = 0.375 PMS (P) = 0.9 (según tabla 21) KS4 (TL) = 1.5/1.5=1 KMS = 1 PMS (TL) = 1 (según tabla 21) LM= pérdidas relacionadas con el fallo de los servicios internos por descargas cerca de la estructura. LM = Lo = 10-3
33 Protección contra el rayo en subestaciones RW Componente del riesgo que considera fallo de sistemas internos (Servicio conectado a la estructura) RW = (NL + NDa) x PW x LW NL = evaluación del valor medio anual de sucesos peligrosos por descargas en un servicio. (Definido previamente para el cálculo de RU) NDa = número de sucesos peligrosos para una estructura adyacente (extremo “a” de un servicio) (Definido previamente para el cálculo de RU) PW = probabilidad de que una descarga en un servicio produzca fallos en los sistemas internos. Cuando están previstos dispositivos de protección contra sobretensiones Pw es el valor más pequeño de los valores de PSPD y PLD. Como para un servicio sin apantallar PLD=1 por lo que puedo decir que Pw=PSPD porque siempre será igual o menor. LW = pérdidas relacionadas con el fallo de los sistemas internos por descargas en un servicio. LW = Lo= 10-3 Haremos el cálculo de RW para cada línea de potencia y de telecomunicaciones y la suma de todas será el resultado. Además, se tendrá en cuenta el número de líneas conectadas a la estructura a la hora de realizar los cálculos para una línea de AT.
34 Protección contra el rayo en subestaciones RZ Componente del riesgo que considera fallo de sistemas internos (Servicio conectado a la estructura) RZ= (NI – NL) x PZ x LZ NI = valor medio anual de sucesos peligrosos por descargas cerca de un servicio. NI=Ng x Ai x Ce x Ct x 10-6 Se calcula para AT, BT y telecomunicaciones. Ng= densidad de descargas atmosféricas a tierra Ai = superficie de captación de las descargas a tierra cerca de un servicio (m2). Para cable aéreo: Ai=1000 x Lc Ya hemos definido a la hora de calcular Ru que Lc=1000m Ce= Factor ambiental (Definido como constante. Siempre será rural) Ct= factor del transformador. (Definido para RU) NL = evaluación del valor medio anual de sucesos peligrosos por descargas en un servicio. Ya está definido previamente en el cálculo del riesgo RU por lo que no voy a volver a detallar su cálculo. A efectos de cálculo y siempre según la Norma, en caso de que (NI – NL) < 0, se considerará (NI – NL) = 0 PZ = probabilidad de que una descarga cerca de un servicio produzca fallos en los sistemas internos. Cuando están previstos dispositivos de protección contra sobretensiones Pz es el valor más pequeño de los valores de PSPD y PLI (tabla 23) Realizo un estudio por si se puede simplificar el cálculo a la hora de introducir el código en la aplicación: UW ( kV ) Sin apantallar (PLI) 1.5 1 2.5 0.4 4 0.2 6 0.1 Tabla 23 - Valores de PLI
35 Protección contra el rayo en subestaciones Recuerdo que dentro de los cálculos he fijado que para los equipos de potencia UW= 4 kV y para los equipos de telecomunicación UW=1.5 kV. Por lo tanto: Potencia UW= 4 kV PLI=0.2 Telecom. UW= 1.5 kV PLI=1 Como PZ es el menor valor entre PSPD y PLI, resumo en esta tabla el valor de PZ que quedaría: POTENCIA Nivel de protección PSPD PLI PZ Sin protección 1 0.2 0.2 I 0.01 0.2 0.01 II 0.02 0.2 0.02 III-IV 0.03 0.2 0.03 TELECOMUNICACIONES Nivel de protección PSPD PLI PZ Sin protección 1 1 1 I 0.01 1 0.01 II 0.02 1 0.02 III-IV 0.03 1 0.03 LZ = pérdidas relacionadas con el fallo de los sistemas internos por descargas cerca de un servicio. LZ = Lo = 10-3
36 Protección contra el rayo en subestaciones 6. PROTECCIÓN EXTERNA En este estudio sólo nos vamos a centrar en la protección externa. Los cálculos que hemos realizado previamente nos van a servir para saber si tenemos o no que instalar medidas de protección, y en caso de que tengamos que instalarlas sabremos el nivel de protección que tenemos que aplicar a la hora de elegir un pararrayos. Hay dos tipos de protección externa: Protección externa activa: Captadores que de una manera u otra, emiten un flujo de iones dirigidos hacia la nube, aumentando la probabilidad de descargas sobre ellos para una mejor protección de estructuras y de personas en campo abierto (pararrayos con dispositivo de cebado PDC). Protección externa pasiva (Pararrayos Franklin y Jaula de Faraday): Sistemas que no intentan provocar el arco disruptivo (rayo), y dan protección sólo a las estructuras en las que se instalan. Según el Código Técnico Edificación se debe proyectar para cuatro niveles de protección contra el rayo: Nivel I: Nivel de Máxima seguridad Nivel II: Nivel de Alta seguridad Nivel III: Nivel de seguridad Media Nivel IV: Nivel de seguridad Estándar En la actualidad y siguiendo las directrices marcadas por diferentes códigos técnicos, los cuales se encuentran a su vez respaldados por la diferentes normativas vigentes, tenemos que a la hora de diseñar y proyectar un sistema de protección externo contra el rayo existen tres tipos: Puntas Franklin Mallas conductoras (Jaula de Faraday) Pararrayos con Dispositivo de Cebado (PDC) Ver apartado B.1.1 del Código Técnico de la edificación el cual dice: B.1.1 Diseño de la instalación de dispositivos captadores 1 Los dispositivos captadores podrán ser puntas Franklin, mallas conductoras y pararrayos con dispositivo de cebado.
37 Protección contra el rayo en subestaciones Como consecuencia de la gran extensión de terreno donde están ubicadas las estructuras y por existir también el riesgo de impactos sobre personas que se encuentren trabajando en el exterior, se ha optado por diseñar el sistema de protección externa contra el rayo en base a dos opciones: Sistema Pasivo mediante pararrayos Franklin. Sistema Activo mediante pararrayos PDC. NOTA: Cabe destacar que los sistemas activos y pasivos pueden coexistir en una misma instalación, pero por el momento no está disponible esta opción en la aplicación. Pararrayos Franklin La Norma UNE EN 62305-3 es la que marca las directrices de la protección en los sistemas pasivos. La instalación de los captadores debe realizarse en los puntos elevados cercanos a la aparamenta más crítica de la subestación (transformadores, interruptores) para que las posibles descargas vayan a tierra a través de ellos. De acuerdo con uno de los siguientes métodos se determina la posición de los captadores: Método del ángulo de protección Método de la esfera rodante Método de la malla La Norma indica que el método de la esfera rodante es apropiado para todos los casos y es el que utilizaremos. Se puede consultar el Anexo B para entender mejor este método. Para ello tendremos en cuenta la siguiente tabla: Clase de SPCR Radio de la esfera rodante r (m) I 20 II 30 III 45 IV 60
38 Protección contra el rayo en subestaciones Pararrayos PDC Un mismo modelo de pararrayos tiene diferentes radios de protección en función del nivel de protección adoptado. Como ejemplo muestro en la tabla siguiente distintos modelos de pararrayos con dispositivo de cebado sacado del catálogo de la empresa INGESCO . El radio de protección también depende de la altura a la que se encuentre la punta captadora, en este caso para 20m. (Véase Anexo A para saber cómo se calcula el radio de protección) A los radios de protección que calculemos o que consultemos en un catálogo podemos aplicar grado máximo de protección máximo como indica la norma francesa NFC 17 102, la cual cita lo siguiente: “Note: Structure avec toiture protégée par PDA de niveau 1+ avec réduction du rayon de protection de 40% et assurant une protection compléte des matériels sur le toit contre les coups de foudre directs” Aunque la norma española no lo cita he comprobado que empresas como Ingesco lo aplican en sus cálculos de radios de protección en PDC. Así pues, y con conformidad de mi tutor de REE, lo aplicaré también en caso de que se desee proteger con nivel I++.
39 Protección contra el rayo en subestaciones 7. DESCRIPCIÓN DE LA APLICACIÓN WEB La finalidad de este estudio es obtener un valor del riesgo por la pérdida de vidas humanas (R1) y pérdida se servicio público (R2). Este valor es el que se compara con la tabla de riesgos tolerables y en función de si es mayor o no, se requerirán medidas de protección contra el rayo y se deberá volver a calcular el riesgo. Una vez he detallado todas las variables que entran en juego paso a describir la aplicación: 7.1 Botón datos generales En la pantalla principal de la aplicación podemos observar que se tienen que introducir los datos generales (Figura 4) referentes a la subestación. Estos nos servirán para poder guardar y más tarde consultar los estudios realizados sin tener que rehacerlos. Figura 4 En algunos casos podemos encontrar un icono de ayuda y si pasamos el ratón sobre la imagen veremos un texto con información. Se da la opción de dividir la estructura en dos zonas, el parque y la zona de control. El parque siempre será obligatorio calcularlo porque es el objetivo principal. La división de la estructura en zonas permite la evaluación de los componentes del riesgo zona por zona, reduciendo el coste total de la protección contra el rayo. Dentro de la pantalla principal también encontraremos una zona en la que tenemos que introducir características de las estructuras (Figura 5) tales como dimensiones, medidas de protección y datos sobre la línea eléctrica.
40 Protección contra el rayo en subestaciones Figura 5 Por último nos quedará introducir las alturas de las líneas de potencia y telecomunicaciones (Figura 6). Figura 6
41 Protección contra el rayo en subestaciones 7.2 Botón zona parque El botón parque siempre estará activo. Elegimos las características de la zona, las cuales influirán en los diferentes riesgos al ser valores amplificadores (por ej. daños especiales) y reductores (por ej. riesgo de incendio, tipo de terreno...). Figura 7 7.3 Botón zona control Tendremos el botón activo en caso de que hayamos seleccionado que vamos estudiar el riesgo en la zona de control. En caso de que no lo esté tendríamos que volver a pinchar sobre Datos generales y seleccionar “Parque y zona de control” dentro de Zonas a proteger. La forma de actuar es la misma que para la zona de parque, ya que las opciones son las mismas (Figura 7). 7.4 Botón resultados Una vez introducidos todos los valores y seleccionadas todas las opciones que nos influyen tendremos que pulsar sobre el botón Resultados para estudiar los resultados. En la parte superior nos aparece el nivel de protección que queremos adoptar. Recuerdo que Nivel I es el nivel máximo y no protegida el nivel mínimo. (Figura 9) Figura 9
48 Protección contra el rayo en subestaciones 9. TRABAJO FUTURO A esta aplicación se le podrían añadir algunas mejoras pero que por falta de tiempo y otras por falta de experiencia no he podido llevar a cabo. Estas serían: Que la aplicación genere automáticamente un informe del estudio y que se pueda imprimir. Poder guardar los estudios en una base de datos y que se puede acceder a ella mediante usuario y contraseña. En la parte de dibujo se podrían pensar otro tipo de patrones para optimizar al máximo el área que cubre la superficie. Pedir al usuario unas coordenadas en las que introducir los soportes.
ANEXO A Cálculo de radio de protección para dispositivos PDC En la Norma UNE 21186:1996 (apartado 2.2.3.2) se explica cómo se calcula el radio de protección de un PDC en función de su altura. Esta ecuación se puede emplear para h ≥ 5m = En caso de que la altura fuera menor a 5 metros, se utilizarían los gráficos que aparecen en las figuras 2.2.3.3 a, b y c. Rp= radio de protección. h=altura de la punta del PDC en relación al plano horizontal que pasa por el vértice del elemento a proteger. ΔL(m) = v(m/µs) x Δt(µs) v(m/µs)= velocidad de propagación de los trazadores. Supondremos el valor medio que es de 1m/µs Δt(µs) = cada PDC se caracteriza por su avance de cebado que es determinado mediante pruebas de laboratorio. D Nivel I 20m Nivel II 45m Nivel III 60m Ejemplo: Δt=25 µs; v=1m/µs ΔL=25x1=25m h=20m; D(nivel I) = 20m = = = 45m Si ahora miramos la tabla de Ingesco, podemos encontrar que para una altura de 20m, avance de cebado de 25 µs y Nivel I, nos da el mismo valor.
ANEXO B Método de la esfera rodante El emplazamiento de la punta del pararrayos será adecuado si ningún punto de la estructura protegida está en contacto con una esfera de radio r (en función de la clase de SPCR) rodando alrededor y en la parte superior de la estructura. En todas las estructura cuya altura sea superior al radio de la esfera rodante “r “se pueden producir descargas laterales pero en el caso de altura inferiores a 60m, como va a ser nuestro caso, son generalmente despreciables.
ANEXO C Código HTML
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title> Evaluación Riesgo según UNE-EN 62305-2 </title> </head> <script language="JavaScript" src ="dibujo_circulos.js"> </script> <script language="JavaScript" src ="ree.js"> </script> <style type="text/css"> @import "estilos.css"; </style> <body onload="init_botones()"> <form name="form1"> <hr> <center> <input class="button" name="bot1" value="Datos generales" onclick="boton1()"> <input class="button" name="bot2" value="Parque" onclick="boton2()"> <input class="button" name="bot3" value="Edificio de control" onclick="boton3()"> <input class="button" name="bot4" value="Resultados" onclick="boton4()"> <input class="button" name="bot5" value="Variables" onclick="boton5()"> <input class="button" name="bot6" value="Gráficos" onclick="boton6()"> </center> <hr> <div id="zona1"> <br> <H3> Datos del proyecto </H3> <fieldset> <legend><b>Datos generales</b></legend> <table id="dat_gen" border="0"> <tr> <td>Proyecto: </td> <td><input type="text" name="proy" text-align:left size="40"></td> </tr> <tr> <td>Dirección: </td> <td><input type="text" size="40"></td> </tr> <tr> <td>Población:</td> <td> <input type="text"></td> </tr> <tr> <td>Provincia:</td> <td> <input type="text"></td> </tr> </table> <br> <!-- Icono de ayuda --> <img src="imag/info.ico" class="imag" width="15" height="15" title="Ng: número de descargas por año y km^2 en la zona de estudio"> Índice isoceráunico: <input type="text" name="Ng" size="4" onkeypress="return validar (event)" value=3.961> (rayos / km<sup>2</sup>- año)
<br> <a href="imag/mapa.jpg" target="_blank" onClick="window.open(this.href, this.target, 'width=812,height=512'); return false;"> Ver mapa isoceráunico de España</a> <br> <br> Zonas a proteger: <select name="Num_Zon" onChange="cambio_num_zonas();"> <option value="1"> Sólo parque </option> <option value="2"> Parque y zona de control</option> </select> <br><br> </fieldset> <br> <br> <H3> Características de las estructuras </H3> <fieldset> <legend><b>Características de la estructura</b></legend> <br> <table border="0"> <tr> <td> Dimensiones de la <b>zona parque</b> a proteger: <br> <table border="0" align="right"> <tr> <td> Longitud de la estructura </td> <td> <input type="text" name="longitud" size="4" onkeypress="return validar (event)" value=184> </td> <td> (m) </td> </tr> <tr> <td> Anchura de la estructura </td> <td> <input type="text" name="anchura" size="4" onkeypress="return validar (event)" value=55> </td> <td> (m) </td> </tr> <tr> <td> Altura de la estructura </td> <td> <input type="text" name="altura" size="4" onkeypress="return validar(event)" value=17> </td> <td> (m) </td> </tr> </table> </td> <td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> <td> ¿Existe una estructura adyacente? <input type="radio" name="adyacente" value="1" onChange="adya();"checked >No <input type="radio" name="adyacente" value="0" onChange="adya();" >Sí <br> <table name="adyacente_b" border="0" align="right"> <tr> <td> Longitud de la estructura </td> <td> <input type="text" name="longitudB" size="4" onkeypress="return validar (event)" value=0> </td> <td> (m) </td>
</tr> <tr> <td> Anchura de la estructura </td> <td> <input type="text" name="anchuraB" size="4" onkeypress="return validar (event)" value=0> </td> <td> (m) </td> </tr> <tr> <td> Altura de la estructura </td> <td> <input type="text" name="alturaB" size="4" onkeypress="return validar(event)" value=0> </td> <td> (m) </td> </tr> </table> </td> </table> <table border="0"> <td> <br> Dimensiones de la <b>zona de control</b> a proteger: <br> <table border="0" align="right"> <tr> <td> Longitud de la estructura </td> <td> <input type="text" name="longitud_control" size="4" onkeypress="return validar(event)" value=20> </td> <td> (m) </td> </tr> <tr> <td> Anchura de la estructura </td> <td> <input type="text" name="anchura_control" size="4" onkeypress="return validar(event)" value=10> </td> <td> (m) </td> </tr> <tr> <td> Altura de la estructura </td> <td> <input type="text" name="altura_control" size="4" onkeypress="return validar (event)" value=10> </td> <td> (m) </td> </tr> </table> </td> <td></td> </table> <br> Tipo de medidas de protección: <br> <select name="Pa"> <option value="1"> Sin medidas de protección </option> <option value="1E-2"> Aislamiento eléctrico de los conductores expuestos (ej. al menos 3mm de polietileno reticulado)</option> <option value="1E-2" selected='selected'> Equipotencialización efectiva del terreno </option> <option value="1E-1"> Avísos </option> </select> <br> <br> <fieldset> <legend><i>Línea eléctrica</i></legend> Existencia de transformador MT/BT: <!-- Esto es para saber Ct--> <select name="Ct">
<option value="0.2"> Transformador</option> <option value="1"> Sin transformador</option> </select> <br> <br> Número de líneas conectadas: <input type="text" name="n_lineas" size="3" onkeypress="return validar(event)" value="6"> <br> <br> Tipo de cable externo: <select name="apantall"> <option value="1"> Apantallado</option> </select> </fieldset> </fieldset> <br> <H3>Características de los sistemas de potencia y de las líneas de potencia conectadas</ H3> <fieldset> <legend><b>Línea de potencia aérea (BT)</b></legend> <table border="0"> <tr> <td> Altura estructura conectada al extremo "a" del servicio </td> <td> <input type="text" name="alt_Ha_BT" size="3" onkeypress="return validar(event)" value=0> </td> <td> (m) </td> <td><img src="imag/info.ico" class="imag" width="15" height="15" title="Extremo 'a': se considera la extructura adyacente. En caso de no existir su valor será 0"> </td> </tr> <td> Altura estructura conectada al extremo "b" del servicio </td> <td> <input type="text" name="alt_Hb_BT" size="3" onkeypress="return validar(event)" value=17> </td> <td> (m) </td> <td><img src="imag/info.ico" class="imag" width="15" height="15" title="Extremo 'b': se considera la extructura a proteger"> </td> <td align=center width=200px> <a href="imag/Superf_capt.jpg" target="_blank" onClick="window.open(this.href, this.target, 'width=810,height=388'); return false;">Ver imagen </a> </td> </tr> <td> Altura de los conductores sobre el terreno </td> <td> <input type="text" name="alt_Hc_BT" size="3" onkeypress="return validar(event)" value=9> </td> <td> (m) </td> </tr> </table> </fieldset> <br> <fieldset> <legend><b>Línea de potencia aérea (AT)</b></legend> <table border="0"> <tr> <td> Altura estructura conectada al extremo "a" del servicio </td> <td> <input type="text" name="alt_Ha_AT" size="3" onkeypress="return validar(event)" value=0> </td> <td> (m) </td>
</tr> <td> Altura estructura conectada al extremo "b" del servicio </td> <td> <input type="text" name="alt_Hb_AT" size="3" onkeypress="return validar(event)" value=17> </td> <td> (m) </td> </tr> <td> Altura de los conductores sobre el terreno </td> <td> <input type="text" name="alt_Hc_AT" size="3" onkeypress="return validar(event)" value=30> </td> <td> (m) </td> </tr> </table> </fieldset> <br> <br> <H3> Características de los sistemas de telecomunicación y de las líneas de telecomunicación conectadas </H3> <fieldset> <legend><b>Línea de telecomunicaciones aérea</b></legend> <table border="0"> <tr> <td> Altura estructura conectada al extremo "a" del servicio </td> <td> <input type="text" name="alt_Ha_TL" size="3" onkeypress="return validar(event)" value=0> </td> <td> (m) </td> </tr> <td> Altura estructura conectada al extremo "b" del servicio </td> <td> <input type="text" name="alt_Hb_TL" size="3" onkeypress="return validar(event)" value=17> </td> <td> (m) </td> </tr> <td> Altura de los conductores sobre el terreno </td> <td> <input type="text" name="alt_Hc_TL" size="3" onkeypress="return validar(event)" value=6> </td> <td> (m) </td> </tr> </table> </fieldset> </div> <div id="zona2"> <br> <H3> Características de la zona PARQUE </H3> <fieldset> <legend><b>Características</b></legend> <img src="imag/info.ico" class="imag" width="15" height="15" title="(Cd) Factor de altura basado en la topografía y en la altura relativa de las estructuras u objetos próximos"> Situación respecto a los alrededores: <!-- Esto es para saber Cd en parque--> <br> <select name="situ_rela_parque"> <option value="0.25"> Objeto rodeado por objetos más altos o por árboles</ option> <option value="0.5">Objeto rodeado por objetos o árboles de la misma altura o más pequeños</option>
<option value="1" selected='selected'>Objeto aislado: sin otros objetos en las proximidades</option> <option value="2">Objeto aislado en la parte superior de una colina o de un montículo</option> </select> <br><br> <img src="imag/info.ico" class="imag" width="15" height="15" title="Factor reductor (rf). Riesgo de que una descarga provoque un incendio"> Riesgo de incendio: <!-- Esto es para saber rf en parque--> <br> <select name="rf_parque"> <option value="1"> Explosión</option> <option value="1E-1" selected='selected'>Alto</option> <option value="1E-2">Normal</option> <option value="1E-3">Bajo</option> <option value="0">Ninguno</option> </select> <br><br> <img src="imag/info.ico" class="imag" width="15" height="15" title="Factor amplificador (hz). Cantidad relativa de daños causados por riesgos especiales"> Tipos de daños especiales: <!-- Esto es para saber hz en parque--> <br> <select name="hz_parque"> <option value="1"> Sin daño especial</option> <option value="2"selected='selected'>Nivel bajo de pánico (Ej. nº personas < 100)</option> <option value="5">Nivel medio de pánico (Ej. Estructura para eventos <1000 pers.)</option> <option value="5">Dificultad de evacuación (Ej. Estructuras con personas inválidas, hospitales)</option> <option value="10" >Nivel alto de pánico (Ej. Estructura para eventos >1000 pers.)</option> <option value="20">Riesgos para el ambiente o los alrededores</option> <option value="50">Contaminación de los alrededores o del ambiente</option> </select> <br><br> <img src="imag/info.ico" class="imag" width="15" height="15" title="Factor reductor (rp). Medidas de protección tomadas para reducir las consecuencias del fuego"> Medidas tomadas para reducir los efectos del fuego: <!-- Esto es para saber rp en parque --> <br> <select name="rp_parque"> <option value="1"> Sin medidas </option> <option value="1"> Estructura con riesgo de explosión</option> <option value="0.5"> Medidas manuales: extintores, alarmas, tomas de agua, vía de evacuación compartimentos a prueba de fuego </option> <option value="0.2" selected='selected'> Medidas automáticas: instalaciones fijas de extinción automáticas; instalaciones automáticas de alarma </option> </select> <br><br> <img src="imag/info.ico" class="imag" width="15" height="15" title="Factor reductor (Lt). Valor en función de presencia de personas"> Tipo de estructura: <!-- Esto es para saber Lt en parque --> <br> <select name="Lt_parque"> <option value="1E-4"> Personas en el interior del edificio </option> <option value="1E-2" selected='selected'> Personas en el exterior del edificio </option> </select> <br><br> <img src="imag/info.ico" class="imag" width="15" height="15" title="Factor reductor (ru). Valor en función del tipo de terreno">
<td bgcolor=#E6E6E6> TOTAL R<sub>2</sub> (10<sup> -3</sup>) </td> <td bgcolor=#E6E6E6 id=""> -- </td> <td bgcolor=#E6E6E6 id=""> -- </td> <td bgcolor=#E6E6E6 id="Total_R2"> -- </td> <td></td> </tr> </table> </div> <!-- Fin tabla resul R2--> <br> <div id="tabla_composicion_R2_di"> <table border="1" align=center bgcolor=white bordercolor=#000000> <tr> <td colspan="5" align=center> Composición del riesgo R2 en función de la fuente de daño </td> </tr> <tr> <th> Símbolo </th> <th> Zona Parque </th> <th> Zona Edif. Control </th> <th> Estructura </th> <th> Porcentaje (%) </th> </tr> <tr> <td width="150" title="Riesgo por descargas en la estructura. RD = RA + RB + RC" > R<sub>D</sub> </td> <td id="Rd2_parque"> -- </td> <td id="Rd2_control"> -- </td> <td id="Rd2"> -- </td> <td id="Rd2_estructura_porc"> -- </td> </tr> <tr> <td title="Riesgo por descargas que aunque no impacten en la estructura tienen influencia en ella. RI = RM + RU + RV + RW + RZ "> R<sub>I</sub> </td> <td id="Ri2_parque"> -- </td> <td id="Ri2_control"> -- </td> <td id="Ri2"> -- </td> <td id="Ri2_estructura_porc"> -- </td> </tr> <tr> <td bgcolor=#E6E6E6> TOTAL R<sub>2</sub> (10<sup>-3</sup>) </td> <td bgcolor=#E6E6E6 id=""> -- </td> <td bgcolor=#E6E6E6 id=""> -- </td> <td bgcolor=#E6E6E6 id="Total_R2_di"> -- </td> <td></td> </tr> </table> <br> <div id="tabla_composicion_R2_sfo"> <table border="1" align=center bgcolor=white bordercolor=#000000> <tr> <td colspan="5" align=center> Composición del riesgo R2 en función del tipo de daño </td> <tr> <th> Símbolo </th> <th> Zona Parque </th> <th> Zona Edif. Control </th> <th> Estructura </th> <th> Porcentaje (%) </th> </tr>
<tr> <td title="Riesgo por daños a los seres vivos. Rs = RA + RU"> R<sub>S</sub> </td> <td id="Rs2_parque"> -- </td> <td id="Rs2_control"> -- </td> <td id="Rs2"> -- </td> <td id="Rs2_estructura_porc"> -- </td> </tr> <tr> <td title="Riesgo por daños físicos. Rf = RB + RV "> R<sub>F</sub> </td> <td id="Rf2_parque"> -- </td> <td id="Rf2_control"> -- </td> <td id="Rf2"> -- </td> <td id="Rf2_estructura_porc"> -- </td> </tr> <tr> <td title="Riesgo por fallo de los sistemas internos. Ro = RM + RC + RW + RZ "> R<sub>O</sub> </td> <td id="Ro2_parque"> -- </td> <td id="Ro2_control"> -- </td> <td id="Ro2"> -- </td> <td id="Ro2_estructura_porc"> -- </td> </tr> <tr> <td bgcolor=#E6E6E6> TOTAL R<sub>2</sub> (10<sup>-3</sup>) </td> <td bgcolor=#E6E6E6 id=""> -- </td> <td bgcolor=#E6E6E6 id=""> -- </td> <td bgcolor=#E6E6E6 id="Total_R2_sfo"> -- </td> <td></td> </tr> </table> </div> <!-- Fin tabla descomp. R2--> </fieldset> </div> <!-- Fin zona 4--> <div id="zona5" > <!-- Inicio zona 5 "Calculos"--> <H3>Constantes utilizadas:</H3> <table border="3" align=center witdh="90%"> <tr> <th> Símbolo </th> <th> Definición </th> <th> Valor </th> </tr> <tr> <td> <b>L<sub>f</sub></b></td> <td> Pérdidas debidas a daños físicos en función del tipo de estructura (Véase TABLA C1 EN 62305-2) </td> <td id="Lf_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>c</sub></b></td> <td> Longitud de la sección del servicio desde la estructura hasta el primer nudo (m) </td> <td id="Lc_mostrar"> -- </td> </tr> <tr> <td> <b>C<sub>e</sub></b></td> <td> Factor ambiental. Este valor será constante siendo Ambiente Rural (Véase TABLA A.5 EN 62305-2) </td> <td id="Ce_mostrar"> -- </td> </tr> </table>
<br> <H3>Impactos de rayo en las distintas superficies:</H3> <table border="3" align=center witdh="90%"> <tr> <th> Símbolo </th> <th> Definición </th> <th> Valor (1/año) </th> </tr> <tr> <td> <b>A<sub>d</sub></b></td> <td> Superficie de captación de descargas directas en la estructura </td> <td id="Ad_mostrar"> -- </td> </tr> <tr> <td> <b>A<sub>i</sub> (P; BT,AT,TL)</b></td> <td>Superficie de captación de descargas cerca de la línea de potencia aérea de BT</ td> <td id="Ai_mostrar"> -- </td> </tr> <tr> <td> <b>A<sub>l</sub> (P; BT)</b></td> <td>Superficie de captación de descargas en la línea de potencia aérea de BT</td> <td id="Al_BT_mostrar"> -- </td> </tr> <tr> <td> <b>A<sub>l</sub> (P; AT)</b></td> <td> Superficie de captación de descargas en la línea de potencia aérea de AT</td> <td id="Al_AT_mostrar"> -- </td> </tr> <tr> <td> <b>A<sub>l</sub> (T)</b></td> <td> Superficie de captación de descargas en la línea de telecomunicaciones aérea</ td> <td id="Al_TL_mostrar"> -- </td> </tr> </table> <br> <H3>Número de posibles sucesos peligrosos al año:</H3> <table border="3" align=center witdh="90%"> <tr> <th> Símbolo </th> <th> Definición </th> <th> Valor (m<sup>2</sup>) </th> </tr> <tr> <td> <b>N<sub>d</sub></b></td> <td> Número de sucesos peligrosos al año por descargas en una estructura (extremo "b" del servicio) </td> <td id="Nd_mostrar"> -- </td> </tr> <tr> <td> <b>N<sub>da</sub></b></td> <td> Número de sucesos peligrosos al año por descargas en una estructura adyacente (extremo "a" del servicio) </td> <td id="Nda_mostrar"> -- </td> </tr> <tr> <td> <b>N<sub>L</sub> (P; BT)</b></td> <td> Número de sucesos peligrosos al año por descargas en la línea de potencia aérea de BT </td> <td id="Nl_BT_mostrar"> -- </td> </tr> <tr> <td> <b>N<sub>i</sub> (P; BT)</b></td>
<td> Número de sucesos peligrosos al año por descargas cerca de la línea de potencia aérea de BT </td> <td id="Ni_BT_mostrar"> -- </td> </tr> <tr> <td> <b>N<sub>L</sub> (P; AT)</b></td> <td> Número de sucesos peligrosos al año por descargas en la línea de potencia aérea de AT </td> <td id="Nl_AT_mostrar"> -- </td> </tr> <tr> <td> <b>N<sub>i</sub> (P; BT)</b></td> <td> Número de sucesos peligrosos al año por descargas cerca de la línea de potencia aérea de AT </td> <td id="Ni_AT_mostrar"> -- </td> </tr> <tr> <td> <b>N<sub>L</sub> (TL)</b></td> <td> Número de sucesos peligrosos al año por descargas en la línea de telecomunicaciones aérea </td> <td id="NL_linea_mostrar"> -- </td> </tr> <tr> <td> <b>N<sub>i</sub> (TL)</b></td> <td> Número de sucesos peligrosos al año por descargas cerca de la línea de telecomunicaciones aérea </td> <td id="Ni_cerca_mostrar"> -- </td> </tr> </table> <H3>Características zona parque:</H3> <table border="3" align=center witdh="90%"> <tr> <th> Símbolo </th> <th> Definición </th> <th> Valor </th> </tr> <tr> <td> <b>C<sub>d</sub></b></td> <td> Factor de emplazamiento </td> <td id="cd_p_mostrar"> -- </td> </tr> <tr> <td> <b>r<sub>f</sub></b></td> <td> Factor reductor de pérdidas asociado al riesgo de incendio </td> <td id="rf_p_mostrar"> -- </td> </tr> <tr> <td> <b>h<sub>z</sub></b></td> <td> Factor amplificador de pérdidas por riesgo especial </td> <td id="hz_p_mostrar"> -- </td> </tr> <tr> <td> <b>r<sub>p</sub></b></td> <td> Factor reductor de las pérdidas por medidas contra incendios </td> <td id="rp_p_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>t</sub></b></td> <td> Pérdidas por daños causador por tensiones de paso y de contacto </td> <td id="Lt_p_mostrar"> -- </td> </tr> <tr> <td> <b>r<sub>u</sub></b></td> <td> Factor reductor asociado con el tipo de superficie del suelo </td> <td id="ru_p_mostrar"> -- </td>
</tr> </table> <H3>Características zona control:</H3> <table border="3" align=center witdh="90%"> <tr> <th> Símbolo </th> <th> Definición </th> <th> Valor </th> </tr> <tr> <td> <b>C<sub>d</sub></b></td> <td> Factor de emplazamiento </td> <td id="cd_c_mostrar"> -- </td> </tr> <tr> <td> <b>r<sub>f</sub></b></td> <td> Factor reductor de pérdidas asociado al riesgo de incendio </td> <td id="rf_c_mostrar"> -- </td> </tr> <tr> <td> <b>h<sub>z</sub></b></td> <td> Factor amplificador de pérdidas por riesgo especial </td> <td id="hz_c_mostrar"> -- </td> </tr> <tr> <td> <b>r<sub>p</sub></b></td> <td> Factor reductor de las pérdidas por medidas contra incendios </td> <td id="rp_c_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>t</sub></b></td> <td> Pérdidas por daños causador por tensiones de paso y de contacto </td> <td id="Lt_c_mostrar"> -- </td> </tr> <tr> <td> <b>r<sub>u</sub></b></td> <td> Factor reductor asociado con el tipo de superficie del suelo </td> <td id="ru_c_mostrar"> -- </td> </tr> </table> <br> <H3>Evaluación de la probabilidad de daños en la estructura:</H3> <table border="3" align=center witdh="90%"> <tr> <th> Símbolo </th> <th> Definición </th> <th> Valor </th> </tr> <tr> <td> <b>P<sub>a</sub></b></td> <td> Probabilidad de daños a seres vivos por descargas en la estructura </td> <td id="Pa_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>b</sub></b></td> <td> Probabilidad de daños físicos en una estructura por descargas en ella </td> <td id="Pb_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>c</sub></b></td> <td> Probabilidad de fallo de los sistemas internos por descargas en la estructura </td> <td id="Pc_mostrar"> -- </td> </tr>
<tr> <td> <b>P<sub>m</sub>(AT)</b></td> <td> Probabilidad de fallo de los sistemas internos por descargas cerca de la estructura </td> <td id="Pm_AT_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>m</sub>(BT)</b></td> <td> Probabilidad de fallo de los sistemas internos por descargas cerca de la estructura </td> <td id="Pm_BT_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>m</sub>(TL)</b></td> <td> Probabilidad de fallo de los sistemas internos por descargas cerca de la estructura </td> <td id="Pm_TL_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>u</sub>(AT)</b></td> <td> Probabilidad de daños a seres vivos por descargas en un servicio conectado </ td> <td id="Pu_AT_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>u</sub>(BT)</b></td> <td> Probabilidad de daños a seres vivos por descargas en un servicio conectado </ td> <td id="Pu_BT_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>u</sub>(TL)</b></td> <td> Probabilidad de daños a seres vivos por descargas en un servicio conectado </ td> <td id="Pu_TL_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>v</sub>(AT)</b></td> <td> Probabilidad de daños físicos en una estructura por descargas en un servicio conectado </td> <td id="Pv_AT_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>v</sub>(BT)</b></td> <td> Probabilidad de daños físicos en una estructura por descargas en un servicio conectado </td> <td id="Pv_BT_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>v</sub>(TL)</b></td> <td> Probabilidad de daños físicos en una estructura por descargas en un servicio conectado </td> <td id="Pv_TL_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>w</sub>(AT)</b></td> <td> Probabilidad de fallo de los sistemas internos por descargas en un servicio conectado </td> <td id="Pw_AT_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>w</sub>(BT)</b></td> <td> Probabilidad de fallo de los sistemas internos por descargas en un servicio conectado </td> <td id="Pw_BT_mostrar"> -- </td> </tr>
<tr> <td> <b>P<sub>w</sub>(TL)</b></td> <td> Probabilidad de fallo de los sistemas internos por descargas en un servicio conectado </td> <td id="Pw_TL_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>z</sub>(AT)</b></td> <td> Probabilidad de fallo de los sistemas internos por descargas cerca de un servicio conectado </td> <td id="Pz_AT_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>z</sub>(BT)</b></td> <td> Probabilidad de fallo de los sistemas internos por descargas cerca de un servicio conectado </td> <td id="Pz_BT_mostrar"> -- </td> </tr> <tr> <td> <b>P<sub>z</sub>(TL)</b></td> <td> Probabilidad de fallo de los sistemas internos por descargas cerca de un servicio conectado </td> <td id="Pz_TL_mostrar"> -- </td> </tr> </table> <br> <H3>Evaluación de pérdidas en una estructura:</H3> <table border="3" align=center witdh="90%"> <tr> <th> Símbolo </th> <th> Definición </th> <th> Valor </th> </tr> <tr> <td> <b>L<sub>A</sub></b></td> <td> Pérdidas relacionadas con los seres vivos </td> <td id="La_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>B</sub> parque</b></td> <td> Pérdidas en una estructura relacionadas con los daños físicos por descargas en la estructura </td> <td id="Lb_p_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>B</sub> control</b></td> <td> Pérdidas en una estructura relacionadas con los daños físicos por descargas en la estructura </td> <td id="Lb_c_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>C</sub></b></td> <td> Pérdidas relacionadas con el fallo de los servicios internos por descargas en la estructura </td> <td id="LC_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>M</sub></b></td> <td> Pérdidas relacionadas con el fallo de los servicios internos por descargas cerca de la estructura </td> <td id="Lm_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>U</sub> parque</b></td>
<td> Pérdidas relacionadas con los daños en seres vivos por descargas en un servicio </td> <td id="Lu_p_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>U</sub> control</b></td> <td> Pérdidas relacionadas con los daños en seres vivos por descargas en un servicio </td> <td id="Lu_c_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>V</sub> parque</b></td> <td> Pérdidas en una estructura por daños físicos por descargas en un servicio</td> <td id="Lv_p_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>V</sub> control</b></td> <td> Pérdidas en una estructura por daños físicos por descargas en un servicio</td> <td id="Lv_c_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>W</sub></b></td> <td> Pérdidas relacionadas con el fallo de los sistemas internos por descargas en un servicio</td> <td id="Lw_mostrar"> -- </td> </tr> <tr> <td> <b>L<sub>Z</sub></b></td> <td> Pérdidas relacionadas con el fallo de los sistemas internos por descargas cerca de un servicio</td> <td id="Lz_mostrar"> -- </td> </tr> </table> </div> <div id="zona6" > <!-- Inicio zona 6 "Gráficos"--> <H3> Listado de pararrayos y planta de la estructura </H3> <fieldset> <legend><b>Listado de pararrayos</b></legend> <font size=3>Indique el porcentaje máximo sin cubrir que quiere mostrar:</font> <input type="text" name="max_sin_cubrir" size="4" onkeypress="return validar(event)" value=40> <br> <font size=3>Indique el nivel de protección que quiere mostrar (1, 2, 3 ó 4):</font> <input type="text" name="niv_mostrar" size="4" onkeypress="return validar(event)" value=1> <input class="botcalc" name="bot7" value="Mostrar" onclick="boton6()"> <br> <br> <b><center><font size=3 color=#FF0000> Nota: debe pasar el cursor por encima de la columna "Casos" para mostrar las imagenes</font></center></b> <br> <table border=1 id="tabla" align="center"> <tr> <th> Caso </th> <th> Niv. Prot. </th> <th> Modelo </th> <th> Radio (m) </th> <th> Patrón </th> <th> NºPararrayos </th> <th> Area sin cubrir (m<sup>2</sup>) </th> <th> Sin cubrir (%) </th> <th> Superpuesto (%) </th>
<th> Malgastado (%) </th> <th> Precio (€)</th> <th> Precio Total (€)</th> </tr> </table> <br> <br> <table border=0 id="precio"> <tr > <b>Nota:</b> el precio total incluye los siguientes elementos por cada instalación de pararrayos: </tr> <tr> <td>- Precio de las puntas</td> </tr> <tr> <td>- Piezas de adaptación cabezal-mástil 1 1/2'' para cable</td> </tr> <tr> <td>- Mástiles de 3m en acero inoxidable 1' 1/2''</td> </tr> <tr> <td>- Juegos de fijación mástil-estructura</td> </tr> <tr> <td>- Contadores de rayos</td> </tr> <tr> <td>- Tarjetas PCS</td> </tr> <tr> <td>- Tubos de protección</td> </tr> <tr> <td>- Arquetas de registro</td> </tr> </table> </fieldset> <canvas id="graf0" width="600" height="400"></canvas> </div> <!-- Fin zona 6 --> </form> <input type="hidden" id="indice_gbl"> </body> </html>
ANEXO D Código JAVASCRIPT “ree.js”
antes, Pw=Pspd //En AT lo multiplico por el nº de lineas var Pw=Pspd; var Lw=1E-3; var Rw2_AT=(Nl_AT+Nda)*Pw*Lw*n_lineas.value; var Rw2_BT=(Nl_BT+Nda)*Pw*Lw; var Rw2_TL=(Nl_TL+Nda)*Pw*Lw; var Rw2_parque=Rw2_AT; if (document.form1.Num_Zon.value==1) Rw2_control=0; else var Rw2_control=parseFloat(Rw2_BT)+parseFloat(Rw2_TL); var Rw2_estructura=parseFloat(Rw2_parque)+parseFloat(Rw2_control); //************************ CALCULO RIESGO Rz en BT, AT y TL (fallo sistemas internos por descarga en una línea conectada a la estructura) //Rz=(Ni-Nl)*Pz*Lz; //Pz menor valor entre Pspd y Pli (tabla B.7) Tomo para TL Uw=1.5 y BT,AT=4 en tabla //La diferencia según UNE no puede ser menor que 0. En ese caso valdría 0 el total de Rz //El Pspd ya lo tenemos de antes if (Ni_AT_BT-Nl_AT<0) Rz2_AT=0; if (Ni_AT_BT-Nl_BT<0) Rz2_BT=0; if (Ni_TL-Nl_TL<0) Rz2_TL=0; var Pli_TL=1; var Pli_BT_AT=0.2; if (Pspd==1) { Pz_AT=Pli_BT_AT; Pz_BT=Pli_BT_AT; Pz_TL=Pli_TL; } else { Pz_AT=Pspd; Pz_BT=Pspd; Pz_TL=Pspd; } var Lz=1E-3; var Rz2_AT=(Ni_AT_BT-Nl_AT)*Pz_AT*Lz; var Rz2_BT=(Ni_AT_BT-Nl_BT)*Pz_BT*Lz; var Rz2_TL=(Ni_TL-Nl_TL)*Pz_TL*Lz; var Rz2_parque=Rz2_AT; if (document.form1.Num_Zon.value==1) Rz2_control=0; else var Rz2_control=parseFloat(Rz2_BT)+parseFloat(Rz2_TL); var Rz2_estructura=parseFloat(Rz2_parque)+parseFloat(Rz2_control); // COMPOSICIÓN DE LOS COMPONENTES DEL RIESGO EN RELACION AL TIPO DE DAÑO PARA R2 // Rd= Ra + Rb + Rc; // Ri= Rm + Ru + Rv + Rw + Rz; Sólo Ru y Rv , los demás valen 0
var Rd2_parque= parseFloat(Rb2_parque) + parseFloat(Rc2_parque); var Rd2_control= parseFloat(Rb2_control) + parseFloat(Rc2_control); var Rd2= parseFloat(Rb2_parque) + parseFloat(Rb2_control) + parseFloat(Rc2_parque) + parseFloat(Rc2_control); var Ri2_parque=parseFloat(Rm2_parque) + parseFloat(Rv2_parque) + parseFloat(Rw2_parque) + parseFloat(Rz2_parque); var Ri2_control=parseFloat(Rm2_control) + parseFloat(Rv2_control) + parseFloat (Rw2_control) + parseFloat(Rz2_control); var Ri2= parseFloat(Rm2_parque) + parseFloat(Rm2_control) + parseFloat(Rv2_parque) + parseFloat(Rv2_control) + parseFloat(Rw2_parque) + parseFloat(Rw2_control) + parseFloat(Rz2_parque) + parseFloat(Rz2_control); var Total_R2_di=(parseFloat(Rd2) + parseFloat(Ri2))/1E-3; //También los descompongo por el tipo de pérdida //Rs=Ra+Ru //Rf=Rb+Rv //Ro=Rc + Rm + Rw + Rz var Rs2_parque=0; var Rs2_control=0; var Rs2=0; var Rf2_parque=parseFloat(Rb2_parque) + parseFloat(Rv2_parque); var Rf2_control=parseFloat(Rb2_control) + parseFloat(Rv2_control); var Rf2= parseFloat(Rb2_parque) + parseFloat(Rb2_control) + parseFloat(Rv2_parque) + parseFloat(Rv2_control); var Ro2_parque=parseFloat(Rc2_parque) + parseFloat(Rm2_parque) + parseFloat(Rw2_parque) + parseFloat(Rz2_parque); var Ro2_control=parseFloat(Rc2_control) + parseFloat(Rm2_control) + parseFloat (Rw2_control) + parseFloat(Rz2_control); var Ro2= parseFloat(Rc2_parque) + parseFloat(Rc2_control) + parseFloat(Rm2_parque) + parseFloat(Rm2_control) + parseFloat(Rw2_parque) + parseFloat(Rw2_control) + parseFloat (Rz2_parque) + parseFloat(Rz2_control); var Total_R2_sfo=(parseFloat(Rs2) + parseFloat(Rf2)+ parseFloat(Ro2))/1E-3; //Relleno campos en table html var selNum = Pb.selectedIndex; //Leo el texto del combobox var selText = Pb.options[selNum].text var el = document.getElementById('cabecera_tabla_resultados'); el.innerHTML = "Estudio realizado con el nivel de protección: '" + selText + "'"; var el = document.getElementById('Ra_parque'); el.innerHTML = Ra_parque.toExponential(2); var el = document.getElementById('Ra_control'); el.innerHTML = "0.00e+0"; var el = document.getElementById('Ra_estructura'); el.innerHTML = Ra_parque.toExponential(2); var el = document.getElementById('Rb_parque'); el.innerHTML = Rb_parque.toExponential(2); var el = document.getElementById('Rb_control'); el.innerHTML = Rb_control.toExponential(2); var el = document.getElementById('Rb_estructura'); el.innerHTML = (parseFloat(Rb_parque)+parseFloat(Rb_control)).toExponential(2);
var el = document.getElementById('Ru_BT_parque'); el.innerHTML = "0.00e+0"; var el = document.getElementById('Ru_BT_control'); el.innerHTML = Ru_BT.toExponential(2); var el = document.getElementById('Ru_BT_estructura'); el.innerHTML = Ru_BT.toExponential(2); var el = document.getElementById('Rv_BT_parque'); el.innerHTML = "0.00e+0"; var el = document.getElementById('Rv_BT_control'); el.innerHTML = Rv_BT.toExponential(2); var el = document.getElementById('Rv_BT_estructura'); el.innerHTML = Rv_BT.toExponential(2); var el = document.getElementById('Ru_AT_parque_total'); el.innerHTML = Ru_AT_tot.toExponential(2); var el = document.getElementById('Ru_AT_control_total'); el.innerHTML = "0.00e+0"; var el = document.getElementById('Ru_AT_estructura_total'); el.innerHTML = Ru_AT_tot.toExponential(2); var el = document.getElementById('Rv_AT_parque_total'); el.innerHTML = Rv_AT_tot.toExponential(2); var el = document.getElementById('Rv_AT_control_total'); el.innerHTML = "0.00e+0"; var el = document.getElementById('Rv_AT_estructura_total'); el.innerHTML = Rv_AT_tot.toExponential(2); var el = document.getElementById('Ru_TL_parque'); el.innerHTML = "0.00e+0"; var el = document.getElementById('Ru_TL_control'); el.innerHTML = Ru_TL.toExponential(2); var el = document.getElementById('Ru_TL_estructura'); el.innerHTML = Ru_TL.toExponential(2); var el = document.getElementById('Rv_TL_parque'); el.innerHTML = "0.00e+0"; var el = document.getElementById('Rv_TL_control'); el.innerHTML = Rv_TL.toExponential(2); var el = document.getElementById('Rv_TL_estructura'); el.innerHTML = Rv_TL.toExponential(2); //-------------------VALORES QUE MUESTRO EN LA ZONA DE VARIABLES ---------------------- var el = document.getElementById('Ad_mostrar'); el.innerHTML = Ad; var el = document.getElementById('Ai_mostrar'); el.innerHTML = Ai; var el = document.getElementById('Al_BT_mostrar'); el.innerHTML = Al_BT; var el = document.getElementById('Al_AT_mostrar'); el.innerHTML = Al_AT;
var el = document.getElementById('Al_TL_mostrar'); el.innerHTML = Al_TL; var el = document.getElementById('Nd_mostrar'); el.innerHTML = Nd; var el = document.getElementById('Nda_mostrar'); el.innerHTML = Nda; var el = document.getElementById('Nl_BT_mostrar'); el.innerHTML = Nl_BT; var el = document.getElementById('Ni_BT_mostrar'); el.innerHTML = Ni_AT_BT; var el = document.getElementById('Nl_AT_mostrar'); el.innerHTML = Nl_AT; var el = document.getElementById('Ni_AT_mostrar'); el.innerHTML = Ni_AT_BT; var el = document.getElementById('NL_linea_mostrar'); el.innerHTML = Nl_TL; var el = document.getElementById('Ni_cerca_mostrar'); el.innerHTML = Ni_TL; //Muestro las constantes var el = document.getElementById('Lf_mostrar'); el.innerHTML = Lf ; var el = document.getElementById('Lc_mostrar'); el.innerHTML = Lc+ " m"; var el = document.getElementById('Ce_mostrar'); el.innerHTML = Ce; //Valores de la zona parque en zona Variables var el = document.getElementById('cd_p_mostrar'); el.innerHTML = situ_rela_parque.value; var el = document.getElementById('rf_p_mostrar'); el.innerHTML = rf_parque.value; var el = document.getElementById('hz_p_mostrar'); el.innerHTML = hz_parque.value; var el = document.getElementById('rp_p_mostrar'); el.innerHTML = rp_parque.value; var el = document.getElementById('Lt_p_mostrar'); el.innerHTML = Lt_parque.value; var el = document.getElementById('ru_p_mostrar'); el.innerHTML = ru_parque.value; //Valores de la zona control en zona Variables var el = document.getElementById('cd_c_mostrar'); el.innerHTML = situ_rela_control.value; var el = document.getElementById('rf_c_mostrar'); el.innerHTML = rf_control.value; var el = document.getElementById('hz_c_mostrar');
el.innerHTML = hz_control.value; var el = document.getElementById('rp_c_mostrar'); el.innerHTML = rp_control.value; var el = document.getElementById('Lt_c_mostrar'); el.innerHTML = Lt_control.value; var el = document.getElementById('ru_c_mostrar'); el.innerHTML = ru_control.value; //Muestro las probabilidades var el = document.getElementById('Pa_mostrar'); el.innerHTML = Pa.value ; var el = document.getElementById('Pb_mostrar'); el.innerHTML = Pb.value ; var el = document.getElementById('Pc_mostrar'); el.innerHTML = Pc ; var el = document.getElementById('Pm_AT_mostrar'); el.innerHTML = Pm_AT; var el = document.getElementById('Pm_BT_mostrar'); el.innerHTML = Pm_BT; var el = document.getElementById('Pm_TL_mostrar'); el.innerHTML = Pm_TL; var el = document.getElementById('Pu_AT_mostrar'); el.innerHTML = Pu; var el = document.getElementById('Pu_BT_mostrar'); el.innerHTML = Pu; var el = document.getElementById('Pu_TL_mostrar'); el.innerHTML = Pu; var el = document.getElementById('Pv_AT_mostrar'); el.innerHTML = Pv; var el = document.getElementById('Pv_BT_mostrar'); el.innerHTML = Pv; var el = document.getElementById('Pv_TL_mostrar'); el.innerHTML = Pv; var el = document.getElementById('Pw_AT_mostrar'); el.innerHTML = Pw; var el = document.getElementById('Pw_BT_mostrar'); el.innerHTML = Pw; var el = document.getElementById('Pw_TL_mostrar'); el.innerHTML = Pw; var el = document.getElementById('Pz_AT_mostrar'); el.innerHTML = Pz_AT; var el = document.getElementById('Pz_BT_mostrar'); el.innerHTML = Pz_BT; var el = document.getElementById('Pz_TL_mostrar'); el.innerHTML = Pz_TL;
//Muestro pérdidas var el = document.getElementById('La_mostrar'); el.innerHTML = La.toExponential(1); var el = document.getElementById('Lb_p_mostrar'); el.innerHTML = Lb_parque.toExponential(1); var el = document.getElementById('Lb_c_mostrar'); el.innerHTML = Lb_control.toExponential(1); var el = document.getElementById('LC_mostrar'); el.innerHTML = LC; var el = document.getElementById('Lm_mostrar'); el.innerHTML = Lm; var el = document.getElementById('Lu_p_mostrar'); el.innerHTML = Lu_parque.toExponential(1); var el = document.getElementById('Lu_c_mostrar'); el.innerHTML = Lu_control.toExponential(1); var el = document.getElementById('Lv_p_mostrar'); el.innerHTML = Lv_AT.toExponential(1); var el = document.getElementById('Lv_c_mostrar'); el.innerHTML = Lv_BT.toExponential(1); var el = document.getElementById('Lw_mostrar'); el.innerHTML = Lw; var el = document.getElementById('Lz_mostrar'); el.innerHTML = Lz; //Cargo composición R1 var el = document.getElementById('Rd_parque'); el.innerHTML = Rd_parque.toExponential(2); var el = document.getElementById('Rd_control'); el.innerHTML = Rd_control.toExponential(2); var el = document.getElementById('Rd'); el.innerHTML = Rd.toExponential(2); var el = document.getElementById('Ri_parque'); el.innerHTML = Ri_parque.toExponential(2); var el = document.getElementById('Ri_control'); el.innerHTML = Ri_control.toExponential(2); var el = document.getElementById('Ri'); el.innerHTML = Ri.toExponential(2); var el = document.getElementById('Total_R1_di'); el.innerHTML = Total_R1_di.toFixed(2); if (Total_R1_di >= 1) el.innerHTML ="<font color=RED>" + Total_R1_di.toFixed(2) + "</font>"; var el = document.getElementById('Rs_parque'); el.innerHTML = Rs_parque.toExponential(2); var el = document.getElementById('Rs_control'); el.innerHTML = Rs_control.toExponential(2);
var el = document.getElementById('Rs'); el.innerHTML = Rs.toExponential(2); var el = document.getElementById('Rf_parque'); el.innerHTML = Rf_parque.toExponential(2); var el = document.getElementById('Rf_control'); el.innerHTML = Rf_control.toExponential(2); var el = document.getElementById('Rf'); el.innerHTML = Rf.toExponential(2); var el = document.getElementById('Ro_parque'); el.innerHTML = Ro_parque.toExponential(2); var el = document.getElementById('Ro_control'); el.innerHTML = Ro_control.toExponential(2); var el = document.getElementById('Ro'); el.innerHTML = Ro.toExponential(2); var el = document.getElementById('Total_R1_sfo'); el.innerHTML = Total_R1_sfo.toFixed(2); if (Total_R1_sfo >= 1) el.innerHTML ="<font color=RED>" + Total_R1_sfo.toFixed(2) + "</font>"; //Para el cálculo R2 de riesgo de pérdida de serv. público var el = document.getElementById('Rb2_parque'); el.innerHTML = Rb2_parque.toExponential(2); var el = document.getElementById('Rb2_control'); el.innerHTML = Rb2_control.toExponential(2); var el = document.getElementById('Rb2_estructura'); el.innerHTML = Rb2_estructura.toExponential(2); var el = document.getElementById('Rc2_parque'); el.innerHTML = Rc2_parque.toExponential(2); var el = document.getElementById('Rc2_control'); el.innerHTML = Rc2_control.toExponential(2); var el = document.getElementById('Rc2_estructura'); el.innerHTML = Rc2_estructura.toExponential(2); var el = document.getElementById('Rm2_parque'); el.innerHTML = Rm2_parque.toExponential(2); var el = document.getElementById('Rm2_control'); el.innerHTML = Rm2_control.toExponential(2); var el = document.getElementById('Rm2_estructura'); el.innerHTML = Rm2_estructura.toExponential(2); var el = document.getElementById('Rv2_parque'); el.innerHTML = Rv2_parque.toExponential(2); var el = document.getElementById('Rv2_control'); el.innerHTML = Rv2_control.toExponential(2); var el = document.getElementById('Rv2_estructura'); el.innerHTML = Rv2_estructura.toExponential(2); var el = document.getElementById('Rw2_parque'); el.innerHTML = Rw2_parque.toExponential(2);
var el = document.getElementById('Rw2_control'); el.innerHTML = Rw2_control.toExponential(2); var el = document.getElementById('Rw2_estructura'); el.innerHTML = Rw2_estructura.toExponential(2); var el = document.getElementById('Rz2_parque'); el.innerHTML = Rz2_parque.toExponential(2); var el = document.getElementById('Rz2_control'); el.innerHTML = Rz2_control.toExponential(2); var el = document.getElementById('Rz2_estructura'); el.innerHTML = Rz2_estructura.toExponential(2); //Cargo composición R2 var el = document.getElementById('Rd2_parque'); el.innerHTML = Rd2_parque.toExponential(2); var el = document.getElementById('Rd2_control'); el.innerHTML = Rd2_control.toExponential(2); var el = document.getElementById('Rd2'); el.innerHTML = Rd2.toExponential(2); var el = document.getElementById('Ri2_parque'); el.innerHTML = Ri2_parque.toExponential(2); var el = document.getElementById('Ri2_control'); el.innerHTML = Ri2_control.toExponential(2); var el = document.getElementById('Ri2'); el.innerHTML = Ri2.toExponential(2); var el = document.getElementById('Total_R2_di'); el.innerHTML = Total_R2_di.toFixed(2); if (Total_R2_di >= 1) el.innerHTML ="<font color=RED>" + Total_R2_di.toFixed(2) + "</font>"; var el = document.getElementById('Rs2_parque'); el.innerHTML = Rs2_parque.toExponential(2); var el = document.getElementById('Rs2_control'); el.innerHTML = Rs2_control.toExponential(2); var el = document.getElementById('Rs2'); el.innerHTML = Rs2.toExponential(2); var el = document.getElementById('Rf2_parque'); el.innerHTML = Rf2_parque.toExponential(2); var el = document.getElementById('Rf2_control'); el.innerHTML = Rf2_control.toExponential(2); var el = document.getElementById('Rf2'); el.innerHTML = Rf2.toExponential(2); var el = document.getElementById('Ro2_parque'); el.innerHTML = Ro2_parque.toExponential(2); var el = document.getElementById('Ro2_control'); el.innerHTML = Ro2_control.toExponential(2); var el = document.getElementById('Ro2');
el.innerHTML = Ro2.toExponential(2); var el = document.getElementById('Total_R2_sfo'); el.innerHTML = Total_R2_sfo.toFixed(2); if (Total_R2_sfo >= 1) el.innerHTML ="<font color=RED>" + Total_R2_sfo.toFixed(2) + "</font>"; //Total R1 lo guardo en variable para compararlo con 10E-5 var Total_R1= (parseFloat(Ra_parque) + parseFloat(Rb_parque) + parseFloat(Rb_control)+ parseFloat(Ru_BT) + parseFloat(Rv_BT) + parseFloat(Ru_AT_tot) + parseFloat(Rv_AT_tot)+ parseFloat(Ru_TL) + parseFloat(Rv_TL))/1E-5; var el = document.getElementById('Total_R1'); el.innerHTML = Total_R1.toFixed(2); if (Total_R1 >= 1) el.innerHTML ="<font color=RED>" + Total_R1.toFixed(2) + "</font>"; //Total R2 lo guardo en variable para compararlo con 10E-3 var Total_R2= (parseFloat(Rb2_parque) + parseFloat(Rb2_control) + parseFloat(Rc2_parque) + parseFloat(Rc2_control) + parseFloat(Rm2_parque) + parseFloat(Rm2_control) + parseFloat(Rv2_parque) + parseFloat (Rv2_control) + parseFloat(Rw2_parque) + parseFloat(Rw2_control) + parseFloat(Rz2_parque) + parseFloat (Rz2_control))/1E-3; var el = document.getElementById('Total_R2'); el.innerHTML = Total_R2.toFixed(2); if (Total_R2 >= 1) el.innerHTML ="<font color=RED>" + Total_R2.toFixed(2) + "</font>"; //Porcentajes //Riesgo R1 (estructura) var el = document.getElementById('Ra_estructura_porc'); el.innerHTML = ((Ra_parque*100)/(Total_R1*1E-5)).toFixed(4); var el = document.getElementById('Rb_estructura_porc'); el.innerHTML = (((parseFloat(Rb_parque)+parseFloat(Rb_control))*100)/ (Total_R1*1E-5)).toFixed(4); var el = document.getElementById('Ru_BT_estructura_porc'); el.innerHTML = ((Ru_BT*100)/(Total_R1*1E-5)).toFixed(4); var el = document.getElementById('Rv_BT_estructura_porc'); el.innerHTML = ((Rv_BT*100)/(Total_R1*1E-5)).toFixed(4); var el = document.getElementById('Ru_AT_tot_estructura_porc'); el.innerHTML = ((Ru_AT_tot*100)/(Total_R1*1E-5)).toFixed(4); var el = document.getElementById('Rv_AT_tot_estructura_porc'); el.innerHTML = ((Rv_AT_tot*100)/(Total_R1*1E-5)).toFixed(4); var el = document.getElementById('Ru_TL_estructura_porc'); el.innerHTML = ((Ru_TL*100)/(Total_R1*1E-5)).toFixed(4); var el = document.getElementById('Rv_TL_estructura_porc'); el.innerHTML = ((Rv_TL*100)/(Total_R1*1E-5)).toFixed(4); //Riesgo R1 (fuente de daño) var el = document.getElementById('Rd1_estructura_porc'); el.innerHTML = ((Rd*100)/(Total_R1_di*1E-5)).toFixed(4); var el = document.getElementById('Ri1_estructura_porc');
el.innerHTML = ((Ri*100)/(Total_R1_di*1E-5)).toFixed(4); //Riesgo R1 (tipo de daño) var el = document.getElementById('Rs1_estructura_porc'); el.innerHTML = ((Rs*100)/(Total_R1_sfo*1E-5)).toFixed(4); var el = document.getElementById('Rf1_estructura_porc'); el.innerHTML = ((Rf*100)/(Total_R1_sfo*1E-5)).toFixed(4); var el = document.getElementById('Ro1_estructura_porc'); el.innerHTML = ((Ro*100)/(Total_R1_sfo*1E-5)).toFixed(4); //Riesgo R2 (estructura) var el = document.getElementById('Rb2_estructura_porc'); el.innerHTML = ((Rb2_estructura*100)/(Total_R2*1E-3)).toFixed(4); var el = document.getElementById('Rc2_estructura_porc'); el.innerHTML = ((Rc2_estructura*100)/(Total_R2*1E-3)).toFixed(4); var el = document.getElementById('Rm2_estructura_porc'); el.innerHTML = ((Rm2_estructura*100)/(Total_R2*1E-3)).toFixed(4); var el = document.getElementById('Rv2_estructura_porc'); el.innerHTML = ((Rv2_estructura*100)/(Total_R2*1E-3)).toFixed(4); var el = document.getElementById('Rw2_estructura_porc'); el.innerHTML = ((Rw2_estructura*100)/(Total_R2*1E-3)).toFixed(4); var el = document.getElementById('Rz2_estructura_porc'); el.innerHTML = ((Rz2_estructura*100)/(Total_R2*1E-3)).toFixed(4); //Riesgo R2 (fuente de daño) var el = document.getElementById('Rd2_estructura_porc'); el.innerHTML = ((Rd2*100)/(Total_R2_di*1E-3)).toFixed(4); var el = document.getElementById('Ri2_estructura_porc'); el.innerHTML = ((Ri2*100)/(Total_R2_di*1E-3)).toFixed(4); //Riesgo R2 (tipo de daño) var el = document.getElementById('Rs2_estructura_porc'); el.innerHTML = ((Rs2*100)/(Total_R2_sfo*1E-3)).toFixed(4); var el = document.getElementById('Rf2_estructura_porc'); el.innerHTML = ((Rf2*100)/(Total_R2_sfo*1E-3)).toFixed(4); var el = document.getElementById('Ro2_estructura_porc'); el.innerHTML = ((Ro2*100)/(Total_R2_sfo*1E-3)).toFixed(4); } //Fin with } // fin func bot4 //---------------------------------------------------------------- CALCULOS function boton5() { document.getElementById('zona1').style.display="none"; document.getElementById('zona2').style.display="none"; document.getElementById('zona3').style.display="none"; document.getElementById('zona4').style.display="none"; document.getElementById('zona5').style.display=""; document.getElementById('zona6').style.display="none"; document.form1.bot1.disabled=false; document.form1.bot2.disabled=false; if (document.form1.Num_Zon.value==2) document.form1.bot3.disabled=false;
fac[ii]=1; pre[ii]=756; ii++; niv[ii]=3; mod[ii]='Ingesco PDC-E 15'; rad[ii]=60; fac[ii]=1; pre[ii]=756; ii++; niv[ii]=4; mod[ii]='Ingesco PDC-E 15'; rad[ii]=75; fac[ii]=1; pre[ii]=756; ii++; niv[ii]=1; mod[ii]='Ingesco PDC-E 30'; rad[ii]=50; fac[ii]=0.6; pre[ii]=756; ii++; niv[ii]=2; mod[ii]='Ingesco PDC-E 30'; rad[ii]=60; fac[ii]=1; pre[ii]=756; ii++; niv[ii]=3; mod[ii]='Ingesco PDC-E 30'; rad[ii]=75; fac[ii]=1; pre[ii]=756; ii++; niv[ii]=4; mod[ii]='Ingesco PDC-E 30'; rad[ii]=90; fac[ii]=1; pre[ii]=756; ii++; niv[ii]=1; mod[ii]='Ingesco PDC-E 45'; rad[ii]=65; fac[ii]=0.6; pre[ii]=1134; ii++; niv[ii]=2; mod[ii]='Ingesco PDC-E 45'; rad[ii]=75; fac[ii]=1; pre[ii]=1134; ii++; niv[ii]=3; mod[ii]='Ingesco PDC-E 45'; rad[ii]=90; fac[ii]=1; pre[ii]=1134; ii++; niv[ii]=4; mod[ii]='Ingesco PDC-E 45'; rad[ii]=105; fac[ii]=1; pre[ii]=1134; ii++; niv[ii]=1; mod[ii]='Ingesco PDC-E 60'; rad[ii]=80;
fac[ii]=0.6; pre[ii]=1260; ii++; niv[ii]=2; mod[ii]='Ingesco PDC-E 60'; rad[ii]=90; fac[ii]=1; pre[ii]=1260; ii++; niv[ii]=3; mod[ii]='Ingesco PDC-E 60'; rad[ii]=105; fac[ii]=1; pre[ii]=1260; ii++; niv[ii]=4; mod[ii]='Ingesco PDC-E 60'; rad[ii]=120; fac[ii]=1; pre[ii]=1260; ii++; //---------------MODELOS STREAM--------------------------------------- niv[ii]=1; mod[ii]='Ingesco Stream-15'; rad[ii]=35; fac[ii]=0.6; pre[ii]=982; ii++; niv[ii]=2; mod[ii]='Ingesco Stream-15'; rad[ii]=45; fac[ii]=1; pre[ii]=982; ii++; niv[ii]=3; mod[ii]='Ingesco Stream-15'; rad[ii]=60; fac[ii]=1; pre[ii]=982; ii++; niv[ii]=4; mod[ii]='Ingesco Stream-15'; rad[ii]=75; fac[ii]=1; pre[ii]=982; ii++; niv[ii]=1; mod[ii]='Ingesco Stream-30'; rad[ii]=50; fac[ii]=0.6; pre[ii]=1150; ii++; niv[ii]=2; mod[ii]='Ingesco Stream-30'; rad[ii]=60; fac[ii]=1; pre[ii]=1150; ii++; niv[ii]=3; mod[ii]='Ingesco Stream-30'; rad[ii]=75; fac[ii]=1; pre[ii]=1150; ii++; niv[ii]=4; mod[ii]='Ingesco Stream-30';
rad[ii]=90; fac[ii]=1; pre[ii]=1150; ii++; niv[ii]=1; mod[ii]='Ingesco Stream-45'; rad[ii]=65; fac[ii]=0.6; pre[ii]=1323; ii++; niv[ii]=2; mod[ii]='Ingesco Stream-45'; rad[ii]=75; fac[ii]=1; pre[ii]=1323; ii++; niv[ii]=3; mod[ii]='Ingesco Stream-45'; rad[ii]=90; fac[ii]=1; pre[ii]=1323; ii++; niv[ii]=4; mod[ii]='Ingesco Stream-45'; rad[ii]=105; fac[ii]=1; pre[ii]=1323; ii++; niv[ii]=1; mod[ii]='Ingesco Stream-60'; rad[ii]=80; fac[ii]=0.6; pre[ii]=1542; ii++; niv[ii]=2; mod[ii]='Ingesco Stream-60'; rad[ii]=90; fac[ii]=1; pre[ii]=1542; ii++; niv[ii]=3; mod[ii]='Ingesco Stream-60'; rad[ii]=105; fac[ii]=1; pre[ii]=1542; ii++; niv[ii]=4; mod[ii]='Ingesco Stream-60'; rad[ii]=120; fac[ii]=1; pre[ii]=1542; ii++; //---------------MODELOS PUNTAS FRANKLIN--------------------------------------- niv[ii]=1; mod[ii]='Franklin Simple acero inox.'; rad[ii]=20; fac[ii]=1; pre[ii]=78; ii++; niv[ii]=1; mod[ii]='Franklin Simple cobre'; rad[ii]=20; fac[ii]=1; pre[ii]=60; ii++; niv[ii]=1;
mod[ii]='Franklin Multiple acero inox.'; rad[ii]=20; fac[ii]=1; pre[ii]=156; ii++; niv[ii]=1; mod[ii]='Franklin Multiple cobre'; rad[ii]=20; fac[ii]=1; pre[ii]=149; ii++; niv[ii]=2; mod[ii]='Franklin Simple acero inox.'; rad[ii]=45; fac[ii]=1; pre[ii]=78; ii++; niv[ii]=2; mod[ii]='Franklin Simple cobre'; rad[ii]=45; fac[ii]=1; pre[ii]=60; ii++; niv[ii]=2; mod[ii]='Franklin Multiple acero inox.'; rad[ii]=45; fac[ii]=1; pre[ii]=156; ii++; niv[ii]=2; mod[ii]='Franklin Multiple cobre'; rad[ii]=45; fac[ii]=1; pre[ii]=149; ii++; niv[ii]=3; mod[ii]='Franklin Simple acero inox.'; rad[ii]=60; fac[ii]=1; pre[ii]=78; ii++; niv[ii]=3; mod[ii]='Franklin Simple cobre'; rad[ii]=60; fac[ii]=1; pre[ii]=60; ii++; niv[ii]=3; mod[ii]='Franklin Multiple acero inox.'; rad[ii]=60; fac[ii]=1; pre[ii]=156; ii++; niv[ii]=3; mod[ii]='Franklin Multiple cobre'; rad[ii]=60; fac[ii]=1; pre[ii]=149; ii++; nrad=ii; var max_rad; for(ii=0;ii<nrad;ii++) if (ii==0 || rad[ii]>max_rad) max_rad=rad[ii];
// Datos a calcular automáticamente var margen=max_rad*1.2; // Un valor máximo para escalar var anchu_pix=document.getElementById("graf0").width; var altu_pix=document.getElementById("graf0").height; var esca1=anchu_pix/(longitud+2*margen); // Píxeles por metro var esca2=altu_pix/(anchura+1.5*margen+3*dy2); esca=Math.min(esca1,esca2); xoff=margen*esca; yoff=esca*(3*dy2+0.5*margen); xoff2=xoff+esca*(longitud*3/4-dx2/2); yoff2=yoff-esca*(2*dy2); xoff1=xoff+esca*(longitud/2-dx1/2); yoff1=yoff-esca*(1.5*dy2+dy1/2); // Calculo separación de soportes (dx,dy) (máximo 20 m) ndiv_x=Math.floor(longitud/20)+1; // Debe haber un num. impar de soportes; es decir, un número par de divisiones if (ndiv_x % 2 != 0) ndiv_x++; dx=longitud/ndiv_x; ndiv_y=Math.floor(anchura/20)+1; dy=anchura/ndiv_y; // Calculo las coordenadas de los soportes nsopo=0; nfilas=0; // La primera fila es la de los dos edificios pequeños fil1[nfilas]=nsopo; x[nsopo]=xoff1; y[nsopo]=yoff1+esca*dy1/2; hori[nsopo]=0; nsopo++; x[nsopo]=xoff2; y[nsopo]=yoff2+esca*dy2/2; hori[nsopo]=0; nsopo++; x[nsopo]=xoff2+dx2*esca; y[nsopo]=yoff2+esca*dy2/2; hori[nsopo]=0; nsopo++; fil2[nfilas]=nsopo-1; nfilas++; fil1[nfilas]=nsopo; for(i=0;i<=ndiv_x;i++) {x[nsopo+i]=xoff+dx*esca*i; y[nsopo+i]=yoff; hori[nsopo+i]=0;} nsopo+=ndiv_x+1; fil2[nfilas]=nsopo-1; nfilas++; fil1[nfilas]=nsopo; for(i=0;i<=ndiv_x/2;i++) {x[nsopo+i]=xoff+dx*esca*2*i; y[nsopo+i]=yoff+dy*esca; hori[nsopo+i]=1;} nsopo+=ndiv_x/2+1; fil2[nfilas]=nsopo-1; nfilas++; fil1[nfilas]=nsopo; for(i=0;i<=ndiv_x/2;i++) {x[nsopo+i]=xoff+esca*dx*i*2; y[nsopo+i]=yoff+esca*2*dy; hori[nsopo+i]=1;} nsopo+=ndiv_x/2+1; fil2[nfilas]=nsopo-1; nfilas++; fil1[nfilas]=nsopo; for(i=0;i<=ndiv_x;i++) {x[nsopo+i]=xoff+esca*dx*i; y[nsopo+i]=yoff+esca*3*dy; hori[nsopo+i]=0;}
nsopo+=ndiv_x+1; fil2[nfilas]=nsopo-1; nfilas++; for(i=0;i<nsopo;i++) activo[i]=1; } // --------------------------------------------- ACTIVA_SOPORTES function activa_soportes(tipo) { // 0 = todos // 1 = alternos empezando por el primero // 2 = alternos empezando por el segundo // 3 = 2ª fila en blanco salvo extremos (ingesco) var ifil,ii,i,activar,i0; for(i=0;i<nsopo;i++) activo[i]=1; //Si no está activado control no dibujo en fila 0 if (document.form1.Num_Zon.value==1) for(ii=fil1[0];ii<=fil2[0];ii++) activo[ii]=0; // TIPO 0 if (tipo==0) return; // TIPO 3 if (tipo==3) { for(ifil=0;ifil<nfilas;ifil++) { for(ii=fil1[ifil];ii<=fil2[ifil];ii++) { activar=1; // Fila 0 (edificio control) // Sin zona de control: desactivamos primera fila siempre if (ifil==0 && document.form1.Num_Zon.value==1) activar=0; // Con zona de control: activamos primera fila siempre else if (ifil==0 && document.form1.Num_Zon.value==2) activar=1; // 2ª fila: sólo activos los extremos else if (ifil==2) {if (ii!=fil1[ifil] && ii!=fil2[ifil]) activar=0;} else if (ifil==3) activar=1; // Resto de filas: activo los 2, 4, 6, ... else {if ( (ii-fil1[ifil])%2==0) activar=0;} activo[ii]=activar; } i0=1-i0; } return; }
// TIPOS 1 y 2 i0=tipo-1; for(ifil=0;ifil<nfilas;ifil++) { for(ii=fil1[ifil];ii<=fil2[ifil];ii++) { activar=1; // Sin zona de control: desactivamos primera fila siempre if (ifil==0 && document.form1.Num_Zon.value==1) activar=0; // Con zona de control: activamos primera fila siempre else if (ifil==0 && document.form1.Num_Zon.value==2) activar=1; // Resto de las filas else if ( (ii+i0)%2 ) activar=0; activo[ii]=activar; } i0=1-i0; } } // --------------------------------------------- RECTANG function rectang(ctx,x,y,anchu,altu) { ctx.strokeStyle = "rgb(100,0,0)"; //'#f00'; // red ctx.strokeRect(x,y,anchu,altu); } // --------------------------------------------- CIRCULO function circulo(ctx,x,y,radio) { ctx.strokeStyle = "rgb(192,192,192)"; // '#f00'; // black es '#000' ctx.beginPath(); ctx.arc(x,y,radio,0,Math.PI*2,true); ctx.fillStyle=ctx.strokeStyle; ctx.fill(); ctx.stroke(); } // --------------------------------------------- CIRCULO OSCURO function circulo_oscuro(ctx,x,y,radio) { ctx.strokeStyle = "rgb(100,100,100)"; ctx.beginPath(); ctx.arc(x,y,radio,0,Math.PI*2,true); ctx.stroke(); } // --------------------------------------------- DIBUJA_SOPORTES function dibuja_soportes(ctx) { corto=2*esca; largo=4*esca; for(i=0;i<nsopo;i++)
{ if (hori[i]==1) {anchu=largo; altu=corto;} else {anchu=corto; altu=largo;} xx=x[i]-anchu/2; yy=y[i]-altu/2; rectang(ctx,xx,yy,anchu,altu); } // Fin bucle por nsopo } // --------------------------------------------- DIBUJA_PARQUE function dibuja_parque(ctx) { rectang(ctx,1,1,width-1,height-1); // Dos cuadrados de arriba rectang(ctx,xoff1,yoff1,dx1*esca,dy1*esca); rectang(ctx,xoff2,yoff2,dx2*esca,dy2*esca); // Línea superior rectang(ctx,-1*esca+xoff,-1*esca+yoff,esca*(longitud+2),2*esca); // Línea inferior rectang(ctx,-1*esca+xoff,esca*(3*dy-1)+yoff,esca*(longitud+2),2*esca); // Transversales for(i=0;i<=ndiv_x;i+=2) rectang(ctx,esca*(i*dx-1)+xoff,esca*(dy-1)+yoff,esca*2,esca*2*dy); } // --------------------------------------------- DIBUJA_CIRCULOS function dibuja_circulos(ctx) { npara=0; for(i=0;i<nsopo;i++) { if (activo[i]==1) {circulo(ctx,x[i],y[i],radio*esca); npara++;} } } // --------------------------------------------- DIBUJA_CIRCULOS_OSCUROS function dibuja_circulos_oscuros(ctx) { for(i=0;i<nsopo;i++) { if (activo[i]==1) circulo_oscuro(ctx,x[i],y[i],radio*esca); } } // --------------------------------------------- COMPRUEBA SI ES INTERIOR function interior(xx,yy) {
if ( xx>=xoff-3*esca && xx<xoff+(longitud+3)*esca && yy>=yoff-3*esca && yy<yoff+(anchura+3)*esca || xx>=xoff1-3*esca && xx<xoff1+(dx1+3)*esca && yy>=yoff1-3*esca && yy<yoff1+(dy1+3)*esca || xx>=xoff2-3*esca && xx<xoff2+(dx2+3)*esca && yy>=yoff2-3*esca && yy<yoff2+(dy2+3)*esca ) return 1; else return 0; } // --------------------------------------------- CALCULA AREA BLANCA INTERIOR function area_blanca_interior(ctx,indice,tipo) { var imgd = ctx.getImageData(0,0,width,height); var pix = imgd.data; var abi=0; var ane=0; for (var i = 0, n = pix.length; i < n; i += 4) { // Orden píxeles: de izda. a dcha. y de arriba a abajo var interno=0; var y = Math.floor(i/4/width); var x = i/4 - y*width; if (interior(x,y)==1) interno=1; if (interno==1 && pix[i] == 255 && pix[i+1] == 255 && pix[i+2] == 255) abi++; if (interno==0 && pix[i] == 192 && pix[i+1] == 192 && pix[i+2] == 192) ane++; //if (interno==1) {imgd.data[i]=100; imgd.data[i+1]=100; imgd.data[i+2]=100;} } //ctx.putImageData(imgd,0,0,width,height); var total_int=longitud*esca*anchura*esca + dx1*dy1*esca*esca + dx2*dy2*esca*esca; var ani=total_int-abi; var ac=Math.PI*radio*esca*radio*esca; var as=npara*ac-ani-ane; if (as<0) as=0; // Añado las filas a la tabla var theTable = document.getElementById("tabla"); abi_p=abi/total_int*100; if (abi_p<=max_sin_cubrir && nivpro==niv_mostrar) // Decido si añadir la fila (% area blanca interior < % máxima superficie sin cubrir)) // Decido si añadir la fila (% area blanca interior < % máxima superficie sin cubrir) { var newRow = theTable.insertRow(theTable.rows.length); var newCell; newRow.innerHTML="<td class=difcursor onmouseover='elige_imagen("+indice+");'>"+ "<u> " + indice + "</u>" +"</td>"; newCell= newRow.insertCell(1); newCell.innerHTML = nivpro; newCell= newRow.insertCell(2);
newCell.innerHTML = modelo; newCell= newRow.insertCell(3); newCell.innerHTML = radio; newCell= newRow.insertCell(4); newCell.innerHTML = tipo; newCell= newRow.insertCell(5); newCell.innerHTML = npara; newCell= newRow.insertCell(6); newCell.innerHTML = Math.round(10*abi/(esca*esca))/10; newCell= newRow.insertCell(7); newCell.innerHTML = Math.round(10*abi/total_int*100)/10; newCell= newRow.insertCell(8); newCell.innerHTML = Math.round(10*as/total_int*100)/10; newCell= newRow.insertCell(9); newCell.innerHTML = Math.round(10*(as+ane)/total_int*100)/10; newCell= newRow.insertCell(10); newCell.innerHTML = precio_indi*npara+precio_fijo; newCell= newRow.insertCell(11); newCell.innerHTML = precio_indi*npara+precio_fijo*npara; } // fin if } // --------------------------------------------- DIBUJA function dibuja() { // https://developer.mozilla.org/en/Canvas_tutorial/Basic_usage // ctx.fillStyle = "rgb(200,0,0)"; // ctx.fillRect (10, 10, 55, 50); // Leo los soportes carga_datos(); // Borro filas tabla var theTable = document.getElementById("tabla"); var nfilas=theTable.rows.length; for(i=1;i<nfilas;i++) theTable.deleteRow(1); var indice=0; // - - - - - - - - - - - - - - - BUCLE PARA TODOS LOS RADIOS var tipo; for(ii=0;ii<nrad;ii++)