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 a2abb76e authored by Raphael LUZ's avatar Raphael LUZ
Browse files

- Limit engine rpm in torque converter operation acc. > acc_min

- Shift up (C-to-L, L-to-L) if acc. > acc_min and next-gear-rpm > threshold
parent a1a73586
Branches
Tags
No related merge requests found
...@@ -433,6 +433,8 @@ Public Class cGBX ...@@ -433,6 +433,8 @@ Public Class cGBX
Dim Brake As Boolean Dim Brake As Boolean
Dim FirstDone As Boolean Dim FirstDone As Boolean
Dim rpmLimit As Single
Dim MsgSrc As String Dim MsgSrc As String
MsgSrc = "GBX/TCiteration/t= " & t + 1 MsgSrc = "GBX/TCiteration/t= " & t + 1
...@@ -443,6 +445,16 @@ Public Class cGBX ...@@ -443,6 +445,16 @@ Public Class cGBX
Brake = False Brake = False
TCNeutral = False TCNeutral = False
'TC rpm limit
If DEV.TClimitOn Then
If MODdata.Vh.a(t) >= DEV.TCaccmin Then
rpmLimit = DEV.TClimit
Else
rpmLimit = ENG.Nrated
End If
Else
rpmLimit = ENG.Nrated
End If
'Power to torque 'Power to torque
Mout = nPeToM(nUout, PeOut) Mout = nPeToM(nUout, PeOut)
...@@ -461,7 +473,7 @@ Public Class cGBX ...@@ -461,7 +473,7 @@ Public Class cGBX
nuMax = Math.Min(TCnu(TCdim), nUout/ENG.Nidle) nuMax = Math.Min(TCnu(TCdim), nUout/ENG.Nidle)
Else Else
nuMin = Math.Max(nUout/DEV.TClimit, TCnu(0)) nuMin = Math.Max(nUout / rpmLimit, TCnu(0))
nuMax = Math.Min(TCnuMax, nUout/ENG.Nidle) nuMax = Math.Min(TCnuMax, nUout/ENG.Nidle)
End If End If
......
...@@ -1962,11 +1962,20 @@ Public Class cPower ...@@ -1962,11 +1962,20 @@ Public Class cPower
'Upshift 'Upshift
If PlusGearLockUp Then If PlusGearLockUp Then
'C-to-L / L-to-L
If DEV.TCshiftModeNew Then
If _
nUnext > nUup AndAlso
fPeGearMod(LastGear + 1, t, MODdata.Vh.V(t), DEV.TCaccmin, Grad) <= FLD(LastGear + 1).Pfull(nUnext) Then
Return LastGear + 1
End If
Else
If nUnext > nUup AndAlso Pe <= FLD(LastGear + 1).Pfull(nUnext) Then If nUnext > nUup AndAlso Pe <= FLD(LastGear + 1).Pfull(nUnext) Then
Return LastGear + 1 Return LastGear + 1
End If End If
End If
Else Else
'1C-to-2C 'C-to-C
If LastGear < GBX.GearCount Then If LastGear < GBX.GearCount Then
iRatio = GBX.Igetr(LastGear + 1) / GBX.Igetr(LastGear) iRatio = GBX.Igetr(LastGear + 1) / GBX.Igetr(LastGear)
......
...@@ -16,11 +16,12 @@ Public Class cDEV ...@@ -16,11 +16,12 @@ Public Class cDEV
Private MyOptions As Dictionary(Of String, cDEVoption) Private MyOptions As Dictionary(Of String, cDEVoption)
Private iOptionsDim As Integer Private iOptionsDim As Integer
Public AdvFormat As Boolean
Public TCiterPrec As Single Public TCiterPrec As Single
Public TClimitOn As Boolean
Public TClimit As Single Public TClimit As Single
Public TCshiftModeNew As Boolean
Public TCaccmin As Single
Public AdvFormat As Boolean
'************************************************************************************************************** '**************************************************************************************************************
...@@ -136,14 +137,14 @@ Public Class cDEV ...@@ -136,14 +137,14 @@ Public Class cDEV
Conf0 = New cDEVoption(tDEVconfType.tSelection, Conf0 = New cDEVoption(tDEVconfType.tSelection,
"Acceleration for AT Up-Shift power condition") "Acceleration for AT Up-Shift power condition")
Conf0.AddMode("acc_target (old)") Conf0.AddMode("acc_target") '0
Conf0.AddMode("acc_min (new)") Conf0.AddMode("acc_min") '1
Conf0.ModeIndex = 1 Conf0.ModeIndex = 1
MyOptions.Add("TCshiftMode", Conf0) MyOptions.Add("TCshiftMode", Conf0)
Conf0 = New cDEVoption(tDEVconfType.tSingleVal, "Minimum acceleration (acc_min) for TC rpm limit and AT-Shift [m/s²]") Conf0 = New cDEVoption(tDEVconfType.tSingleVal, "Minimum acceleration (acc_min) for TC rpm limit and AT-Shift [m/s²]")
Conf0.SingleVal = 0.02 Conf0.SingleVal = 0.025
MyOptions.Add("TCaccMin", Conf0) MyOptions.Add("TCaccMin", Conf0)
...@@ -158,7 +159,10 @@ Public Class cDEV ...@@ -158,7 +159,10 @@ Public Class cDEV
Public Sub SetOptions() Public Sub SetOptions()
TCiterPrec = MyOptions("TCiterPrec").SingleVal TCiterPrec = MyOptions("TCiterPrec").SingleVal
AdvFormat = MyOptions("AdvFormat").BoolVal AdvFormat = MyOptions("AdvFormat").BoolVal
TClimitOn = MyOptions("TClimitOn").BoolVal
TClimit = MyOptions("TClimit").SingleVal TClimit = MyOptions("TClimit").SingleVal
TCshiftModeNew = (MyOptions("TCshiftMode").ModeIndex = 1)
TCaccmin = MyOptions("TCaccMin").SingleVal
End Sub End Sub
'Demo for Delegate Function 'Demo for Delegate Function
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment