Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

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

update data binding for aaux forms - add conversion from/to si; rename...

update data binding for aaux forms - add conversion from/to si; rename properties: remove unit suffix
parent e658605a
No related branches found
No related tags found
No related merge requests found
Showing
with 380 additions and 86 deletions
......@@ -18,6 +18,7 @@ Imports System.Drawing
Imports VectoAuxiliaries.Hvac
Imports System.IO
Imports System.Linq
Imports TUGraz.VectoCommon.Utils
Imports TUGraz.VectoCore.BusAuxiliaries
Imports TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
Imports TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
......@@ -1372,7 +1373,10 @@ Public Class frmAuxiliaryConfig
Private Sub CreateBindings()
'auxConfig.Vecto Bindings
txtPowernetVoltage.DataBindings.Add("Text", auxConfig.ElectricalUserInputsConfig, "PowerNetVoltage")
dim bVoltage As Binding = new Binding("Text", auxConfig.ElectricalUserInputsConfig, "PowerNetVoltage")
AddHandler bVoltage.Parse, new ConvertEventHandler(AddressOf TextToSI(Of Volt))
AddHandler bVoltage.Format, new ConvertEventHandler(AddressOf SIToText)
txtPowernetVoltage.DataBindings.Add(bVoltage)
'txtVehicleWeightKG.DataBindings.Add("Text", auxConfig.VectoInputs, "VehicleWeightKG")
'cboCycle.DataBindings.Add("Text", auxConfig.VectoInputs, "Cycle")
txtFuelMap.DataBindings.Add("Text", auxConfig.VectoInputs, "FuelMap")
......@@ -1390,6 +1394,7 @@ Public Class frmAuxiliaryConfig
electricalConsumerBinding =
New BindingList(Of IElectricalConsumer)(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers.Items)
gvElectricalConsumables.DataSource = electricalConsumerBinding
AddHandler gvElectricalConsumables.CellFormatting, New DataGridViewCellFormattingEventHandler(AddressOf SIToText)
'ResultCards
......@@ -1400,6 +1405,8 @@ Public Class frmAuxiliaryConfig
idleBinding.AllowNew = True
idleBinding.AllowRemove = True
gvResultsCardIdle.DataSource = idleBinding
AddHandler gvResultsCardIdle.CellParsing, new DataGridViewCellParsingEventHandler (AddressOf TextToSI(of Ampere))
AddHandler gvResultsCardIdle.CellFormatting, new DataGridViewCellFormattingEventHandler(AddressOf SIToText)
'TRACTION
Dim tractionBinding As BindingList(Of SmartResult)
......@@ -1407,6 +1414,8 @@ Public Class frmAuxiliaryConfig
tractionBinding.AllowNew = True
tractionBinding.AllowRemove = True
gvResultsCardTraction.DataSource = tractionBinding
AddHandler gvResultsCardTraction.CellParsing, new DataGridViewCellParsingEventHandler (AddressOf TextToSI(of Ampere))
AddHandler gvResultsCardTraction.CellFormatting, new DataGridViewCellFormattingEventHandler(AddressOf SIToText)
'OVERRUN
Dim overrunBinding As BindingList(Of SmartResult)
......@@ -1414,6 +1423,8 @@ Public Class frmAuxiliaryConfig
overrunBinding.AllowNew = True
overrunBinding.AllowRemove = True
gvResultsCardOverrun.DataSource = overrunBinding
AddHandler gvResultsCardOverrun.CellParsing, new DataGridViewCellParsingEventHandler (AddressOf TextToSI(of Ampere))
AddHandler gvResultsCardOverrun.CellFormatting, new DataGridViewCellFormattingEventHandler(AddressOf SIToText)
'Pneumatic Auxillaries Binding
......
......@@ -611,33 +611,33 @@ Public Class frmCombinedAlternators
txtAlternatorName.Text = alt.AlternatorName
'Table1 - 2K Table
txt2K10Amps.Text = alt.InputTable2000.OrderBy(Function(x) x.Amps).Skip(1).First().Amps.ToString()
txt2K10Amps.Text = alt.InputTable2000.OrderBy(Function(x) x.Amps).Skip(1).First().Amps.ToXMLFormat()
txt2K10Efficiency.Text = alt.InputTable2000.OrderBy(Function(x) x.Amps).Skip(1).First().Eff.ToString()
txt2KMax2Amps.Text = alt.InputTable2000.OrderBy(Function(x) x.Amps).Skip(2).First().Amps.ToString()
txt2KMax2Amps.Text = alt.InputTable2000.OrderBy(Function(x) x.Amps).Skip(2).First().Amps.ToXMLFormat()
txt2KMax2Efficiency.Text = alt.InputTable2000.OrderBy(Function(x) x.Amps).Skip(2).First().Eff.ToString()
txt2KMaxAmps.Text = alt.InputTable2000.OrderBy(Function(x) x.Amps).Skip(3).First().Amps.ToString()
txt2KMaxAmps.Text = alt.InputTable2000.OrderBy(Function(x) x.Amps).Skip(3).First().Amps.ToXMLFormat()
txt2KMaxEfficiency.Text = alt.InputTable2000.OrderBy(Function(x) x.Amps).Skip(3).First().Eff.ToString()
'Table2 - 4K Table
txt4K10Amps.Text = alt.InputTable4000.OrderBy(Function(x) x.Amps).Skip(1).First().Amps.ToString()
txt4K10Amps.Text = alt.InputTable4000.OrderBy(Function(x) x.Amps).Skip(1).First().Amps.ToXMLFormat()
txt4K10Efficiency.Text = alt.InputTable4000.OrderBy(Function(x) x.Amps).Skip(1).First().Eff.ToString()
txt4KMax2Amps.Text = alt.InputTable4000.OrderBy(Function(x) x.Amps).Skip(2).First().Amps.ToString()
txt4KMax2Amps.Text = alt.InputTable4000.OrderBy(Function(x) x.Amps).Skip(2).First().Amps.ToXMLFormat()
txt4KMax2Efficiency.Text = alt.InputTable4000.OrderBy(Function(x) x.Amps).Skip(2).First().Eff.ToString()
txt4KMaxAmps.Text = alt.InputTable4000.OrderBy(Function(x) x.Amps).Skip(3).First().Amps.ToString()
txt4KMaxAmps.Text = alt.InputTable4000.OrderBy(Function(x) x.Amps).Skip(3).First().Amps.ToXMLFormat()
txt4KMaxEfficiency.Text = alt.InputTable4000.OrderBy(Function(x) x.Amps).Skip(3).First().Eff.ToString()
'Table3 - 6K Table
txt6K10Amps.Text = alt.InputTable6000.OrderBy(Function(x) x.Amps).Skip(1).First().Amps.ToString()
txt6K10Amps.Text = alt.InputTable6000.OrderBy(Function(x) x.Amps).Skip(1).First().Amps.ToXMLFormat()
txt6K10Efficiency.Text = alt.InputTable6000.OrderBy(Function(x) x.Amps).Skip(1).First().Eff.ToString()
txt6KMax2Amps.Text = alt.InputTable6000.OrderBy(Function(x) x.Amps).Skip(2).First().Amps.ToString()
txt6KMax2Amps.Text = alt.InputTable6000.OrderBy(Function(x) x.Amps).Skip(2).First().Amps.ToXMLFormat()
txt6KMax2Efficiency.Text = alt.InputTable6000.OrderBy(Function(x) x.Amps).Skip(2).First().Eff.ToString()
txt6KMaxAmps.Text = alt.InputTable6000.OrderBy(Function(x) x.Amps).Skip(3).First().Amps.ToString()
txt6KMaxAmps.Text = alt.InputTable6000.OrderBy(Function(x) x.Amps).Skip(3).First().Amps.ToXMLFormat()
txt6KMaxEfficiency.Text = alt.InputTable6000.OrderBy(Function(x) x.Amps).Skip(3).First().Eff.ToString()
txtPulleyRatio.Text = alt.PulleyRatio.ToString()
......
......@@ -4,6 +4,7 @@ Imports System.ComponentModel
Imports System.Drawing
Imports System.Globalization
Imports System.Linq
Imports TUGraz.VectoCommon.Utils
Imports TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
......@@ -232,7 +233,7 @@ Public Class frmHVACTool
btnNewBus.Tag = "New"
btnEditBus.Tag = "Edit"
BusParamGroupEdit.Location = New Point(30, 51)
BusParamGroupEdit.Location = New Drawing.Point(30, 51)
End Sub
Private Sub setupBindings()
......@@ -250,48 +251,165 @@ Public Class frmHVACTool
DataSourceUpdateMode.OnPropertyChanged)
chkIsDoubleDecker.DataBindings.Add("Checked", ssmTOOL.GenInputs, "BP_DoubleDecker", False,
DataSourceUpdateMode.OnPropertyChanged)
txtBusLength.DataBindings.Add("Text", ssmTOOL.GenInputs, "BP_BusLength")
txtBusWidth.DataBindings.Add("Text", ssmTOOL.GenInputs, "BP_BusWidth")
txtBusHeight.DataBindings.Add("Text", ssmTOOL.GenInputs, "BP_BusHeight")
txtBusFloorSurfaceArea.DataBindings.Add("Text", ssmTOOL.GenInputs, "BP_BusFloorSurfaceArea", False,
DataSourceUpdateMode.OnPropertyChanged)
txtBusWindowSurfaceArea.DataBindings.Add("Text", ssmTOOL.GenInputs, "BP_BusWindowSurface")
txtBusSurfaceArea.DataBindings.Add("Text", ssmTOOL.GenInputs, "BP_BusSurfaceAreaM2")
txtBusVolume.DataBindings.Add("Text", ssmTOOL.GenInputs, "BP_BusVolume")
dim bLength As Binding = New Binding("Text", ssmTOOL.GenInputs, "BP_BusLength")
AddHandler bLength.Parse, New ConvertEventHandler(AddressOf TextToSI(of Meter))
AddHandler blength.Format , New ConvertEventHandler(AddressOf SIToText)
txtBusLength.DataBindings.Add(bLength)
dim bWidth As Binding = New Binding("Text", ssmTOOL.GenInputs, "BP_BusWidth")
AddHandler bWidth.Parse, New ConvertEventHandler(AddressOf TextToSI(of Meter))
AddHandler bWidth.Format , New ConvertEventHandler(AddressOf SIToText)
txtBusWidth.DataBindings.Add(bWidth)
dim bHeight As Binding = New Binding("Text", ssmTOOL.GenInputs, "BP_BusHeight")
AddHandler bHeight.Parse, New ConvertEventHandler(AddressOf TextToSI(of Meter))
AddHandler bHeight.Format , New ConvertEventHandler(AddressOf SIToText)
txtBusHeight.DataBindings.Add(bHeight)
dim bFloorSurface As Binding = New Binding("Text", ssmTOOL.GenInputs, "BP_BusFloorSurfaceArea", False,
DataSourceUpdateMode.OnPropertyChanged)
AddHandler bFloorSurface.Parse, New ConvertEventHandler(AddressOf TextToSI(of SquareMeter))
AddHandler bFloorSurface.Format , New ConvertEventHandler(AddressOf SIToText)
txtBusFloorSurfaceArea.DataBindings.Add(bFloorSurface)
dim bWindowSF As Binding = New Binding("Text", ssmTOOL.GenInputs, "BP_BusWindowSurface")
AddHandler bWindowSF.Parse, New ConvertEventHandler(AddressOf TextToSI(of SquareMeter))
AddHandler bWindowSF.Format , New ConvertEventHandler(AddressOf SIToText)
txtBusWindowSurfaceArea.DataBindings.Add(bWindowSF)
dim bBusSF As Binding = New Binding("Text", ssmTOOL.GenInputs, "BP_BusSurfaceArea")
AddHandler bBusSF.Parse, New ConvertEventHandler(AddressOf TextToSI(of SquareMeter))
AddHandler bBusSF.Format , New ConvertEventHandler(AddressOf SIToText)
txtBusSurfaceArea.DataBindings.Add(bBusSF)
dim bBusVol As Binding = New Binding("Text", ssmTOOL.GenInputs, "BP_BusVolume")
AddHandler bBusVol.Parse, New ConvertEventHandler(AddressOf TextToSI(of CubicMeter))
AddHandler bBusVol.Format , New ConvertEventHandler(AddressOf SIToText)
txtBusVolume.DataBindings.Add(bBusVol)
'Boundary Conditions
txtBC_GFactor.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_GFactor")
txtBC_SolarClouding.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_SolarClouding")
txtBC_HeatPerPassengerIntoCabinW.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_HeatPerPassengerIntoCabinW")
txtBC_PassengerBoundaryTemperature.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_PassengerBoundaryTemperature")
txtBC_PassengerDensityLowFloor.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_PassengerDensityLowFloor")
txtBC_PassengerDensitySemiLowFloor.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_PassengerDensitySemiLowFloor")
txtBC_PassengerDensityRaisedFloor.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_PassengerDensityRaisedFloor")
dim bPassHeat As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_HeatPerPassengerIntoCabinW")
AddHandler bPassHeat.Parse, New ConvertEventHandler(AddressOf TextToSI(of Watt))
AddHandler bPassHeat.Format , New ConvertEventHandler(AddressOf SIToText)
txtBC_HeatPerPassengerIntoCabinW.DataBindings.Add(bPassHeat)
dim bPassBT As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_PassengerBoundaryTemperature")
AddHandler bPassBT.Parse, New ConvertEventHandler(AddressOf TextToSIKelvin)
AddHandler bPassBT.Format , New ConvertEventHandler(AddressOf SIKelvinToText)
txtBC_PassengerBoundaryTemperature.DataBindings.Add(bPassBT)
dim bPassLowFloor As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_PassengerDensityLowFloor")
AddHandler bPassLowFloor.Parse, New ConvertEventHandler(AddressOf TextToSI(of PerSquareMeter))
AddHandler bPassLowFloor.Format , New ConvertEventHandler(AddressOf SIToText)
txtBC_PassengerDensityLowFloor.DataBindings.Add(bPassLowFloor)
dim bPassSemi As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_PassengerDensitySemiLowFloor")
AddHandler bPassSemi.Parse, New ConvertEventHandler(AddressOf TextToSI(of PerSquareMeter))
AddHandler bPassSemi.Format , New ConvertEventHandler(AddressOf SIToText)
txtBC_PassengerDensitySemiLowFloor.DataBindings.Add(bPassSemi)
dim bPassRaised As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_PassengerDensityRaisedFloor")
AddHandler bPassRaised.Parse, New ConvertEventHandler(AddressOf TextToSI(of PerSquareMeter))
AddHandler bPassRaised.Format , New ConvertEventHandler(AddressOf SIToText)
txtBC_PassengerDensityRaisedFloor.DataBindings.Add(bPassRaised)
txtBC_CalculatedPassengerNumber.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_CalculatedPassengerNumber")
txtBC_UValues.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_UValues")
txtBC_HeatingBoundaryTemperature.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_HeatingBoundaryTemperature")
txtBC_CoolingBoundaryTemperature.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_CoolingBoundaryTemperature")
txtBC_TemperatureCoolingOff.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_TemperatureCoolingTurnsOff")
txtBC_HighVentilation.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_HighVentilation")
txtBC_lowVentilation.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_lowVentilation")
txtBC_High.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_High")
txtBC_Low.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_Low")
txtBC_HighVentPowerW.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_HighVentPowerW")
txtBC_LowVentPowerW.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_LowVentPowerW")
txtBC_SpecificVentilationPower.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_SpecificVentilationPower")
dim bUVal As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_UValues")
AddHandler bUVal.Parse, New ConvertEventHandler(AddressOf TextToSI(of WattPerKelvinSquareMeter))
AddHandler bUVal.Format , New ConvertEventHandler(AddressOf SIToText)
txtBC_UValues.DataBindings.Add(bUVal)
dim bPassBdT As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_HeatingBoundaryTemperature")
AddHandler bPassBdT.Parse, New ConvertEventHandler(AddressOf TextToSIKelvin)
AddHandler bPassBdT.Format , New ConvertEventHandler(AddressOf SIKelvinToText)
txtBC_HeatingBoundaryTemperature.DataBindings.Add(bPassBdT)
dim bBdTCool As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_CoolingBoundaryTemperature")
AddHandler bBdTCool.Parse, New ConvertEventHandler(AddressOf TextToSIKelvin)
AddHandler bBdTCool.Format , New ConvertEventHandler(AddressOf SIKelvinToText)
txtBC_CoolingBoundaryTemperature.DataBindings.Add(bBdTCool)
dim bCoolingOff As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_TemperatureCoolingTurnsOff")
AddHandler bCoolingOff.Parse, New ConvertEventHandler(AddressOf TextToSIKelvin)
AddHandler bCoolingOff.Format , New ConvertEventHandler(AddressOf SIKelvinToText)
txtBC_TemperatureCoolingOff.DataBindings.Add(bCoolingOff)
dim bVentPerHour As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_HighVentilation")
AddHandler bVentPerHour.Parse, New ConvertEventHandler(AddressOf TextToSIPerHour)
AddHandler bVentPerHour.Format , New ConvertEventHandler(AddressOf SIPerHourToText)
txtBC_HighVentilation.DataBindings.Add(bVentPerHour)
dim bVentLPerHour As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_lowVentilation")
AddHandler bVentLPerHour.Parse, New ConvertEventHandler(AddressOf TextToSIPerHour)
AddHandler bVentLPerHour.Format , New ConvertEventHandler(AddressOf SIPerHourToText)
txtBC_lowVentilation.DataBindings.Add(bVentLPerHour)
dim bHigh As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_High")
AddHandler bHigh.Parse, New ConvertEventHandler(AddressOf TextToSICubicMeterPerHour)
AddHandler bHigh.Format , New ConvertEventHandler(AddressOf SICubicMeterPerHourToText)
txtBC_High.DataBindings.Add(bHigh)
dim bLow As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_Low")
AddHandler bLow.Parse, New ConvertEventHandler(AddressOf TextToSICubicMeterPerHour)
AddHandler bLow.Format , New ConvertEventHandler(AddressOf SICubicMeterPerHourToText)
txtBC_Low.DataBindings.Add(bLow)
dim bHiP As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_HighVentPower")
AddHandler bHiP.Parse, New ConvertEventHandler(AddressOf TextToSI(of Watt))
AddHandler bHiP.Format , New ConvertEventHandler(AddressOf SIToText)
txtBC_HighVentPowerW.DataBindings.Add(bHiP)
dim bLoP As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_LowVentPower")
AddHandler bLoP.Parse, New ConvertEventHandler(AddressOf TextToSI(of Watt))
AddHandler bLoP.Format , New ConvertEventHandler(AddressOf SIToText)
txtBC_LowVentPowerW.DataBindings.Add(bLoP)
dim bSpecPwr As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_SpecificVentilationPower")
AddHandler bSpecPwr.Parse, New ConvertEventHandler(AddressOf TextToSIWattHourPerCubicMeter)
AddHandler bSpecPwr.Format , New ConvertEventHandler(AddressOf SIWattHourPerCubicMeterToText)
txtBC_SpecificVentilationPower.DataBindings.Add(bSpecPwr)
txtBC_AuxHeaterEfficiency.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_AuxHeaterEfficiency")
txtBC_GCVDieselOrHeatingOil.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_GCVDieselOrHeatingOil")
txtBC_WindowAreaPerUnitBusLength.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_WindowAreaPerUnitBusLength")
txtBC_FrontRearWindowArea.DataBindings.Add("Text", ssmTOOL.GenInputs, "BC_FrontRearWindowArea")
txtBC_MaxTemperatureDeltaForLowFloorBusses.DataBindings.Add("Text", ssmTOOL.GenInputs,
"BC_MaxTemperatureDeltaForLowFloorBusses")
txtBC_MaxPossibleBenefitFromTechnologyList.DataBindings.Add("Text", ssmTOOL.GenInputs,
dim bGCV As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_GCVDieselOrHeatingOil")
AddHandler bGCV.Parse, New ConvertEventHandler(AddressOf TextToSIkWhkg)
AddHandler bGCV.Format , New ConvertEventHandler(AddressOf SIWhkgToText)
txtBC_GCVDieselOrHeatingOil.DataBindings.Add(bGCV)
dim bWnd As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_WindowAreaPerUnitBusLength")
AddHandler bWnd.Parse, New ConvertEventHandler(AddressOf TextToSI(of SquareMeterPerMeter))
AddHandler bWnd.Format , New ConvertEventHandler(AddressOf SIToText)
txtBC_WindowAreaPerUnitBusLength.DataBindings.Add(bWnd)
dim bFrReW As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_FrontRearWindowArea")
AddHandler bFrReW.Parse, New ConvertEventHandler(AddressOf TextToSI(of SquareMeter))
AddHandler bFrReW.Format , New ConvertEventHandler(AddressOf SIToText)
txtBC_FrontRearWindowArea.DataBindings.Add(bFrReW)
dim bTDiff As Binding = New Binding("Text", ssmTOOL.GenInputs, "BC_MaxTemperatureDeltaForLowFloorBusses")
AddHandler bTDiff.Parse, New ConvertEventHandler(AddressOf TextToSI(of Kelvin))
AddHandler bTDiff.Format , New ConvertEventHandler(AddressOf SIToText)
txtBC_MaxTemperatureDeltaForLowFloorBusses.DataBindings.Add(bTDiff)
txtBC_MaxPossibleBenefitFromTechnologyList.DataBindings.Add("Text", ssmTOOL.GenInputs,
"BC_MaxPossibleBenefitFromTechnologyList")
'EnviromentalConditions
txtEC_EnviromentalTemperature.DataBindings.Add("Text", ssmTOOL.GenInputs, "EC_EnviromentalTemperature")
txtEC_Solar.DataBindings.Add("Text", ssmTOOL.GenInputs, "EC_Solar")
dim bEnvT As Binding = New Binding("Text", ssmTOOL.GenInputs, "EC_EnviromentalTemperature")
AddHandler bEnvT.Parse, New ConvertEventHandler(AddressOf TextToSIKelvin)
AddHandler bEnvT.Format , New ConvertEventHandler(AddressOf SIKelvinToText)
txtEC_EnviromentalTemperature.DataBindings.Add(bEnvT)
dim bSolar As Binding = New Binding("Text", ssmTOOL.GenInputs, "EC_Solar")
AddHandler bSolar.Parse, New ConvertEventHandler(AddressOf TextToSI(of WattPerSquareMeter))
AddHandler bSolar.Format , New ConvertEventHandler(AddressOf SIToText)
txtEC_Solar.DataBindings.Add(bSolar)
chkEC_BatchMode.DataBindings.Add("Checked", ssmTOOL.GenInputs, "EC_EnviromentalConditions_BatchEnabled", False,
DataSourceUpdateMode.OnPropertyChanged)
......@@ -299,7 +417,12 @@ Public Class frmHVACTool
cboAC_CompressorType.DataBindings.Add("Text", ssmTOOL.GenInputs, "AC_CompressorType", False,
DataSourceUpdateMode.OnPropertyChanged)
txtAC_CompressorType.DataBindings.Add("Text", ssmTOOL.GenInputs, "AC_CompressorTypeDerived")
txtAC_CompressorCapacitykW.DataBindings.Add("Text", ssmTOOL.GenInputs, "AC_CompressorCapacitykW")
dim bAcPwr As Binding = New Binding("Text", ssmTOOL.GenInputs, "AC_CompressorCapacitykW")
AddHandler bAcPwr.Parse, New ConvertEventHandler(AddressOf TextToSIKiloWatt)
AddHandler bAcPwr.Format , New ConvertEventHandler(AddressOf SIKiloWattToText)
txtAC_CompressorCapacitykW.DataBindings.Add(bAcPwr)
txtAC_COP.DataBindings.Add("Text", ssmTOOL.GenInputs, "AC_COP")
'Ventilation
......@@ -315,7 +438,11 @@ Public Class frmHVACTool
cboVEN_VentilationDuringCooling.DataBindings.Add("Text", ssmTOOL.GenInputs, "VEN_VentilationDuringCooling")
'Aux. Heater
txtAH_FuelFiredHeaterkW.DataBindings.Add("Text", ssmTOOL.GenInputs, "AH_FuelFiredHeaterkW")
dim bHtr As Binding = New Binding("Text", ssmTOOL.GenInputs, "AH_FuelFiredHeaterkW")
AddHandler bHtr.Parse, New ConvertEventHandler(AddressOf TextToSIKiloWatt)
AddHandler bHtr.Format , New ConvertEventHandler(AddressOf SIKiloWattToText)
txtAH_FuelFiredHeaterkW.DataBindings.Add(bHtr)
txtAH_FuelEnergyHeatToCoolant.DataBindings.Add("Text", ssmTOOL.GenInputs, "AH_FuelEnergyToHeatToCoolant")
txtAH_CoolantHeatToAirCabinHeater.DataBindings.Add("Text", ssmTOOL.GenInputs,
"AH_CoolantHeatTransferredToAirCabinHeater")
......@@ -346,7 +473,7 @@ Public Class frmHVACTool
' txtBusFloorSurfaceArea.Text = ssmTOOL.GenInputs.BP_BusFloorSurfaceArea.ToString()
' txtBusWindowSurfaceArea.Text = ssmTOOL.GenInputs.BP_BusWindowSurface.ToString()
' txtBusSurfaceArea.Text = ssmTOOL.GenInputs.BP_BusSurfaceAreaM2.ToString()
' txtBusSurfaceArea.Text = ssmTOOL.GenInputs.BP_BusSurfaceArea.ToString()
' txtBusVolume.Text = ssmTOOL.GenInputs.BP_BusVolume.ToString()
' btnEditBus.Enabled = True
......
Imports TUGraz.VectoCommon.Utils
Public module SIConvert
Public sub SIToText(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(string))
return
End If
if (TryCast(cevent.Value, si) = nothing)
return
End If
cevent.Value = CType(cevent.Value, SI).ToGuiFormat()
End sub
Public sub TextToSI(Of T As SIBase(of T))(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(T))
return
end if
cevent.Value = cevent.value.tostring().todouble().si(of T)
End sub
Public sub SIKelvinToText(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(string))
return
End If
if (TryCast(cevent.Value, Kelvin) = nothing)
return
End If
cevent.Value = CType(cevent.Value, Kelvin).AsDegCelsius.ToGuiFormat()
End sub
Public sub TextToSIKelvin(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(Kelvin))
return
end if
cevent.Value = cevent.value.tostring().todouble().DegCelsiusToKelvin
End sub
Public sub SIPerHourToText(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(string))
return
End If
if (TryCast(cevent.Value, PerSecond) = nothing)
return
End If
cevent.Value = (CType(cevent.Value, PerSecond).value() * 3600).ToGuiFormat()
End sub
Public sub TextToSIPerHour(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(PerSecond))
return
end if
cevent.Value = cevent.value.tostring().todouble().SI(Unit.SI.Per.Hour).cast(Of PerSecond)
End sub
Public sub SICubicMeterPerHourToText(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(string))
return
End If
if (TryCast(cevent.Value, CubicMeterPerSecond) = nothing)
return
End If
cevent.Value = (CType(cevent.Value, CubicMeterPerSecond).value() * 3600).ToGuiFormat()
End sub
Public sub TextToSICubicMeterPerHour(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(CubicMeterPerSecond))
return
end if
cevent.Value = cevent.value.tostring().todouble().SI(Unit.SI.Cubic.Meter.Per.Hour).cast(Of CubicMeterPerSecond)
End sub
Public sub SIWattHourPerCubicMeterToText(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(string))
return
End If
if (TryCast(cevent.Value, JoulePerCubicMeter) = nothing)
return
End If
cevent.Value = (CType(cevent.Value, JoulePerCubicMeter).value() / 3600 ).ToGuiFormat()
End sub
Public sub TextToSIWattHourPerCubicMeter(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(WattSecondPerCubicMeter))
return
end if
cevent.Value = cevent.value.tostring().todouble().SI(Unit.SI.Watt.Hour.Per.Cubic.meter).cast(Of WattSecondPerCubicMeter)
End sub
Public sub SIWhkgToText(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(string))
return
End If
if (TryCast(cevent.Value, JoulePerKilogramm) = nothing)
return
End If
cevent.Value = (CType(cevent.Value, JoulePerKilogramm).value() / 3600/ 1000).ToGuiFormat()
End sub
Public sub TextToSIkWhkg(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(JoulePerKilogramm))
return
end if
cevent.Value = cevent.value.tostring().todouble().SI(Unit.SI.Kilo.Watt.Hour.Per.kilo.Gramm).cast(Of JoulePerKilogramm)
End sub
Public sub SIKiloWattToText(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(string))
return
End If
if (TryCast(cevent.Value, Watt) = nothing)
return
End If
cevent.Value = (CType(cevent.Value, Watt).value() / 1000).ToGuiFormat()
End sub
Public sub TextToSIKiloWatt(sender As object, cevent As ConvertEventArgs)
if (cevent.DesiredType <> GetType(Watt))
return
end if
cevent.Value = cevent.value.tostring().todouble().SI(Unit.SI.Kilo.Watt).cast(Of Watt)
End sub
End module
\ No newline at end of file
......@@ -190,6 +190,16 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Delete() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Delete", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
......
......@@ -265,4 +265,7 @@
<data name="P_fan_eqn" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\P_fan_eqn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
\ No newline at end of file
......@@ -235,6 +235,7 @@
<Compile Include="BusAuxiliaries\UI\VECTO_Types.vb" />
<Compile Include="BusAuxiliaries\Util\DeleteCell.vb" />
<Compile Include="BusAuxiliaries\Util\DeleteColumn.vb" />
<Compile Include="BusAuxiliaries\Util\SIConvert.vb" />
<Compile Include="GUI\VectoVTPJobForm.Designer.vb">
<DependentUpon>VectoVTPJobForm.vb</DependentUpon>
</Compile>
......@@ -571,7 +572,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\VectoCommon\VectoCommon\VectoCommon.csproj">
<Project>{79a066ad-69a9-4223-90f6-6ed5d2d084f4}</Project>
<Project>{79A066AD-69A9-4223-90F6-6ED5D2D084F4}</Project>
<Name>VectoCommon</Name>
</ProjectReference>
<ProjectReference Include="..\VectoCore\VectoCore\VectoCore.csproj">
......@@ -594,6 +595,7 @@
<EmbeddedResource Include="Resources\6x2r.png" />
<EmbeddedResource Include="Resources\6x2rt.png" />
<EmbeddedResource Include="Resources\6x2tt.png" />
<None Include="Resources\Delete.png" />
<Content Include="Resources\F_ENG.ico" />
<Content Include="Resources\F_GBX.ico" />
<Content Include="Resources\F_VECTO.ico" />
......
......@@ -264,18 +264,9 @@
]
},
"DoorActuationTimeSecond": 4,
"ResultCardIdle": {
"$type": "TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics.ResultCard, BusAuxiliaries",
"Results": []
},
"ResultCardTraction": {
"$type": "TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics.ResultCard, BusAuxiliaries",
"Results": []
},
"ResultCardOverrun": {
"$type": "TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics.ResultCard, BusAuxiliaries",
"Results": []
},
"ResultCardIdle": [],
"ResultCardTraction": [],
"ResultCardOverrun": [],
"SmartElectrical": false
},
"PneumaticUserInputsConfig": {
......
......@@ -73,7 +73,7 @@ Namespace UnitTests
Assert.AreEqual(47, target.BP_NumberOfPassengers)
Assert.AreEqual(FloorType.HighFloor, target.BP_BusFloorType)
Assert.AreEqual(24.1102486R, target.BP_BusFloorSurfaceArea.Value(), 2)
Assert.AreEqual(114.42325R, target.BP_BusSurfaceAreaM2.Value())
Assert.AreEqual(114.42325R, target.BP_BusSurfaceArea.Value())
Assert.AreEqual(20.98R, Math.Round(target.BP_BusWindowSurface.Value(), 2))
Assert.AreEqual(61.81231875D, Math.Round(target.BP_BusVolume.Value(), 8))
Assert.AreEqual(10.655R, target.BP_BusLength.Value())
......@@ -98,8 +98,8 @@ Namespace UnitTests
Assert.AreEqual(7, target.BC_lowVentilation.Value() * 3600)
Assert.AreEqual(1236.25, Math.Round(target.BC_High.Value() * 3600, 2))
Assert.AreEqual(432.69, Math.Round(target.BC_Low.Value() * 3600, 2))
Assert.AreEqual(692.3, Math.Round(target.BC_HighVentPowerW.Value(), 2))
Assert.AreEqual(242.3, Math.Round(target.BC_LowVentPowerW.Value(), 2))
Assert.AreEqual(692.3, Math.Round(target.BC_HighVentPower.Value(), 2))
Assert.AreEqual(242.3, Math.Round(target.BC_LowVentPower.Value(), 2))
Assert.AreEqual(0.56R, target.BC_SpecificVentilationPower.Value() / 3600)
Assert.AreEqual(0.84, target.BC_AuxHeaterEfficiency)
Assert.AreEqual(11.8, target.BC_GCVDieselOrHeatingOil.Value() / 3600.0 / 1000.0)
......
......@@ -577,6 +577,8 @@ namespace TUGraz.VectoCommon.Utils
private WattPerKelvinSquareMeter(double val) : base(val, Units)
{ }
public override string UnitString { get { return "W/Km^2"; } }
}
public class WattPerSquareMeter : SIBase<WattPerSquareMeter>
......@@ -590,6 +592,7 @@ namespace TUGraz.VectoCommon.Utils
{
return SIBase<Watt>.Create(wpsqm.Val * sqm.Value());
}
public override string UnitString { get { return "W/m^2"; } }
}
......@@ -599,6 +602,8 @@ namespace TUGraz.VectoCommon.Utils
private WattPerCubicMeter(double val) : base(val, Units)
{ }
public override string UnitString { get { return "W/m^3"; } }
}
/// <summary>
......
......@@ -190,8 +190,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
var gen = ssmTOOL.GenInputs;
// Dim C33 = gen.BC_HighVentPowerW
// Dim C34 = gen.BC_LowVentPowerW
// Dim C33 = gen.BC_HighVentPower
// Dim C34 = gen.BC_LowVentPower
// Dim C62 = gen.VEN_VentilationONDuringHeating
// Dim C66 = gen.VEN_VentilationDuringHeating
// Dim M89 = Me.Run1.TotalW
......@@ -199,9 +199,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
var res = Run1.TotalW < 0 && Run2.TotalW < 0
? gen.VEN_VentilationOnDuringHeating && gen.VEN_VentilationDuringHeating.ToLower() == "high"
? gen.BC_HighVentPowerW
? gen.BC_HighVentPower
: gen.VEN_VentilationOnDuringHeating && gen.VEN_VentilationDuringHeating.ToLower() == "low"
? gen.BC_LowVentPowerW
? gen.BC_LowVentPower
: 0.SI<Watt>()
: 0.SI<Watt>();
......@@ -288,14 +288,14 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
// Dim M90 = Run2.TotalW
// Dim C64 = gen.VEN_VentilationDuringAC
// Dim C67 = gen.VEN_VentilationDuringCooling
// Dim C33 = gen.BC_HighVentPowerW
// Dim C34 = gen.BC_LowVentPowerW
// Dim C33 = gen.BC_HighVentPower
// Dim C34 = gen.BC_LowVentPower
return gen.EC_EnviromentalTemperature >= gen.BC_TemperatureCoolingTurnsOff && Run1.TotalW > 0 && Run2.TotalW > 0
? gen.VEN_VentilationDuringAC && gen.VEN_VentilationDuringCooling.ToLower() == "high"
? gen.BC_HighVentPowerW
? gen.BC_HighVentPower
: gen.VEN_VentilationDuringAC && gen.VEN_VentilationDuringCooling.ToLower() == "low"
? gen.BC_LowVentPowerW
? gen.BC_LowVentPower
: 0.SI<Watt>()
: 0.SI<Watt>();
}
......@@ -335,17 +335,17 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
// Dim M90 = Run2.TotalW
// Dim C63 = gen.VEN_VentilationWhenBothHeatingAndACInactive
// Dim C65 = gen.VEN_VentilationFlowSettingWhenHeatingAndACInactive
// Dim C33 = gen.BC_HighVentPowerW
// Dim C34 = gen.BC_LowVentPowerW
// Dim C33 = gen.BC_HighVentPower
// Dim C34 = gen.BC_LowVentPower
return (gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff && Run1.TotalW > 0 && Run2.TotalW > 0) ||
(Run1.TotalW > 0 && Run2.TotalW < 0)
? gen.VEN_VentilationWhenBothHeatingAndACInactive &&
gen.VEN_VentilationFlowSettingWhenHeatingAndACInactive.ToLower() == "high"
? gen.BC_HighVentPowerW
? gen.BC_HighVentPower
: gen.VEN_VentilationWhenBothHeatingAndACInactive &&
gen.VEN_VentilationFlowSettingWhenHeatingAndACInactive.ToLower() == "low"
? gen.BC_LowVentPowerW
? gen.BC_LowVentPower
: 0.SI<Watt>()
: 0.SI<Watt>();
}
......
......@@ -88,7 +88,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
}
// D8/C8 - ( M/2 )
public SquareMeter BP_BusSurfaceAreaM2
public SquareMeter BP_BusSurfaceArea
{
get {
// 2 * (C12*C13 + C12*C14 + C13*C14)
......@@ -229,7 +229,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
}
// C33 - ( W )
public Watt BC_HighVentPowerW
public Watt BC_HighVentPower
{
get {
// =C31*C35
......@@ -238,7 +238,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
}
// C34 - ( W )
public Watt BC_LowVentPowerW
public Watt BC_LowVentPower
{
get {
// =C32*C35
......@@ -382,7 +382,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
};
// BP_BusFloorSurfaceArea : Calculated
// BP_BusSurfaceAreaM2 : Calculated
// BP_BusSurfaceArea : Calculated
// BP_BusWindowSurface : Calculated
// BP_BusVolume : Calculated
......@@ -409,8 +409,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
// BC_High :Calculated
// BC_Low :Calculated
// BC_HighVentPowerW :Calculated
// BC_LowVentPowerW :Calculated
// BC_HighVentPower :Calculated
// BC_LowVentPower :Calculated
BC_SpecificVentilationPower = 0.56.SI(Unit.SI.Watt.Hour.Per.Cubic.Meter).Cast<JoulePerCubicMeter>();
// BC_COP :Calculated
......
......@@ -79,12 +79,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
// =I79*C8*C23 or '=I80*C8*C23
// C23 = BC_UValues
// C8 = BP_BusSurfaceAreaM2
// C8 = BP_BusSurfaceArea
// I78/I80 = Me.TemperatureDelta
var gen = ssmTOOL.GenInputs;
return TemperatureDelta * gen.BP_BusSurfaceAreaM2 * gen.BC_UValues;
return TemperatureDelta * gen.BP_BusSurfaceArea * gen.BC_UValues;
}
}
public Watt WattsPerPass
......
......@@ -17,7 +17,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HV
SquareMeter BP_BusFloorSurfaceArea { get; }
SquareMeter BP_BusWindowSurface { get; }
SquareMeter BP_BusSurfaceAreaM2 { get; }
SquareMeter BP_BusSurfaceArea { get; }
CubicMeter BP_BusVolume { get; }
// Boundary Conditions:
......@@ -37,8 +37,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HV
PerSecond BC_lowVentilation { get; set; }
CubicMeterPerSecond BC_High { get; }
CubicMeterPerSecond BC_Low { get; }
Watt BC_HighVentPowerW { get; }
Watt BC_LowVentPowerW { get; }
Watt BC_HighVentPower { get; }
Watt BC_LowVentPower { get; }
JoulePerCubicMeter BC_SpecificVentilationPower { get; set; }
double BC_AuxHeaterEfficiency { get; set; }
JoulePerKilogramm BC_GCVDieselOrHeatingOil { get; set; }
......
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