Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 75c0320e authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Pull request #225: Feature/VECTO-1599 serial hybrid strategy adapt state machine

Merge in VECTO/vecto-dev from VECTO/mq_vecto-dev:feature/VECTO-1599-serial-hybrid-strategy-adapt-state-machine to develop

* commit '3c688d9e':
  increasing lower soc boundary in serial hybrid strategy testdata
  adapting state machine for serial hybrid strategy
  conditionally build VECTO GUI in deploy configuration for all supported .net versions
parents ca9d35e2 3c688d9e
No related branches found
No related tags found
No related merge requests found
......@@ -10,6 +10,7 @@
<MyType>WindowsForms</MyType>
<TargetFrameworks>net48</TargetFrameworks>
<TargetFrameworks Condition="'$(Configuration)' == 'Release'">net45;net48;net6.0-windows</TargetFrameworks>
<TargetFrameworks Condition="'$(Configuration)' == 'Deploy'">net45;net48;net6.0-windows</TargetFrameworks>
<DefineTrace>false</DefineTrace>
<DefineConstants />
</PropertyGroup>
......
......@@ -126,14 +126,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
public class SerialHybridStrategy : AbstractSerialHybridStrategy<Gearbox>
{
public SerialHybridStrategy(VectoRunData runData, IVehicleContainer container) : base(runData, container) { }
protected override DrivetrainDemand GetDrivetrainPowerDemand(Second absTime, Second dt, NewtonMeter outTorque,
PerSecond outAngularVelocity, GenSetOperatingPoint maxPowerGenset)
{
......@@ -600,7 +594,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
break;
case StateMachineState.Acc_S1:
if (/*DataBus.BatteryInfo.StateOfCharge >= StrategyParameters.MinSoC &&*/
DataBus.BatteryInfo.StateOfCharge < StrategyParameters.TargetSoC
DataBus.BatteryInfo.StateOfCharge < StrategyParameters.MinSoC
&& -drivetrainDemand.ElectricPowerDemand >
optimalGensetPoint.ElectricPower) {
return StateMachineState.Acc_S2;
......@@ -612,14 +606,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
break;
case StateMachineState.Acc_S2:
if (DataBus.BatteryInfo.StateOfCharge >= StrategyParameters.TargetSoC) {
return StateMachineState.Acc_S0;
if (DataBus.BatteryInfo.StateOfCharge > StrategyParameters.MinSoC) {
return StateMachineState.Acc_S1;
}
if (DataBus.BatteryInfo.StateOfCharge >= StrategyParameters.MinSoC &&
DataBus.BatteryInfo.StateOfCharge < StrategyParameters.TargetSoC
&& -drivetrainDemand.ElectricPowerDemand <=
optimalGensetPoint.ElectricPower) {
if (DataBus.BatteryInfo.StateOfCharge < StrategyParameters.MinSoC &&
-drivetrainDemand.ElectricPowerDemand < optimalGensetPoint.ElectricPower) {
return StateMachineState.Acc_S1;
}
break;
......
......@@ -364,7 +364,8 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
[
TestCase(30, 0.7, 0, TestName = "S4 Serial Hybrid DriveOff 30km/h SoC: 0.7, level"),
TestCase(80, 0.7, 0, TestName = "S4 Serial Hybrid DriveOff 80km/h SoC: 0.7, level"),
TestCase(30, 0.22, 0, TestName = "S4 Serial Hybrid DriveOff 30km/h SoC: 0.22, level")
TestCase(30, 0.22, 0, TestName = "S4 Serial Hybrid DriveOff 30km/h SoC: 0.22, level"),
TestCase(80, 0.22, 0, TestName = "S4 Serial Hybrid DriveOff 80km/h SoC: 0.22, level"),
]
public void S4HybridDriveOff(double vmax, double initialSoC, double slope)
{
......
......@@ -7,7 +7,7 @@
},
"Body": {
"----EquivalenceFactor": 2.0,
"MinSoC": 24.0,
"MinSoC": 30.0,
"----MaxSoC": 80.0,
"TargetSoC": 70.0,
"----AuxBufferTime": 5.0,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment