diff --git a/VectoCore/Models/SimulationComponent/Impl/Driver.cs b/VectoCore/Models/SimulationComponent/Impl/Driver.cs index 6e0320d3b6316633d0e31f923716f8dd65226ab3..1616ce94117f6ed41c8ce6ce726566e7d403bda2 100644 --- a/VectoCore/Models/SimulationComponent/Impl/Driver.cs +++ b/VectoCore/Models/SimulationComponent/Impl/Driver.cs @@ -393,8 +393,13 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl }; } - Log.Debug("Found operating point for breaking. dt: {0}, acceleration: {1}", operatingPoint.SimulationInterval, - operatingPoint.Acceleration); + Log.Debug("Found operating point for breaking. dt: {0}, acceleration: {1} brakingPower: {2}", + operatingPoint.SimulationInterval, + operatingPoint.Acceleration, DataBus.BreakPower); + if (DataBus.BreakPower < 0) { + DataBus.BreakPower = 0.SI<Watt>(); + return new ResponseOverload { Source = this }; + } retVal = NextComponent.Request(absTime, operatingPoint.SimulationInterval, operatingPoint.Acceleration, gradient);