From 08b175b17092a7a6576e1467f23ad5532fb857c6 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Wed, 3 Feb 2021 12:33:08 +0100 Subject: [PATCH] bugfix electric motor: consider transmission ratio when checking if operating point provided by strategy did change --- .../Models/SimulationComponent/Impl/ElectricMotor.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs index b12b93c379..876c1cee86 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs @@ -160,7 +160,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl if (!dryRun && !DataBus.IsTestPowertrain && emTorqueDt != null && ((emTorque).IsSmaller(maxDriveTorqueEm ?? 0.SI<NewtonMeter>(), 1e-3) || (emTorque).IsGreater(maxRecuperationTorqueEm ?? 0.SI<NewtonMeter>(), 1e-3))) { // check if provided EM torque (drivetrain) is valid) - if ((!avgDtSpeed.IsEqual(DataBus.HybridControllerInfo.ElectricMotorSpeed(Position)) || + if ((!avgDtSpeed.IsEqual(DataBus.HybridControllerInfo.ElectricMotorSpeed(Position) / ModelData.Ratio) || !dt.IsEqual(DataBus.HybridControllerInfo.SimulationInterval))) { return new ResponseInvalidOperatingPoint(this); } @@ -234,7 +234,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl var electricSupplyResponse = ElectricPower.Request(absTime, dt, electricPower, dryRun); if (!dryRun && !DataBus.IsTestPowertrain && !emOff && !(electricSupplyResponse is ElectricSystemResponseSuccess)) { - if ( !avgEmSpeed.IsEqual(DataBus.HybridControllerInfo.ElectricMotorSpeed(Position))) { + if ( !avgEmSpeed.IsEqual(DataBus.HybridControllerInfo.ElectricMotorSpeed(Position) / ModelData.Ratio)) { return new ResponseInvalidOperatingPoint(this); } throw new VectoException( -- GitLab