From 79aaae84b713c9c5d29e87c7b423132f0272237c Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 11 May 2020 14:28:34 +0200 Subject: [PATCH] bugfix smart electrics: wrong sign when calculating max charge/discharge power --- VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs | 2 +- .../Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs index 830ca75cd9..8dbe91b345 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs @@ -289,7 +289,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries var energy = (generatedElPower - ElectricPowerConsumerSum) * essFactor * seconds; var maxCharge = (ElectricStorage.SOC - 1) * ElectricStorage.Capacity; var maxDischarge = ElectricStorage.SOC * ElectricStorage.Capacity; - var batEnergy = energy.LimitTo(maxCharge, maxDischarge); + var batEnergy = energy.LimitTo(-maxDischarge, -maxCharge); ElectricStorage.Request(batEnergy); } Signals.CurrentCycleTimeInSeconds += seconds.Value(); diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs index 0212cc41b9..d4ca2148cf 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs @@ -201,7 +201,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl if (SmartElectricSystem) { container[ModalResultField.BatterySOC] = Auxiliaries.BatterySOC * 100.0; - container[ModalResultField.P_busAux_ES_generated] = essUtilityFactor * Auxiliaries.ElectricPowerConsumerSum; + + container[ModalResultField.P_busAux_ES_generated] = essUtilityFactor * (DataBus.VehicleStopped ? Auxiliaries.ElectricPowerConsumerSum : Auxiliaries.ElectricPowerGenerated); container[ModalResultField.P_busAux_ES_sum_mech] = essUtilityFactor * Auxiliaries.ElectricPowerConsumerSum / AuxCfg.ElectricalUserInputsConfig.AlternatorGearEfficiency / AuxCfg.ElectricalUserInputsConfig.AlternatorMap.GetEfficiency(0.RPMtoRad(), 0.SI<Ampere>()); -- GitLab