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 5387a25a authored by QUARITSCH Markus's avatar QUARITSCH Markus
Browse files

Merge pull request #24 in VECTO/vecto-engine from...

Merge pull request #24 in VECTO/vecto-engine from ~NSILBGER/vecto-engine:bugfix/VECTO-1226-automatic-check-of-fcmc-points---DEV to develop

* commit '03ff9946':
  Changes in cMAP0>Init() so that automatic check of torque setpoints in FCMC works also for engines with very low maximum torque (and thus very small stepsize compared to allowed tolerance)
parents e145c8f6 03ff9946
Branches
Tags
No related merge requests found
...@@ -431,16 +431,27 @@ Public Class cMAP0 ...@@ -431,16 +431,27 @@ Public Class cMAP0
'Variable only needed for function "AddFld()" 'Variable only needed for function "AddFld()"
TqStep = TqStepMax TqStep = TqStepMax
'Create list with target torque points
'Check correct location of every torque value in map
For Each rl In RPMlists.Values
'Create list with limited amount of target torque points for specific engine speed
' --> only target torque points below full load are relevant!
' --> Different handling of points close to full-load (5% rule; combining last point below full-load acc. to par. 4.3.5.2.2 of technical annex)
Tq = 0 Tq = 0
TqList.Clear()
Do Do
TqList.Add(Tq) TqList.Add(Tq)
Tq += TqStepMax Tq += TqStepMax
Loop Until Tq > FLC_Parent.TqMax + TqStepTol Loop Until Tq > (FLC_Parent.Tq_orig(rl.TargetRPM) - 0.05 * FLC_Parent.TqMax)
'Check number of measured map points for specific engine speed
If rl.MapPoints.Count <> (TqList.Count + 1) Then
WorkerMsg(tMsgID.Err, "Invalid number of measured torque points in FC map at " & mp0.nU & " [1/min]!")
WorkerMsg(tMsgID.Err, " Expected number = " & (TqList.Count + 1) & ", actual number = " & rl.MapPoints.Count & ".")
Return False
End If
'Check correct location of every torque value in map
For Each rl In RPMlists.Values
i = -1 i = -1
For Each mp0 In rl.MapPoints For Each mp0 In rl.MapPoints
...@@ -449,25 +460,9 @@ Public Class cMAP0 ...@@ -449,25 +460,9 @@ Public Class cMAP0
'Different handling of full-load point 'Different handling of full-load point
' Index start from 0, so (i-1) is the last value ' Index start from 0, so (i-1) is the last value
If i < (rl.MapPoints.Count - 1) Then If i < TqList.Count Then
'Regular points 'Regular points
'Different handling of points close to full-load (5% rule; combining last point below full-load acc. to par. 4.3.5.2.2 of technical annex)
'Change of target torque value necessary
'If (TqList(i) > (FLC_Parent.Tq(mp0.nU) - 0.05 * FLC_Parent.TqMax)) Then
If (TqList(i) > (FLC_Parent.Tq_orig(rl.TargetRPM) - 0.05*FLC_Parent.TqMax)) Then
'TqTarget = FLC_Parent.Tq(mp0.nU)
'If Math.Abs(mp0.Tq - TqTarget) > TqStepTol Then
WorkerMsg(tMsgID.Err,
"Invalid torque value in FC map! (" & mp0.nU & " [1/min], " & mp0.Tq & " [Nm])")
WorkerMsg(tMsgID.Err, " Expected torque = full load.")
Return False
'End If
Else
TqTarget = TqList(i) TqTarget = TqList(i)
If Math.Abs(mp0.Tq - TqTarget) > TqStepTol Then If Math.Abs(mp0.Tq - TqTarget) > TqStepTol Then
...@@ -478,12 +473,11 @@ Public Class cMAP0 ...@@ -478,12 +473,11 @@ Public Class cMAP0
Return False Return False
End If End If
End If
Else Else
'Full load point has to be located at least above previously measured point 'Full load point has to be located at least above previously measured point
'TqTarget = (FLC_Parent.Tq(mp0.nU) - TqStepTol)
TqTarget = rl.MapPoints(rl.MapPoints.Count - 2).Tq TqTarget = rl.MapPoints(rl.MapPoints.Count - 2).Tq
If mp0.Tq <= TqTarget Then If mp0.Tq <= TqTarget Then
...@@ -502,6 +496,14 @@ Public Class cMAP0 ...@@ -502,6 +496,14 @@ Public Class cMAP0
Next Next
'Create list with ALL target torque points for later use in other functions
Tq = 0
TqList.Clear()
Do
TqList.Add(Tq)
Tq += TqStepMax
Loop Until Tq > (FLC_Parent.TqMax + 0.1)
'Check validity of map for family concept 'Check validity of map for family concept
' >>> 54 target points of the parent map must be located below the full-load curve of the engine to be certified ' >>> 54 target points of the parent map must be located below the full-load curve of the engine to be certified
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment