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

- Start-Stop activation delay time can be defined in job file

- When speed is under 5km/h and engine in motoring operating then gearbox shifts to Neutral
- "Minimum (actual) speed" instead of "Min. Target Speed" (Eco-Roll, Overspeed, Look Ahead Coasting)
parent eca199bd
Branches
Tags
No related merge requests found
......@@ -5,6 +5,7 @@ VECTO ?.? (future release) TODO
New Eco Roll
GBX
<DRAG>
StStDelay
- Gearbox Rules must be set when loading .gbx file to aviod invalid settings (e.g. AT with Skip Gears)
- Correct Pg and Proll calculation (Road gradient)??
......@@ -27,6 +28,7 @@ VECTO x.x (current source - next release)
o Engages if Pwheel < 0
o Disengages if Underspeed is reached.
- Look-Ahead Coasting now uses real coasting also if road gradient > 0 which means the coasting deceleration can be so high that no braking is necessary. In this case the braking phase will be ommitted and the total deceleration time can be shorter than expected by the given target coasting deceleration.
- "Minimum (actual) speed" instead of "Min. Target Speed" for Eco-Roll, Overspeed and Look Ahead Coasting => actual speed instead of target speed
- Bugfix: Error if Look-Ahead Coasting was disabled.
- Eco-Roll revised (see changelog)
- Removed "IgnoreFCextrapol" form DEV-Options
......@@ -39,6 +41,8 @@ VECTO x.x (current source - next release)
o Improved gear shift model for torque converter
o Driving Cycle Preprocessing and Gear Shift Model now use approximated efficiency values based in the transmission loss maps. Reduces calculation time significantly with little to no impact on fuel consumption.
- Engine Only Mode: Engine motoring points can be defined explicitly in load cycle with "<DRAG>"
- When speed is under 5km/h and engine in motoring operating then gearbox shifts to Neutral
- Start-Stop activation delay time can be defined in job file
- Updated some error messages (units)
......
......@@ -201,6 +201,9 @@ Partial Class F_GEN
Me.OpenWithGRAPHiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.OpenWithToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.TbStStDelay = New System.Windows.Forms.TextBox()
Me.Label30 = New System.Windows.Forms.Label()
Me.Label31 = New System.Windows.Forms.Label()
Me.TabPgHEV.SuspendLayout()
Me.TabPgColdSt.SuspendLayout()
Me.GroupBox3.SuspendLayout()
......@@ -1198,11 +1201,11 @@ Partial Class F_GEN
'Label28
'
Me.Label28.AutoSize = True
Me.Label28.Location = New System.Drawing.Point(26, 38)
Me.Label28.Location = New System.Drawing.Point(41, 38)
Me.Label28.Name = "Label28"
Me.Label28.Size = New System.Drawing.Size(95, 13)
Me.Label28.Size = New System.Drawing.Size(80, 13)
Me.Label28.TabIndex = 1
Me.Label28.Text = "Min. Target Speed"
Me.Label28.Text = "Minimum speed"
'
'CbLookAhead
'
......@@ -1288,11 +1291,11 @@ Partial Class F_GEN
'Label23
'
Me.Label23.AutoSize = True
Me.Label23.Location = New System.Drawing.Point(143, 76)
Me.Label23.Location = New System.Drawing.Point(158, 76)
Me.Label23.Name = "Label23"
Me.Label23.Size = New System.Drawing.Size(95, 13)
Me.Label23.Size = New System.Drawing.Size(80, 13)
Me.Label23.TabIndex = 1
Me.Label23.Text = "Min. Target Speed"
Me.Label23.Text = "Minimum speed"
'
'Label22
'
......@@ -1348,24 +1351,27 @@ Partial Class F_GEN
'
Me.GrStartStop.Controls.Add(Me.PnStartStop)
Me.GrStartStop.Controls.Add(Me.ChBStartStop)
Me.GrStartStop.Location = New System.Drawing.Point(9, 83)
Me.GrStartStop.Location = New System.Drawing.Point(7, 56)
Me.GrStartStop.Name = "GrStartStop"
Me.GrStartStop.Size = New System.Drawing.Size(375, 87)
Me.GrStartStop.Size = New System.Drawing.Size(375, 130)
Me.GrStartStop.TabIndex = 3
Me.GrStartStop.TabStop = False
Me.GrStartStop.Text = "Engine Start Stop"
'
'PnStartStop
'
Me.PnStartStop.Controls.Add(Me.Label31)
Me.PnStartStop.Controls.Add(Me.Label27)
Me.PnStartStop.Controls.Add(Me.TBSSspeed)
Me.PnStartStop.Controls.Add(Me.LabelSSspeed)
Me.PnStartStop.Controls.Add(Me.Label26)
Me.PnStartStop.Controls.Add(Me.Label30)
Me.PnStartStop.Controls.Add(Me.LabelSStime)
Me.PnStartStop.Controls.Add(Me.TbStStDelay)
Me.PnStartStop.Controls.Add(Me.TBSStime)
Me.PnStartStop.Location = New System.Drawing.Point(148, 10)
Me.PnStartStop.Name = "PnStartStop"
Me.PnStartStop.Size = New System.Drawing.Size(221, 71)
Me.PnStartStop.Size = New System.Drawing.Size(221, 106)
Me.PnStartStop.TabIndex = 1
'
'Label27
......@@ -2020,6 +2026,31 @@ Partial Class F_GEN
Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(174, 22)
Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder"
'
'TbStStDelay
'
Me.TbStStDelay.Location = New System.Drawing.Point(99, 61)
Me.TbStStDelay.Name = "TbStStDelay"
Me.TbStStDelay.Size = New System.Drawing.Size(64, 20)
Me.TbStStDelay.TabIndex = 1
'
'Label30
'
Me.Label30.AutoSize = True
Me.Label30.Location = New System.Drawing.Point(6, 64)
Me.Label30.Name = "Label30"
Me.Label30.Size = New System.Drawing.Size(87, 13)
Me.Label30.TabIndex = 35
Me.Label30.Text = "Min ICE-On Time"
'
'Label31
'
Me.Label31.AutoSize = True
Me.Label31.Location = New System.Drawing.Point(169, 64)
Me.Label31.Name = "Label31"
Me.Label31.Size = New System.Drawing.Size(18, 13)
Me.Label31.TabIndex = 38
Me.Label31.Text = "[s]"
'
'F_GEN
'
Me.AcceptButton = Me.ButOK
......@@ -2258,4 +2289,7 @@ Partial Class F_GEN
Friend WithEvents Label29 As System.Windows.Forms.Label
Friend WithEvents TbVminLA As System.Windows.Forms.TextBox
Friend WithEvents Label28 As System.Windows.Forms.Label
Friend WithEvents Label31 As System.Windows.Forms.Label
Friend WithEvents Label30 As System.Windows.Forms.Label
Friend WithEvents TbStStDelay As System.Windows.Forms.TextBox
End Class
......@@ -641,6 +641,7 @@ Public Class F_GEN
Me.ChBStartStop.Checked = Gfile.StartStop
Me.TBSSspeed.Text = Gfile.StStV
Me.TBSStime.Text = Gfile.StStT
Me.TbStStDelay.Text = Gfile.StStDelay
'SOC Start/Iteration
Me.TbSOCstart.Text = Gfile.SOCstart
......@@ -793,6 +794,7 @@ Public Class F_GEN
g.StartStop = Me.ChBStartStop.Checked
g.StStV = CSng(fTextboxToNumString(Me.TBSSspeed.Text))
g.StStT = CSng(fTextboxToNumString(Me.TBSStime.Text))
g.StStDelay = CInt(fTextboxToNumString(Me.TbStStDelay.Text))
'SOC
g.SOCnJa = Me.CbSOCnIter.Checked
......@@ -1102,7 +1104,7 @@ Public Class F_GEN
Change()
End Sub
Private Sub TBSStime_TextChanged(sender As System.Object, e As System.EventArgs) Handles TBSStime.TextChanged
Private Sub TBSStime_TextChanged(sender As System.Object, e As System.EventArgs) Handles TBSStime.TextChanged, TbStStDelay.TextChanged
Change()
End Sub
......
......@@ -54,6 +54,7 @@ Public Class cGEN
Private boStartStop As Boolean
Private siStStV As Single
Private siStStT As Single
Public StStDelay As Integer
Private boSOCnJa As Boolean
Private siSOCstart As Single
Private GetrMod As tTransLossModel
......@@ -374,6 +375,10 @@ Public Class cGEN
UnderSpeed = CSng(file.ReadLine(0))
vMinLA = CSng(file.ReadLine(0))
If file.EndOfFile Then GoTo lbClose
StStDelay = CSng(file.ReadLine(0))
lbClose:
file.Close()
......@@ -390,145 +395,6 @@ lbEr:
Return False
End Function
Private Function ReadOldFormat() As Boolean
Dim file As cFile_V3
Dim ialt As Short
Dim str As String
file = New cFile_V3
If Not file.OpenRead(sFilePath) Then
file = Nothing
Return False
End If
'**** Read GEN file ****
boPKWja = CBool(file.ReadLine(0))
bodynkorja = CBool(file.ReadLine(0))
ineklasse = CShort(file.ReadLine(0))
inizykwael = CShort(file.ReadLine(0))
ialt = CShort(file.ReadLine(0))
'Convert Old Calculation-mode into New-one
EngAnalysis = False
CreateMap = False
ModeHorEV = False
Select Case ialt
Case 0 '0 Standard (Gesamtes Fzg mit bestehendem Kennfeld)
VehMode = tVehMode.StandardMode
Case 1 '1 Motor alleine (mit bestehendem Kennfeld)
VehMode = tVehMode.EngineOnly
Case 2 '2 Kennfeld erstellen aus Rollenzyklus aus MES
VehMode = tVehMode.StandardMode
CreateMap = True
Case 3 '3 Motoranalyse (x-Sek. Mittelwerte Messung-Rechng) aus NPI
VehMode = tVehMode.EngineOnly
EngAnalysis = True
Case 4 '4 Kennfeld erstellen aus Motormessung aus NPI
VehMode = tVehMode.EngineOnly
CreateMap = True
Case 5 '5 Motoranalyse aus Fahrzeugmessung aus MES
VehMode = tVehMode.StandardMode
EngAnalysis = True
Case 6 '6 Hybridfahrzeug (VKM + Elektro)
VehMode = tVehMode.HEV
ModeHorEV = True
Case Else '7 Elektrofahrzeug
VehMode = tVehMode.EV
ModeHorEV = True
End Select
inPschrit = CShort(file.ReadLine(0))
innschrit = CShort(file.ReadLine(0))
boMapSchaltja = CBool(file.ReadLine(0))
iniMsek = CShort(file.ReadLine(0))
boottoJa = (CInt(file.ReadLine(0)) = 1)
bokaltst1 = CBool(file.ReadLine(0))
sitkat1 = CSng(file.ReadLine(0))
sitkw1 = CSng(file.ReadLine(0))
sihsstart = CSng(file.ReadLine(0))
stPathVEH.Init(MyPath, file.ReadLine(0))
stPathENG.Init(MyPath, file.ReadLine(0))
'stCycleFile.Init(MyPath, file.ReadLine(0))
stPathGBX.Init(MyPath, file.ReadLine(0))
stdynspez.Init(MyPath, file.ReadLine(0))
stkatmap.Init(MyPath, file.ReadLine(0))
stkwmap.Init(MyPath, file.ReadLine(0))
stkatkurv.Init(MyPath, file.ReadLine(0))
stkwkurv.Init(MyPath, file.ReadLine(0))
stcooldown.Init(MyPath, file.ReadLine(0))
sttumgebung.Init(MyPath, file.ReadLine(0))
If file.EndOfFile Then GoTo lbClose
stBatfile.Init(MyPath, file.ReadLine(0))
stEmospez.Init(MyPath, file.ReadLine(0))
stEANfile.Init(MyPath, file.ReadLine(0))
stGetspez.Init(MyPath, file.ReadLine(0))
stSTEnam.Init(MyPath, file.ReadLine(0))
stEKFnam.Init(MyPath, file.ReadLine(0))
If file.EndOfFile Then GoTo lbClose
boEXSja = CBool(file.ReadLine(0))
stPathExs.Init(MyPath, file.ReadLine(0))
If file.EndOfFile Then GoTo lbClose
str = file.ReadLine(0)
If Not IsNumeric(str) Then GoTo lbClose
boStartStop = CBool(str)
siStStV = CSng(file.ReadLine(0))
siStStT = CSng(file.ReadLine(0))
boSOCnJa = CBool(file.ReadLine(0))
siSOCstart = CSng(file.ReadLine(0))
If file.EndOfFile Then GoTo lbClose
GetrMod = CShort(file.ReadLine(0))
lbClose:
file.Close()
file = Nothing
Return True
End Function
Public Function SaveFile() As Boolean
......@@ -755,6 +621,9 @@ lbClose:
fGEN.WriteLine(CStr(vMinLA))
fGEN.WriteLine("c Start/Stop activation delay time [s]")
fGEN.WriteLine(StStDelay)
fGEN.Close()
fGEN = Nothing
......@@ -781,6 +650,7 @@ lbClose:
boStartStop = False
siStStV = 5
siStStT = 5
StStDelay = 0
boSOCnJa = False
siSOCstart = 0.5
GetrMod = tTransLossModel.Detailed
......
......@@ -312,7 +312,7 @@ Public Class cPower
'Full load / motoring
Pmin = FLD(Gear).Pdrag(nn)
If Vh.Vsoll(i) >= GEN.vMin / 3.6 Then
If Vist >= GEN.vMin / 3.6 Then
If GEN.EcoRollOn Then
......@@ -453,7 +453,7 @@ Public Class cPower
Positions(i) = 2
Else
'Coasting (Forward)
If GEN.LookAheadOn And Vh.Vsoll(i) >= GEN.vMinLA / 3.6 Then
If GEN.LookAheadOn And Vist >= GEN.vMinLA / 3.6 Then
For j = t To i0
Vist = Vh.V(j)
......@@ -504,6 +504,8 @@ Public Class cPower
'Start/Stop Control
Dim StStAus As Boolean
Dim StStTx As Single
Dim StStDelayTx As Integer
Dim StStPossible As Boolean
Dim Vh As cVh
......@@ -565,6 +567,7 @@ Public Class cPower
End If
StStAus = False
StStTx = 0
StStDelayTx = 0
SecSpeedRed = 0
If VEH.TracIntrSi < 0.001 Then
......@@ -620,6 +623,8 @@ lbGschw:
Vist = Vh.V(jz)
aist = Vh.a(jz)
StStPossible = False
'If Speed over Top theoretical Speed => Reduce
If Vist > GVmax + 0.0001 And Not GVset Then
Vh.SetSpeed0(jz, GVmax)
......@@ -792,6 +797,11 @@ lbGschw:
Gear = 0
End If
If Gear = 1 And Pminus And Vist <= 5 / 3.6 Then
Clutch = tEngClutch.Opened
Gear = 0
End If
' Important checks
lbCheck:
......@@ -1035,6 +1045,7 @@ lb_nOK:
Case Else 'Idle/Stop
If GEN.StartStop Then
If Vist <= GEN.StStV / 3.6 Then
StStPossible = True
If StStAus And jz > 0 Then
If MODdata.EngState(jz - 1) = tEngState.Stopped Then
EngState0 = tEngState.Stopped
......@@ -1225,16 +1236,21 @@ lb_nOK:
'Start / Stop - Activation-Speed Control
If GEN.StartStop Then
If StStPossible Then
StStDelayTx += 1
Else
StStDelayTx = 0
End If
If StStAus Then
If Not EngState0 = tEngState.Stopped Then
StStTx += 1
If StStTx > GEN.StStT Then
If StStTx > GEN.StStT And StStDelayTx >= GEN.StStDelay Then
StStTx = 1
StStAus = False
End If
End If
Else
If EngState0 = tEngState.Stopped Then StStAus = True
If EngState0 = tEngState.Stopped Or StStDelayTx < GEN.StStDelay Then StStAus = True
End If
End If
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment