use a constant as Max batteery charge power

This commit is contained in:
atef 2025-06-12 14:24:30 +02:00
parent 6fdd672752
commit e8595ca6ca
1 changed files with 7 additions and 12 deletions

View File

@ -120,21 +120,15 @@ public static class Controller
private static EssControl LimitChargePower(this EssControl control, StatusRecord s) private static EssControl LimitChargePower(this EssControl control, StatusRecord s)
{ {
//var maxInverterChargePower = s.ControlInverterPower(s.Config.MaxInverterPower); var maxBatteryChargePower = s.MaxBatteryChargePower(MaxChargePower);
// var maxBatteryChargePower = s.MaxBatteryChargePower(MaxChargePower);
s.Battery.Devices.Count.WriteLine(" Number of batteries");
var maxBatteryChargePower = s.Battery.Devices.Count * MaxChargePower;
maxBatteryChargePower.WriteLine(" Max Battery Charge Power");
if (control.Mode == EssMode.ReachMinSoc) if (control.Mode == EssMode.ReachMinSoc)
{ {
maxBatteryChargePower = s.MaxBatteryChargePower(MaxChargePower/4); // 0.25 C maxBatteryChargePower = s.MaxBatteryChargePower(MaxChargePower/4); // 0.25 C
maxBatteryChargePower.WriteLine(" A power limit applied while ReachMinSoc"); maxBatteryChargePower.WriteLine(" A power limit applied while ReachMinSoc");
return control maxBatteryChargePower.WriteLine(" Max Battery Charge Power");
.LimitChargePower(maxBatteryChargePower, EssLimit.ChargeLimitedByBatteryPower);
} }
return control return control
.LimitChargePower(maxBatteryChargePower, EssLimit.ChargeLimitedByBatteryPower); .LimitChargePower(maxBatteryChargePower, EssLimit.ChargeLimitedByBatteryPower);
} }
@ -159,7 +153,8 @@ public static class Controller
var chargePower = s.AcDc.Devices.Sum(d => d.Status.Nominal.Power.Value); var chargePower = s.AcDc.Devices.Sum(d => d.Status.Nominal.Power.Value);
var batteryDischargePower = s.MaxBatteryDischargePower(MaxDischargePower) ; var batteryDischargePower = s.MaxBatteryDischargePower(MaxDischargePower) ;
chargePower.WriteLine(" charge power for Upwards"); chargePower.WriteLine(" Max charge power for Upwards calibration");
batteryDischargePower.WriteLine(" Max discharge power for downwards calibration");
return mode switch return mode switch
{ {
@ -176,12 +171,12 @@ public static class Controller
private static Double MaxBatteryChargePower(this StatusRecord s, Double chargePower) private static Double MaxBatteryChargePower(this StatusRecord s, Double chargePower)
{ {
return (s.Battery?.ChargeModeBatteries ?? 0) * chargePower; // to be tested. maybe used available charge switch batteries return s.Battery!.Devices.Count * chargePower; // back to the old version
} }
private static Double MaxBatteryDischargePower(this StatusRecord s, Double dischargePower) private static Double MaxBatteryDischargePower(this StatusRecord s, Double dischargePower)
{ {
return (s.Battery?.DischargeModeBatteries ?? 0) * dischargePower; // to be tested. maybe used available discharge switch batteries return s.Battery!.Devices.Count * dischargePower; //back to the old version
} }
private static Double CurrentPowerSetPoint(this StatusRecord s) private static Double CurrentPowerSetPoint(this StatusRecord s)