From 0366fa5cbe5eda6061a7702b11f2c20cb4a5e469 Mon Sep 17 00:00:00 2001 From: "Burns, Terry" <Terry.Burns@ricardo.com> Date: Wed, 15 Apr 2015 07:58:23 +0000 Subject: [PATCH] V3,6/7of Model Complete + Events Included in Vecto from AA 1. BatteryEfficiency Renamed to Stored Energy Efficiency. 2.) Events from AA brought into Vecto. a.) Compressor -Map Limiting Included. b.) SSMTOOL. AC Compressor inadequate. SSMTOOL. Fuel Fired Heating Enadequate. V06 and V07 of Model now included. git-tfs-id: [http://tfs00.element.root.com:8080/tfs/TFSCollection]$/VECTO;C1888 --- AdvancedAuxiliaryInterfaces/Enumerations.vb | 6 +- .../IAdvancedAuxiliaries.vb | 6 +- VECTO/mAAUX_Global.vb | 126 +++++++++--------- .../VectoAuxiliaries/AdvancedAuxiliaries.vb | 12 +- .../Electrics/ElectricConstants.vb | 2 +- .../M0_5_SmartAlternatorSetEfficiency.vb | 2 +- .../M0_NonSmart_AlternatorsSetEfficiency.vb | 2 +- .../M2_AverageElectricalLoadDemand.vb | 2 +- VECTOAux/VectoAuxiliaries/Hvac/ISSMTOOL.vb | 1 + VECTOAux/VectoAuxiliaries/Hvac/SSMTOOL.vb | 85 +++++++++--- .../Pneumatics/CompressorMap.vb | 41 +++--- 11 files changed, 170 insertions(+), 115 deletions(-) diff --git a/AdvancedAuxiliaryInterfaces/Enumerations.vb b/AdvancedAuxiliaryInterfaces/Enumerations.vb index dbf9298dda..4430ca10ca 100644 --- a/AdvancedAuxiliaryInterfaces/Enumerations.vb +++ b/AdvancedAuxiliaryInterfaces/Enumerations.vb @@ -13,9 +13,9 @@ Public Enum AdvancedAuxiliaryMessageType - Information - Warning - Critical + Information=1 + Warning=2 + Critical=3 End Enum diff --git a/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb b/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb index f24e0d2b80..1a2aeb25b9 100644 --- a/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb +++ b/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb @@ -10,7 +10,11 @@ ' See the LICENSE.txt for the specific language governing permissions and limitations. Public Interface IAdvancedAuxiliaries - Inherits IAuxiliaryEvent +' Inherits IAuxiliaryEvent + + + + Event AuxiliaryEvent( ByRef sender As Object, byval message As String, ByVal messageType As AdvancedAuxiliaryMessageType ) 'Information diff --git a/VECTO/mAAUX_Global.vb b/VECTO/mAAUX_Global.vb index 2ac4dcaccb..328a0af1e2 100644 --- a/VECTO/mAAUX_Global.vb +++ b/VECTO/mAAUX_Global.vb @@ -13,7 +13,7 @@ Module mAAUX_Global public PreExistingAuxPower As Single public Idle As Boolean public InNeutral As Boolean - Public advancedAuxModel As IAdvancedAuxiliaries + Public WithEvents advancedAuxModel As IAdvancedAuxiliaries Public RunningCalc As Boolean=false @@ -23,61 +23,67 @@ Module mAAUX_Global 'Doors during particular cycle types. Public CurrentCycleFile As string = String.Empty - 'This is a default setting of 3114, but should be removed once coded in. + 'This is a default setting of 3114 this will be set when the cycle begins. Public CycleTimeInSeconds As integer = 3114 + Public Sub AAEventAuxiliaryEvent( ByRef sender As Object, byval message As String, ByVal messageType As AdvancedAuxiliaryMessageType ) Handles advancedAuxModel.AuxiliaryEvent -'AA-TB -Public Function InitialiseAdvancedAuxModel( aauxFile As string) As Boolean + WorkerMsg(messageType,message, "Advanced Auxiliaries") - Dim o As System.Runtime.Remoting.ObjectHandle - Dim result As Boolean = true - - If VECTO_Global.VEC.AuxiliaryAssembly<>"CLASSIC" then - - Try + End Sub - 'Open Assembly and invoke the validation using the paths supplied. + 'AA-TB + Public Function InitialiseAdvancedAuxModel( aauxFile As string) As Boolean + + Dim o As System.Runtime.Remoting.ObjectHandle + Dim result As Boolean = true + + If VECTO_Global.VEC.AuxiliaryAssembly<>"CLASSIC" then + Try - o = Activator.CreateInstance(VEC.AuxiliaryAssembly, "VectoAuxiliaries.AdvancedAuxiliaries") - advancedAuxModel = DirectCast(o.Unwrap, IAdvancedAuxiliaries) - - Dim message As String = String.Empty - - 'Set Statics - advancedAuxModel.VectoInputs.Cycle=DetermineCycleNameFromCurrentFile() - advancedAuxModel.VectoInputs.VehicleWeightKG= VEH.Mass - advancedAuxModel.VectoInputs.FuelMap= ENG.FuelMapFullPath - - 'Set Signals - advancedAuxModel.Signals.TotalCycleTimeSeconds=CycleTimeInSeconds - advancedAuxModel.RunStart( aauxFile, VEC.FilePath, message) - - - Catch Ex As Exception - - result = false - + + + 'Open Assembly and invoke the validation using the paths supplied. + Try + o = Activator.CreateInstance(VEC.AuxiliaryAssembly, "VectoAuxiliaries.AdvancedAuxiliaries") + advancedAuxModel = DirectCast(o.Unwrap, IAdvancedAuxiliaries) + + Dim message As String = String.Empty + + 'Set Statics + advancedAuxModel.VectoInputs.Cycle=DetermineCycleNameFromCurrentFile() + advancedAuxModel.VectoInputs.VehicleWeightKG= VEH.Mass + advancedAuxModel.VectoInputs.FuelMap= ENG.FuelMapFullPath + + 'Set Signals + advancedAuxModel.Signals.TotalCycleTimeSeconds=CycleTimeInSeconds + advancedAuxModel.RunStart( aauxFile, VEC.FilePath, message) + + + + Catch Ex As Exception + + result = false + + End Try + + Return result + + + Catch ex As Exception + + + End Try - - Return result - - - Catch ex As Exception - - - - End Try - - - End If - - Return False - -End Function - + + + End If + + Return False + + End Function 'AA-TB ''' <summary> @@ -177,22 +183,22 @@ End Function End Function - -''' <summary> + + ''' <summary> ''' Gets location of Advanced Auxiliaries Directory which contains all the assemblies available. ''' </summary> ''' <returns>Path where Auxiliaries can be found : String</returns> ''' <remarks></remarks> -Public Function GetAAUXSourceDirectory() As String + Public Function GetAAUXSourceDirectory() As String Return Path.GetDirectoryName(Application.ExecutablePath) End Function - - - Public function ResolveAAUXFilePath( vectoPath as String, filename As string) as string + + + Public function ResolveAAUXFilePath( vectoPath as String, filename As string) as string 'No Vecto Path supplied If vectoPath="" then Return filename @@ -207,9 +213,9 @@ Public Function GetAAUXSourceDirectory() As String End If End Function - - -Public Function ValidateAAUXFile( ByVal absoluteAAuxPath As String, + + + Public Function ValidateAAUXFile( ByVal absoluteAAuxPath As String, ByVal assemblyName As String, byval version As string, byref message As string) As Boolean @@ -241,14 +247,14 @@ Public Function ValidateAAUXFile( ByVal absoluteAAuxPath As String, Return result End Function - - -''' <summary> + + + ''' <summary> ''' Will Apply an algorithm to the DRI cycle file being used and attempt to return a consitant name ''' </summary> ''' <returns>String : Cylename IE, Bus_Interurban, Bus_Urban,etc</returns> ''' <remarks></remarks> -Public Function DetermineCycleNameFromCurrentFile() As String + Public Function DetermineCycleNameFromCurrentFile() As String 'Get DriveFile without path and without extension Dim driveFile As String = fFILE(CurrentCycleFile,False) diff --git a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb index b26b673c25..267817c1a5 100644 --- a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb +++ b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb @@ -20,6 +20,7 @@ Public Class AdvancedAuxiliaries Implements IAdvancedAuxiliaries + Private auxConfig As AuxiliaryConfig @@ -27,6 +28,9 @@ Public Class AdvancedAuxiliaries Private WithEvents compressorMap As ICompressorMap ' Private Withevents alternatorMap As IAlternatorMap + private WithEvents ssmTool As New SSMTOOL + Private WithEvents ssmToolModule14 As New SSMTOOL + Private Withevents alternatorMap As IAlternatorMap Private WithEvents actuationsMap As IPneumaticActuationsMAP Private WithEvents fuelMap As IFUELMAP @@ -52,7 +56,7 @@ Public Class AdvancedAuxiliaries private vectoDirectory As String 'Event Handler top level bubble. - Public Sub VectoEventHandler( byref sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) handles compressorMap.AuxiliaryEvent, alternatorMap.AuxiliaryEvent + Public Sub VectoEventHandler( byref sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) handles compressorMap.AuxiliaryEvent, alternatorMap.AuxiliaryEvent, ssmTool.Message, ssmToolModule14.Message If Signals.AuxiliaryEventReportingLevel <= messageType then @@ -115,11 +119,11 @@ Public Class AdvancedAuxiliaries 'SSM HVAC Dim ssmPath as string = FilePathUtils.ResolveFilePath(vectoDirectory,auxConfig.HvacUserInputsConfig.SSMFilePath) Dim BusDatabase as String = FilePathUtils.ResolveFilePath(vectoDirectory,auxConfig.HvacUserInputsConfig.BusDatabasePath) - Dim ssmTool As New SSMTOOL( ssmPath) + ssmTool = New SSMTOOL( ssmPath) 'This duplicate SSM is being created for use in M14 as its properties will be dynamically changed at that point 'to honour EngineWaste Heat Usage in Fueling calculations. - Dim ssmToolModule14 As New SSMTOOL( ssmPath) + ssmToolModule14 = New SSMTOOL( ssmPath) If( ssmTool.Load(ssmPath)=False OrElse ssmToolModule14.Load(ssmPath)=False) @@ -188,7 +192,7 @@ End Sub Public Property Signals As ISignals Implements IAdvancedAuxiliaries.Signals Public Property VectoInputs As IVectoInputs Implements IAdvancedAuxiliaries.VectoInputs - Public Event AuxiliaryEvent(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) Implements IAuxiliaryEvent.AuxiliaryEvent + Public Event AuxiliaryEvent(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) Implements IAdvancedAuxiliaries.AuxiliaryEvent Public Function Configure(filePath As String, vectoFilePath As String ) As Boolean Implements VectoAuxiliaries.IAdvancedAuxiliaries.Configure diff --git a/VECTOAux/VectoAuxiliaries/Electrics/ElectricConstants.vb b/VECTOAux/VectoAuxiliaries/Electrics/ElectricConstants.vb index 0143204aa1..b398f7c690 100644 --- a/VECTOAux/VectoAuxiliaries/Electrics/ElectricConstants.vb +++ b/VECTOAux/VectoAuxiliaries/Electrics/ElectricConstants.vb @@ -31,7 +31,7 @@ Public Class ElectricConstants public const AlternatorPulleyEfficiencyMax as single =1 'Battery - Public Const BatteryEfficiency As Single = 0.9025 + Public Const StoredEnergyEfficiency As Single = 0.9025 End Class diff --git a/VECTOAux/VectoAuxiliaries/Electrics/M0_5_SmartAlternatorSetEfficiency.vb b/VECTOAux/VectoAuxiliaries/Electrics/M0_5_SmartAlternatorSetEfficiency.vb index e9004b9c27..09e7490d78 100644 --- a/VECTOAux/VectoAuxiliaries/Electrics/M0_5_SmartAlternatorSetEfficiency.vb +++ b/VECTOAux/VectoAuxiliaries/Electrics/M0_5_SmartAlternatorSetEfficiency.vb @@ -100,7 +100,7 @@ End Property <ExcludeFromCodeCoverage> Private function HvacPlusNonBaseCurrents() As Single - Return _m0.GetHVACElectricalPowerDemandAmps() + (_electricalConsumables.GetTotalAverageDemandAmps(true) /ElectricConstants.BatteryEfficiency) + Return _m0.GetHVACElectricalPowerDemandAmps() + (_electricalConsumables.GetTotalAverageDemandAmps(true) /ElectricConstants.StoredEnergyEfficiency) End Function diff --git a/VECTOAux/VectoAuxiliaries/Electrics/M0_NonSmart_AlternatorsSetEfficiency.vb b/VECTOAux/VectoAuxiliaries/Electrics/M0_NonSmart_AlternatorsSetEfficiency.vb index e972b39445..ad1fbddda6 100644 --- a/VECTOAux/VectoAuxiliaries/Electrics/M0_NonSmart_AlternatorsSetEfficiency.vb +++ b/VECTOAux/VectoAuxiliaries/Electrics/M0_NonSmart_AlternatorsSetEfficiency.vb @@ -53,7 +53,7 @@ Namespace Electrics Public ReadOnly Property AlternatorsEfficiency As Single Implements IM0_NonSmart_AlternatorsSetEfficiency.AlternatorsEfficiency Get - Dim baseCurrentDemandAmps As Single = ( _electricalConsumersList.GetTotalAverageDemandAmps(false) /ElectricConstants.BatteryEfficiency) + Dim baseCurrentDemandAmps As Single = ( _electricalConsumersList.GetTotalAverageDemandAmps(false) /ElectricConstants.StoredEnergyEfficiency) Dim totalDemandAmps As Single = baseCurrentDemandAmps + GetHVACElectricalPowerDemandAmps Return _alternatorEfficiencyMap.GetEfficiency(_signals.EngineSpeed, totalDemandAmps).Efficiency End Get diff --git a/VECTOAux/VectoAuxiliaries/Electrics/M2_AverageElectricalLoadDemand.vb b/VECTOAux/VectoAuxiliaries/Electrics/M2_AverageElectricalLoadDemand.vb index 4076df4901..6aa6b21825 100644 --- a/VECTOAux/VectoAuxiliaries/Electrics/M2_AverageElectricalLoadDemand.vb +++ b/VECTOAux/VectoAuxiliaries/Electrics/M2_AverageElectricalLoadDemand.vb @@ -43,7 +43,7 @@ Namespace Electrics 'Public class outputs (Properties) Public Function GetAveragePowerDemandAtAlternator() As Single Implements IM2_AverageElectricalLoadDemand.GetAveragePowerDemandAtAlternator - Return ( _electricalConsumers.GetTotalAverageDemandAmps(False)/ElectricConstants.BatteryEfficiency) * _powerNetVoltage + Return ( _electricalConsumers.GetTotalAverageDemandAmps(False)/ElectricConstants.StoredEnergyEfficiency) * _powerNetVoltage End Function Public Function GetAveragePowerAtCrankFromElectrics() As Single Implements IM2_AverageElectricalLoadDemand.GetAveragePowerAtCrankFromElectrics diff --git a/VECTOAux/VectoAuxiliaries/Hvac/ISSMTOOL.vb b/VECTOAux/VectoAuxiliaries/Hvac/ISSMTOOL.vb index 30e969ed7b..43ee2f4dbe 100644 --- a/VECTOAux/VectoAuxiliaries/Hvac/ISSMTOOL.vb +++ b/VECTOAux/VectoAuxiliaries/Hvac/ISSMTOOL.vb @@ -36,6 +36,7 @@ Function IsEqualTo(source As ISSMTOOL) As Boolean Function FuelPerHBaseAsjusted( AverageUseableEngineWasteHeatKW As Single ) As Single +Event Message(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) diff --git a/VECTOAux/VectoAuxiliaries/Hvac/SSMTOOL.vb b/VECTOAux/VectoAuxiliaries/Hvac/SSMTOOL.vb index de86d2a8ad..a9c93c0121 100644 --- a/VECTOAux/VectoAuxiliaries/Hvac/SSMTOOL.vb +++ b/VECTOAux/VectoAuxiliaries/Hvac/SSMTOOL.vb @@ -10,13 +10,17 @@ Namespace Hvac Public Class SSMTOOL Implements ISSMTOOL - - + Private filePath As String Public Property GenInputs As ISSMGenInputs Implements ISSMTOOL.GenInputs Public Property TechList As ISSMTechList Implements ISSMTOOL.TechList Public Property Calculate As ISSMCalculate Implements ISSMTOOL.Calculate + 'Repeat Warning Flags + Private CompressorCapacityInsufficientWarned As Boolean + Private FuelFiredHeaterInsufficientWarned As Boolean + + 'Base Values Public ReadOnly Property ElectricalWBase As Single Implements ISSMTOOL.ElectricalWBase Get @@ -25,12 +29,12 @@ Implements ISSMTOOL End Property Public ReadOnly Property MechanicalWBase As Single Implements ISSMTOOL.MechanicalWBase Get - Return Calculate.MechanicalWBase + Return Calculate.MechanicalWBase End Get End Property Public ReadOnly Property FuelPerHBase As Single Implements ISSMTOOL.FuelPerHBase Get - Return Calculate.FuelPerHBase + Return Calculate.FuelPerHBase End Get End Property 'Adjusted Values @@ -41,7 +45,19 @@ Implements ISSMTOOL End Property Public ReadOnly Property MechanicalWBaseAdjusted As Single Implements ISSMTOOL.MechanicalWBaseAdjusted Get - Return Calculate.MechanicalWBaseAdjusted + Dim mechAdjusted As Single = Calculate.MechanicalWBaseAdjusted + + + If CompressorCapacityInsufficientWarned=False AndAlso (mechAdjusted)/(1000 * GenInputs.BC_COP) > GenInputs.AC_CompressorCapacitykW then + + OnMessage( Me, "HVAC SSM :AC-Compressor Capacity unable to service cooling, run continues as if capacity was sufficient.",AdvancedAuxiliaryMessageType.Warning) + CompressorCapacityInsufficientWarned=true + + End If + + + Return mechAdjusted + End Get End Property Public ReadOnly Property FuelPerHBaseAdjusted As Single Implements ISSMTOOL.FuelPerHBaseAdjusted @@ -85,8 +101,6 @@ Implements ISSMTOOL End Sub - - 'Persistance Functions Public Function Save(filePath As String) As Boolean Implements ISSMTOOL.Save @@ -104,7 +118,7 @@ Implements ISSMTOOL Catch ex As Exception - 'TODO:Do something meaningfull here perhaps logging + 'Nothing to do except return false. returnValue = False End Try @@ -143,7 +157,7 @@ End Function Catch ex As Exception - 'TODO:Do something meaningfull here perhaps logging + 'Nothing to do except return false. returnValue = False End Try @@ -219,27 +233,58 @@ End Function End Function + 'Overrides + Public Overrides Function ToString() As String + + + Dim sb As new StringBuilder + + sb.AppendLine( Calculate.ToString()) - Public Overrides Function ToString() As String - - Dim sb As new StringBuilder + Return sb.ToString() + + End Function + + 'Dynamicly Get Fuel having re-adjusted Engine Heat Waste, this was originally supposed to be Solid State. Late adjustment request 24/3/2015 + Public Function FuelPerHBaseAsjusted(AverageUseableEngineWasteHeatKW As Single) As Single Implements ISSMTOOL.FuelPerHBaseAsjusted - sb.AppendLine( Calculate.ToString()) + 'Set Engine Waste Heat + GenInputs.AH_EngineWasteHeatkW= AverageUseableEngineWasteHeatKW + Dim fba As Single = FuelPerHBaseAdjusted + + Dim FuelFiredWarning As Boolean = fba * GenInputs.BC_AuxHeaterEfficiency * GenInputs.BC_VolumicMassDieselOrHeatingOil * GenInputs.BC_GCVDieselOrHeatingOil*1000 > _ + ( AverageUseableEngineWasteHeatKW + GenInputs.AH_FuelFiredHeaterkW ) - Return sb.ToString() + If Not FuelFiredHeaterInsufficientWarned AndAlso FuelFiredWarning then - End Function + FuelFiredHeaterInsufficientWarned=true + OnMessage(Me,“ HVAC SSM : Fuel fired heater insufficient for heating requirements, run continues assuming it was sufficient.†,AdvancedAuxiliaryMessageType.Warning ) - Public Function FuelPerHBaseAsjusted(AverageUseableEngineWasteHeatKW As Single) As Single Implements ISSMTOOL.FuelPerHBaseAsjusted + End If - 'Set Engine Waste Heat - GenInputs.AH_EngineWasteHeatkW= AverageUseableEngineWasteHeatKW - Return FuelPerHBaseAdjusted - End Function + + Return fba + + End Function + + 'Events + Public Event Message(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) Implements ISSMTOOL.Message + + 'Raise Message Event. + private Sub OnMessage(sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) + + + If Not message is Nothing then + + RaiseEvent Message( Me, message, messageType) + + End If + + End Sub diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/CompressorMap.vb b/VECTOAux/VectoAuxiliaries/Pneumatics/CompressorMap.vb index 9759fcabcb..545a0cdc98 100644 --- a/VECTOAux/VectoAuxiliaries/Pneumatics/CompressorMap.vb +++ b/VECTOAux/VectoAuxiliaries/Pneumatics/CompressorMap.vb @@ -22,14 +22,9 @@ Namespace Pneumatics Implements ICompressorMap, IAuxiliaryEvent - - Private ReadOnly filePath As String - Private _averagePowerDemandPerCompressorUnitFlowRate As Single - - - + Private _MapBoundariesExceeded As Boolean ''' <summary> ''' Dictionary of values keyed by the rpm valaues in the csv file @@ -41,7 +36,6 @@ Namespace Pneumatics ''' <remarks></remarks> Private map As Dictionary(Of Integer, CompressorMapValues) - 'Returns the AveragePowerDemand ( Power On ) per unit flow rate Public Function AveragePowerDemandPerCompressorUnitFlowRate() As Single Implements ICompressorMap.GetAveragePowerDemandPerCompressorUnitFlowRate @@ -153,7 +147,11 @@ Namespace Pneumatics Dim max As Integer = map.Keys.Max() If rpm < min OrElse rpm > max Then - OnMessage(Me,String.Format("Compresser has limited RPM of '{2}' to extent of map - rpm should be in the range {0} to {1}", min, max ,rpm), AdvancedAuxiliaryMessageType.Warning) + If Not _MapBoundariesExceeded then + OnMessage(Me,String.Format("Compresser : limited RPM of '{2}' to extent of map - map range is {0} to {1}", min, max ,rpm), AdvancedAuxiliaryMessageType.Warning) + _MapBoundariesExceeded=true + end if + 'Limiting as agreed. If rpm > max then rpm=max If rpm < min then rpm=min @@ -198,38 +196,39 @@ Namespace Pneumatics ''' </summary> ''' <remarks></remarks> ''' + Private Structure CompressorMapValues - ''' <summary> + ''' <summary> ''' Compressor flowrate ''' </summary> ''' <remarks></remarks> - Public ReadOnly FlowRate As Single + Public ReadOnly FlowRate As Single - ''' <summary> + ''' <summary> ''' Power, compressor on ''' </summary> ''' <remarks></remarks> - Public ReadOnly PowerCompressorOn As Single + Public ReadOnly PowerCompressorOn As Single - ''' <summary> + ''' <summary> ''' Power compressor off ''' </summary> ''' <remarks></remarks> - Public ReadOnly PowerCompressorOff As Single + Public ReadOnly PowerCompressorOff As Single - ''' <summary> + ''' <summary> ''' Creates a new instance of CompressorMapValues ''' </summary> ''' <param name="flowRate">flow rate</param> ''' <param name="powerCompressorOn">power - compressor on</param> ''' <param name="powerCompressorOff">power - compressor off</param> ''' <remarks></remarks> - Public Sub New(ByVal flowRate As Single, ByVal powerCompressorOn As Single, ByVal powerCompressorOff As Single) + Public Sub New(ByVal flowRate As Single, ByVal powerCompressorOn As Single, ByVal powerCompressorOff As Single) Me.FlowRate = flowRate Me.PowerCompressorOn = powerCompressorOn Me.PowerCompressorOff = powerCompressorOff - End Sub + End Sub End Structure @@ -237,7 +236,7 @@ Namespace Pneumatics Public Event Message(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) Implements IAuxiliaryEvent.AuxiliaryEvent - Public Sub OnMessage(sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) + private Sub OnMessage(sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) If Not message is Nothing then @@ -247,11 +246,7 @@ Namespace Pneumatics End If End Sub - End Class - - - - + End Class End Namespace \ No newline at end of file -- GitLab