eelib.core.control.EMS.EMS_cs_helper

Helper functions for handling of charging stations in EMS.

Author: elenia@TUBS
Copyright 2024 elenia
This file is part of eELib, which is free software under the terms of the GNU GPL Version 3.

Module Contents

Functions

cs_strategy_balanced_charging()

The forecast-based charging strategy estimates the total standing time of the connected

cs_strategy_night_charging()

The night charging strategy extends the charging process similar to forecast-based

cs_strategy_solar_charging()

The solar charging strategy is initiated within times of solar energy surplus. The

cs_distribute_charging_power(→ dict)

Distributes the charging power across all connected cars.

cs_calc_power_limits(→ tuple[float, float])

Calculate the power limits for the charging station with the input thats coming from the

cs_calc_current_efficiency(→ float)

Calculates the charging efficiency for charging station from static properties.

cs_strategy_balanced_charging()

The forecast-based charging strategy estimates the total standing time of the connected EV at home and then calculates the minimal charging power needed to fully charge the EV up to the moment of the next departure.

cs_strategy_night_charging()

The night charging strategy extends the charging process similar to forecast-based charging. The strategy is solely activated and processed overnight between 20:00 and 05:00 when grid load is typically lower in residential areas. When the EV is not available overnight, maximum power charging is instead activated.

cs_strategy_solar_charging()

The solar charging strategy is initiated within times of solar energy surplus. The cs model receives the information of such a surplus from its control model (e.g. EMS).

cs_distribute_charging_power(forecast: dict, t: int, cs_data: eelib.data.CSData) dict

Distributes the charging power across all connected cars. For this, the distribution is done evenly unless the power limits of the cars are exceeded.

Parameters:
  • forecast (dict) – collected forecast from EMS

  • t (int) – control variable in range of current forecast

  • cs_data (CSData) – contains all information of charging station

Raises:
  • ValueError – If Vehicles charging power does not match the power of the charging station

  • ValueError – If set charging power does not fit the power limits of the connected evs

  • ValueError – If charging station has power value although no car is connected

  • ValueError – If sum of vehicle power does not match power

Returns:

individual charging power for all connected cars

Return type:

dict

Note

This function was created based on the function _distribute_charging_power() in charging_station_model.

cs_calc_power_limits(forecast: dict, t: int, cs_data: eelib.data.CSData) tuple[float, float]

Calculate the power limits for the charging station with the input thats coming from the electric vehicles.

Parameters:
  • forecast (dict) – collected forecast from EMS

  • t (int) – control variable in range of current forecast

  • cs_data (CSData) – contains all information of charging stations

Raises:

ValueError – If the power limits of at least one connected ev do not work together.

Returns:

maximum charging power of charging station float: maximum discharging (resp. minimum charging) power of charging station

Return type:

float

Note

This function was created based on the function _calc_power_limits() in charging_station_model.

cs_calc_current_efficiency(cs_data: eelib.data.CSData) float

Calculates the charging efficiency for charging station from static properties. Based on the active power.

Parameters:

cs_data (CSData) – contains all information of charging station

Returns:

efficiency for dis/charging process of cs

Return type:

float

Note

This function was created based on the function _calc_current_efficiency() in charging_station_model.