Skip to content

Este repositorio contiene el proyecto final de Informática Industrial, asignatura de segundo curso del Máster en Ingeniería Industrial de la universidad de La Laguna

Notifications You must be signed in to change notification settings

Abrantedr/Proyecto-Informatica-Industrial-2-Master

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proyecto-Informatica-Industrial-2-Master

Introducción

Este proyecto final de la asignatura de Informática Industrial, impartida en 2022 por Cándido Caballero Gil en el Máster de Ingeniería Industrial (ULL), consiste en el diseño y programación de una aplicación de visualización de datos de generación y demanda energética en Canarias.

El objetivo de la práctica que se plantea es el diseño y programación de un sistema de monitorización y control de las señales procedentes del operador del sistema eléctrico en el mercado eléctrico español, REE. Este aplicativo será programado en Java y para ello se accederán a los datos que publica REE en su página web.

Programa

Características

  • Interfaz gráfica básica e intuitiva: un panel de visualización, 8 tipos de series temporales, un rango de fechas y dos botones para seleccionar un periodo y descargar una imagen.

  • Datos de la demanda y generación energética en Canarias, obtenidos a través de la API de Red Eléctrica España (https://demanda.ree.es/visiona/canarias/canarias/). Puedes comparar los datos directamente desde aquí.

  • Superposición de series a través de botones. Demanda total, generación con motores diésel, generación con turbinas de gas, generación eólica, generación en ciclos combinados, generación en ciclo de vapor, generación fotovoltaica y generación hidráulica.

  • Selección de fechas. Por defecto, se selecciona la fecha actual. Si existen datos en las fechas seleccionadas, se atacará a la API para obtener las series.

  • Personalización de las gráficas. Con un click derecho, podemos cambiar las propiedades del gráfico, hacer zoom, imprimir la imagen, cambiar los colores, títulos y ejes, etc. Una herramienta versátil y rápida.

¿Cómo funciona?

La aplicación se apoya en dos clases, Gui y Api. La clase Gui genera toda la interfaz gráfica y define el comportamiento de cada elemento que interactúa con el usuario. Por otro lado, la clase Api es la que ataca a la API de Red Eléctrica España. A partir de la siguiente URL

public static final String getUrl(final String date) {
        return "https://demanda.ree.es/WSvisionaMovilesCanariasRest/" +
                "resources/demandaGeneracionCanarias?" +
                "callback=angular.callbacks._2&curva=CANARIAS&" +
                "fecha=" + date;
    }

se obtiene un .json con los datos de demanda y generación en Canarias para una fecha date dada. Posteriormente, este archivo se guarda en una ruta local y se segmenta (se parsea) para extraer los datos de cada serie temporal. Gui se encarga de hacer llamadas a la API con las fechas adecuadas y de representar los datos en un panel gráfico.

¿Qué se necesita para ejecutarlo?

Para ejecutar el programa necesitaremos Java Swing y algunas librerías que se adjuntan en el repositorio:

  • jfreechart para la representación de gráficos.
  • jcommon para algunas herramientas y útiles.
  • javax.json para parsear archivos json.
  • datepicker4j para añadir un calendario interactivo.

Mejoras que nunca implementaré

  • Posibilidad de ver una barra de progreso que indique las llamadas que faltan por realizar cuando se trata de una petición larga.
  • Refactorizar el programa debidamente, utilizando la estructura de la API actual.
  • Capacidad de detener el proceso para una llamada muy larga (tomar datos de un año entero).
  • Funcionalidad para exportar datos a excel o json.
  • Funcionalidad para cambiar la zona de demanda y generación.

Casos de uso

Cuando lo abrimos por primera vez, se obtienen los datos de demanda total para el día de hoy.

Por ejemplo, el día 25 de diciembre de 2022 tuvo un valle de unos 700 MW a las 5 de la mañana. Podemos seleccionar las series temporales que queremos visualizar al hacer click en los botones.

Hemos elegido visualizar la generación en ciclo combinado y diésel de este día. Se ve que la curva de generación con ciclo combinado es un poco menos del doble que la generación con motores diésel, alcanzando valores máximos sobre las 8 de la noche. También podemos visualizar todo de golpe

Sin embargo, esto a veces no es muy recomendable, ya que algunos valores son muy bajos en comparación con otros (como por ejemplo, la curva de demanda total frente a la generación con turbina de gas).

Vamos a elegir un rango de fechas anterior, en lugar de ver la de un solo día. Si hacemos click en el campo de fecha que pone Desde: o Hasta:, nos saldrá un calendario contextual con el que podremos elegir la fecha.

También podemos escribir directamente en este campo para elegir una fecha. El formato correcto es del tipo "YYYY-MM-dd". Si cometemos un error y ponemos una fecha errónea, no se podrá visualizar la gráfica. Veamos los datos de generación eólica y fotovoltaica desde el 21-12-2022 hasta el 23-12-2022. Si pulsamos en Seleccionar, la aplicación realizará varias llamadas a la API de Red Eléctrica España para las fechas seleccionadas.

El título de la gráfica se ha actualizado para reflejar que estamos visualizando un rango de fechas. Ahora, hagamos zoom en el pico máximo de generación fotovoltaica del día 21 de diciembre (click izquierdo o derecho en la gráfica, hacia abajo a la derecha)

Se observa que a la una de la tarde se produce un pico de generación de casi 135 MW en Canarias. La eólica se queda por debajo con un valor medio en torno a los 105 MW. Si hacemos click derecho sobre la gráfica, podemos acceder a un menú que nos permite cambiar los títulos, colores de las series, fondo de la gráfica, copiar o guardar la gráfica en formato png, hacer zoom o elegir una escala automática. Vamos a resetear los ejes.

Por último, el botón de Descargar genera el gráfico que estamos visualizando en formato png (la primera imagen de este README ha sido obtenida así). Es un shortcut del menú pertinente que se ve con el click derecho. La imagen se guarda en el directorio desde el que se ejecuta la aplicación.

About

Este repositorio contiene el proyecto final de Informática Industrial, asignatura de segundo curso del Máster en Ingeniería Industrial de la universidad de La Laguna

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages