Code development platform for open source projects from the European Union institutions

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

[BusAux]: change engine speed from integer to double

parent 81322fda
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@ Module mAAUX_Global
Public EngineDrivelinePower As Single
Public EngineDrivelineTorque As Single
Public EngineMotoringPower As Single
Public EngineSpeed As Integer
Public EngineSpeed As Single
Public PreExistingAuxPower As Single
Public Idle As Boolean
Public InNeutral As Boolean
......
......@@ -116,7 +116,7 @@ Namespace DownstreamModules
Private ReadOnly Property Sum10 As Single
Get
Return M6.AvgPowerDemandAtCrankFromElectricsIncHVAC \ Sum0(signals.EngineSpeed)
Return M6.AvgPowerDemandAtCrankFromElectricsIncHVAC / Sum0(signals.EngineSpeed)
End Get
End Property
......
......@@ -15,118 +15,129 @@ Imports VectoAuxiliaries.Pneumatics
Imports VectoAuxiliaries.Hvac
Namespace DownstreamModules
Public Class M8
Implements IM8
Public Class M8
Implements IM8
#Region "Private Fields"
private _m1 As IM1_AverageHVACLoadDemand
private _m6 As IM6
private _m7 As IM7
private _signals As ISignals
#End Region
#Region "Internal Sums and Switches"
'Internal Staged Sums and Switches
private ReadOnly Property Sum1 As Single
Get
Return _m7.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank + _m7.SmartElectricalAndPneumaticAuxAirCompPowerGenAtCrank
End Get
End Property
private ReadOnly Property Sum2 As Single
Get
Return _m7.SmartElectricalOnlyAuxAltPowerGenAtCrank +_m6.AveragePowerDemandAtCrankFromPneumatics
End Get
End Property
private ReadOnly Property Sum3 As Single
Get
Return _m7.SmartPneumaticOnlyAuxAirCompPowerGenAtCrank + _m6.AvgPowerDemandAtCrankFromElectricsIncHVAC
End Get
End Property
private ReadOnly Property Sum4 As Single
Get
Return _m6.AvgPowerDemandAtCrankFromElectricsIncHVAC + _m6.AveragePowerDemandAtCrankFromPneumatics
End Get
End Property
private ReadOnly Property Sum5 As Single
Get
Return _m1.AveragePowerDemandAtCrankFromHVACMechanicalsWatts + SW5
End Get
End Property
Private ReadOnly Property Sum6 As Single
Get
Return Sum5 * SW6
End Get
End Property
Private ReadOnly Property SW1 As Single
Get
Return If( _signals.SmartPneumatics, Sum1, Sum2)
End Get
End Property
Private ReadOnly Property SW2 As Single
Get
Return If( _signals.SmartPneumatics,Sum3,Sum4)
End Get
End Property
Private ReadOnly Property SW3 As Single
Get
Return If(_signals.SmartPneumatics,_m7.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank,_m7.SmartElectricalOnlyAuxAltPowerGenAtCrank)
End Get
End Property
Private ReadOnly Property SW4 As integer
Get
Return If( _signals.SmartElectrics,_m6.SmartElecAndPneumaticsCompressorFlag,_m6.SmartPneumaticsOnlyCompressorFlag)
End Get
End Property
Private ReadOnly Property SW5 As Single
Get
Return If( _signals.SmartElectrics,SW1,SW2)
End Get
End Property
Private ReadOnly Property SW6 As Single
Get
Return If(_signals.EngineStopped, 0 , 1)
End Get
End Property
#Region "Private Fields"
Private _m1 As IM1_AverageHVACLoadDemand
Private _m6 As IM6
Private _m7 As IM7
Private _signals As ISignals
#End Region
'OUT1
Public ReadOnly Property AuxPowerAtCrankFromElectricalHVACAndPneumaticsAncillaries As Single Implements IM8.AuxPowerAtCrankFromElectricalHVACAndPneumaticsAncillaries
Get
Return Sum6
End Get
End Property
'OUT2
Public ReadOnly Property SmartElectricalAlternatorPowerGenAtCrank As Single Implements IM8.SmartElectricalAlternatorPowerGenAtCrank
Get
Return SW3
End Get
End Property
'OUT3
Public ReadOnly Property CompressorFlag As Integer Implements IM8.CompressorFlag
Get
Return SW4
End Get
End Property
'Constructor
Public Sub new( m1 As IM1_AverageHVACLoadDemand, m6 As IM6, m7 As IM7, signals As ISignals)
_m1=m1
_m6=m6
_m7=m7
_signals=signals
End Sub
End Class
End Namespace
#Region "Internal Sums and Switches"
'Internal Staged Sums and Switches
Private ReadOnly Property Sum1 As Single
Get
Return _
_m7.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank + _m7.SmartElectricalAndPneumaticAuxAirCompPowerGenAtCrank
End Get
End Property
Private ReadOnly Property Sum2 As Single
Get
Return _m7.SmartElectricalOnlyAuxAltPowerGenAtCrank + _m6.AveragePowerDemandAtCrankFromPneumatics
End Get
End Property
Private ReadOnly Property Sum3 As Single
Get
Return _m7.SmartPneumaticOnlyAuxAirCompPowerGenAtCrank + _m6.AvgPowerDemandAtCrankFromElectricsIncHVAC
End Get
End Property
Private ReadOnly Property Sum4 As Single
Get
Return _m6.AvgPowerDemandAtCrankFromElectricsIncHVAC + _m6.AveragePowerDemandAtCrankFromPneumatics
End Get
End Property
Private ReadOnly Property Sum5 As Single
Get
Return _m1.AveragePowerDemandAtCrankFromHVACMechanicalsWatts + SW5
End Get
End Property
Private ReadOnly Property Sum6 As Single
Get
Return Sum5 * SW6
End Get
End Property
Private ReadOnly Property SW1 As Single
Get
Return If(_signals.SmartPneumatics, Sum1, Sum2)
End Get
End Property
Private ReadOnly Property SW2 As Single
Get
Return If(_signals.SmartPneumatics, Sum3, Sum4)
End Get
End Property
Private ReadOnly Property SW3 As Single
Get
Return _
If _
(_signals.SmartPneumatics, _m7.SmartElectricalAndPneumaticAuxAltPowerGenAtCrank,
_m7.SmartElectricalOnlyAuxAltPowerGenAtCrank)
End Get
End Property
Private ReadOnly Property SW4 As Integer
Get
Return If(_signals.SmartElectrics, _m6.SmartElecAndPneumaticsCompressorFlag, _m6.SmartPneumaticsOnlyCompressorFlag)
End Get
End Property
Private ReadOnly Property SW5 As Single
Get
Return If(_signals.SmartElectrics, SW1, SW2)
End Get
End Property
Private ReadOnly Property SW6 As Single
Get
Return If(_signals.EngineStopped, 0, 1)
End Get
End Property
#End Region
'OUT1
Public ReadOnly Property AuxPowerAtCrankFromElectricalHVACAndPneumaticsAncillaries As Single _
Implements IM8.AuxPowerAtCrankFromElectricalHVACAndPneumaticsAncillaries
Get
Return Sum6
End Get
End Property
'OUT2
Public ReadOnly Property SmartElectricalAlternatorPowerGenAtCrank As Single _
Implements IM8.SmartElectricalAlternatorPowerGenAtCrank
Get
Return SW3
End Get
End Property
'OUT3
Public ReadOnly Property CompressorFlag As Integer Implements IM8.CompressorFlag
Get
Return SW4
End Get
End Property
'Constructor
Public Sub New(m1 As IM1_AverageHVACLoadDemand, m6 As IM6, m7 As IM7, signals As ISignals)
_m1 = m1
_m6 = m6
_m7 = m7
_signals = signals
End Sub
End Class
End Namespace
......@@ -108,7 +108,7 @@ Namespace Pneumatics
''' <param name="rpm">compressor rotation speed</param>
''' <returns></returns>
''' <remarks>Single</remarks>
Public Function GetFlowRate(ByVal rpm As Integer) As Single Implements ICompressorMap.GetFlowRate
Public Function GetFlowRate(ByVal rpm As Double) As Single Implements ICompressorMap.GetFlowRate
Dim val As CompressorMapValues = InterpolatedTuple(rpm)
Return val.FlowRate
End Function
......@@ -119,7 +119,7 @@ Namespace Pneumatics
''' <param name="rpm">compressor rotation speed</param>
''' <returns></returns>
''' <remarks>Single</remarks>
Public Function GetPowerCompressorOn(ByVal rpm As Integer) As Single Implements ICompressorMap.GetPowerCompressorOn
Public Function GetPowerCompressorOn(ByVal rpm As Double) As Single Implements ICompressorMap.GetPowerCompressorOn
Dim val As CompressorMapValues = InterpolatedTuple(rpm)
Return val.PowerCompressorOn
End Function
......@@ -130,7 +130,7 @@ Namespace Pneumatics
''' <param name="rpm">compressor rotation speed</param>
''' <returns></returns>
''' <remarks>Single</remarks>
Public Function GetPowerCompressorOff(ByVal rpm As Integer) As Single Implements ICompressorMap.GetPowerCompressorOff
Public Function GetPowerCompressorOff(ByVal rpm As Double) As Single Implements ICompressorMap.GetPowerCompressorOff
Dim val As CompressorMapValues = InterpolatedTuple(rpm)
Return val.PowerCompressorOff
End Function
......@@ -140,7 +140,7 @@ Namespace Pneumatics
''' </summary>
''' <returns>CompressorMapValues</returns>
''' <remarks>Throws exception if rpm are outside map</remarks>
Private Function InterpolatedTuple(ByVal rpm As Integer) As CompressorMapValues
Private Function InterpolatedTuple(ByVal rpm As Double) As CompressorMapValues
'check the rpm is within the map
Dim min As Integer = map.Keys.Min()
Dim max As Integer = map.Keys.Max()
......
......@@ -26,7 +26,7 @@ Namespace Pneumatics
''' <param name="rpm">compressor rotation speed</param>
''' <returns></returns>
''' <remarks>Single</remarks>
Function GetFlowRate(ByVal rpm As Integer) As Single
Function GetFlowRate(ByVal rpm As Double) As Single
''' <summary>
''' Returns mechanical power at rpm when compressor is on
......@@ -34,7 +34,7 @@ Namespace Pneumatics
''' <param name="rpm">compressor rotation speed</param>
''' <returns></returns>
''' <remarks>Single</remarks>
Function GetPowerCompressorOn(ByVal rpm As Integer) As Single
Function GetPowerCompressorOn(ByVal rpm As Double) As Single
''' <summary>
''' Returns mechanical power at rpm when compressor is off
......@@ -42,7 +42,7 @@ Namespace Pneumatics
''' <param name="rpm">compressor rotation speed</param>
''' <returns></returns>
''' <remarks>Single</remarks>
Function GetPowerCompressorOff(ByVal rpm As Integer) As Single
Function GetPowerCompressorOff(ByVal rpm As Double) As Single
'Returns Average Power Demand Per Compressor Unit FlowRate
Function GetAveragePowerDemandPerCompressorUnitFlowRate() As Single
......
......@@ -19,15 +19,15 @@ Namespace Mocks
End If
End Function
Public Function GetFlowRate(ByVal rpm As Integer) As Single Implements ICompressorMap.GetFlowRate
Public Function GetFlowRate(ByVal rpm As Double) As Single Implements ICompressorMap.GetFlowRate
Return 2.0
End Function
Public Function GetPowerCompressorOn(ByVal rpm As Integer) As Single Implements ICompressorMap.GetPowerCompressorOn
Public Function GetPowerCompressorOn(ByVal rpm As Double) As Single Implements ICompressorMap.GetPowerCompressorOn
Return 8.0
End Function
Public Function GetPowerCompressorOff(ByVal rpm As Integer) As Single Implements ICompressorMap.GetPowerCompressorOff
Public Function GetPowerCompressorOff(ByVal rpm As Double) As Single Implements ICompressorMap.GetPowerCompressorOff
Return 5.0
End Function
......
......@@ -56,7 +56,7 @@ Public Interface ISignals
''' <value></value>
''' <returns></returns>
''' <remarks>RPM in old money - Vecto Input</remarks>
Property EngineSpeed As Integer
Property EngineSpeed As Double
''' <summary>
''' Smart Pneumatics
......
......@@ -21,7 +21,7 @@ Public Class Signals
Public Property EngineDrivelinePower As Single Implements ISignals.EngineDrivelinePower
Public Property EngineDrivelineTorque As Single Implements ISignals.EngineDrivelineTorque
Public Property EngineMotoringPower As Single Implements ISignals.EngineMotoringPower
Public Property EngineSpeed As Integer Implements ISignals.EngineSpeed
Public Property EngineSpeed As Double Implements ISignals.EngineSpeed
Public Property SmartElectrics As Boolean Implements ISignals.SmartElectrics
Get
......
......@@ -194,8 +194,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
// smart aux should be on during braking
}
}
Auxiliaries.Signals.EngineMotoringPower = -(float)DataBus.EngineDragPower(angularSpeed).Value() / 1000;
Auxiliaries.Signals.EngineSpeed = (int)(angularSpeed.Value() / Constants.RPMToRad);
Auxiliaries.Signals.EngineMotoringPower = (float)(-DataBus.EngineDragPower(angularSpeed).Value() / 1000);
Auxiliaries.Signals.EngineSpeed = angularSpeed.Value() / Constants.RPMToRad;
Auxiliaries.Signals.PreExistingAuxPower = 0; //mAAUX_Global.PreExistingAuxPower;
Auxiliaries.Signals.Idle = DataBus.VehicleStopped;
Auxiliaries.Signals.InNeutral = DataBus.Gear == 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment