diff --git a/VECTO/File Browser/FileBrowserModule.vb b/VECTO/File Browser/FileBrowserModule.vb index 12edc623eaf2744ed9960f72112e7cd7754a3920..e96376e88fa89347b859a8ce85522db92ccb07f0 100644 --- a/VECTO/File Browser/FileBrowserModule.vb +++ b/VECTO/File Browser/FileBrowserModule.vb @@ -64,4 +64,6 @@ Public Module FileBrowserModule Public ElectricMotorFileBrowser As FileBrowser Public REESSFileBrowser As FileBrowser + + public EmADCLossMapFileBrowser As FileBrowser End Module diff --git a/VECTO/GUI/MainForm.vb b/VECTO/GUI/MainForm.vb index 024b88f2354ac8ce6e255b6c3bba3576aecf64b1..cde2a8e615a5bf2934639b8d966395c66059744d 100644 --- a/VECTO/GUI/MainForm.vb +++ b/VECTO/GUI/MainForm.vb @@ -141,6 +141,7 @@ Imports TUGraz.VectoCore.Utils CrossWindCorrectionFileBrowser = New FileBrowser("vcdx") ElectricMotorFileBrowser = New FileBrowser("vem") REESSFileBrowser = New FileBrowser("vreess") + EmADCLossMapFileBrowser = new FileBrowser("vtlm") DriverDecisionFactorVelocityDropFileBrowser = New FileBrowser("DfVelocityDrop") DriverDecisionFactorTargetSpeedFileBrowser = New FileBrowser("DfTargetSpeed") DriverDecisionFactorVelocityDropFileBrowser.Extensions = New String() {"csv"} @@ -182,6 +183,7 @@ Imports TUGraz.VectoCore.Utils CrossWindCorrectionFileBrowser.Extensions = New String() {"vcdv", "vcdb"} ElectricMotorFileBrowser.Extensions = New String() {"vem"} REESSFileBrowser.Extensions = New String() {"vreess"} + EmADCLossMapFileBrowser.Extensions = new String(){"vtlm"} ElectricMachineDragTorqueFileBrowser.Extensions = New String() {"vemd"} ElectricMachineMaxTorqueFileBrowser.Extensions = New String() {"vemp"} diff --git a/VECTO/GUI/VehicleForm.Designer.vb b/VECTO/GUI/VehicleForm.Designer.vb index 61a0eee743bbdf1ff0334240d047f5fd161c7fa1..0abaf20e786129deba78110b42e7b70e09b4c8af 100644 --- a/VECTO/GUI/VehicleForm.Designer.vb +++ b/VECTO/GUI/VehicleForm.Designer.vb @@ -153,8 +153,8 @@ Partial Class VehicleForm Me.btnBrowseBattery = New System.Windows.Forms.Button() Me.tbBattery = New System.Windows.Forms.TextBox() Me.gpElectricMotor = New System.Windows.Forms.GroupBox() - Me.tbEmEfficiency = New System.Windows.Forms.TextBox() - Me.lblEmEfficiency = New System.Windows.Forms.Label() + Me.tbEmADCLossMap = New System.Windows.Forms.TextBox() + Me.lblEmADCLossmap = New System.Windows.Forms.Label() Me.tbRatioEm = New System.Windows.Forms.TextBox() Me.lblRatioEm = New System.Windows.Forms.Label() Me.tbEmCount = New System.Windows.Forms.TextBox() @@ -166,12 +166,19 @@ Partial Class VehicleForm Me.btnBrowseElectricMotor = New System.Windows.Forms.Button() Me.tbElectricMotor = New System.Windows.Forms.TextBox() Me.tpTorqueLimits = New System.Windows.Forms.TabPage() + Me.gbPropulsionTorque = New System.Windows.Forms.GroupBox() + Me.btnPropulsionTorqueLimit = New System.Windows.Forms.Button() + Me.tbPropulsionTorqueLimit = New System.Windows.Forms.TextBox() + Me.gbEMTorqueLimits = New System.Windows.Forms.GroupBox() + Me.btnEmTorqueLimits = New System.Windows.Forms.Button() + Me.tbEmTorqueLimits = New System.Windows.Forms.TextBox() + Me.bgVehicleTorqueLimits = New System.Windows.Forms.GroupBox() Me.lvTorqueLimits = New System.Windows.Forms.ListView() Me.ColumnHeader5 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader) Me.ColumnHeader6 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader) + Me.btAddMaxTorqueEntry = New System.Windows.Forms.Button() Me.Label17 = New System.Windows.Forms.Label() Me.btDelMaxTorqueEntry = New System.Windows.Forms.Button() - Me.btAddMaxTorqueEntry = New System.Windows.Forms.Button() Me.tpADAS = New System.Windows.Forms.TabPage() Me.GroupBox5 = New System.Windows.Forms.GroupBox() Me.cbAtEcoRollReleaseLockupClutch = New System.Windows.Forms.CheckBox() @@ -183,13 +190,7 @@ Partial Class VehicleForm Me.cbLegislativeClass = New System.Windows.Forms.ComboBox() Me.Label21 = New System.Windows.Forms.Label() Me.lblTitle = New System.Windows.Forms.Label() - Me.bgVehicleTorqueLimits = New System.Windows.Forms.GroupBox() - Me.gbEMTorqueLimits = New System.Windows.Forms.GroupBox() - Me.btnEmTorqueLimits = New System.Windows.Forms.Button() - Me.tbEmTorqueLimits = New System.Windows.Forms.TextBox() - Me.gbPropulsionTorque = New System.Windows.Forms.GroupBox() - Me.btnPropulsionTorqueLimit = New System.Windows.Forms.Button() - Me.tbPropulsionTorqueLimit = New System.Windows.Forms.TextBox() + Me.btnEmADCLossMap = New System.Windows.Forms.Button() Me.GroupBox6.SuspendLayout Me.ToolStrip1.SuspendLayout Me.GroupBox7.SuspendLayout @@ -221,11 +222,11 @@ Partial Class VehicleForm Me.gpElectricMotor.SuspendLayout Me.pnElectricMotor.SuspendLayout Me.tpTorqueLimits.SuspendLayout + Me.gbPropulsionTorque.SuspendLayout + Me.gbEMTorqueLimits.SuspendLayout + Me.bgVehicleTorqueLimits.SuspendLayout Me.tpADAS.SuspendLayout Me.GroupBox5.SuspendLayout - Me.bgVehicleTorqueLimits.SuspendLayout - Me.gbEMTorqueLimits.SuspendLayout - Me.gbPropulsionTorque.SuspendLayout Me.SuspendLayout ' 'Label1 @@ -1125,7 +1126,7 @@ Partial Class VehicleForm Me.tpGeneral.Controls.Add(Me.GrAirRes) Me.tpGeneral.Location = New System.Drawing.Point(4, 22) Me.tpGeneral.Name = "tpGeneral" - Me.tpGeneral.Padding = New System.Windows.Forms.Padding(3, 3, 3, 3) + Me.tpGeneral.Padding = New System.Windows.Forms.Padding(3) Me.tpGeneral.Size = New System.Drawing.Size(579, 355) Me.tpGeneral.TabIndex = 0 Me.tpGeneral.Text = "General" @@ -1140,7 +1141,7 @@ Partial Class VehicleForm Me.tpPowertrain.Controls.Add(Me.GroupBox2) Me.tpPowertrain.Location = New System.Drawing.Point(4, 22) Me.tpPowertrain.Name = "tpPowertrain" - Me.tpPowertrain.Padding = New System.Windows.Forms.Padding(3, 3, 3, 3) + Me.tpPowertrain.Padding = New System.Windows.Forms.Padding(3) Me.tpPowertrain.Size = New System.Drawing.Size(579, 355) Me.tpPowertrain.TabIndex = 1 Me.tpPowertrain.Text = "Powertrain" @@ -1227,7 +1228,7 @@ Partial Class VehicleForm Me.tpElectricComponents.Controls.Add(Me.gpElectricMotor) Me.tpElectricComponents.Location = New System.Drawing.Point(4, 22) Me.tpElectricComponents.Name = "tpElectricComponents" - Me.tpElectricComponents.Padding = New System.Windows.Forms.Padding(3, 3, 3, 3) + Me.tpElectricComponents.Padding = New System.Windows.Forms.Padding(3) Me.tpElectricComponents.Size = New System.Drawing.Size(579, 355) Me.tpElectricComponents.TabIndex = 4 Me.tpElectricComponents.Text = "Electric Components" @@ -1332,8 +1333,9 @@ Partial Class VehicleForm ' 'gpElectricMotor ' - Me.gpElectricMotor.Controls.Add(Me.tbEmEfficiency) - Me.gpElectricMotor.Controls.Add(Me.lblEmEfficiency) + Me.gpElectricMotor.Controls.Add(Me.btnEmADCLossMap) + Me.gpElectricMotor.Controls.Add(Me.tbEmADCLossMap) + Me.gpElectricMotor.Controls.Add(Me.lblEmADCLossmap) Me.gpElectricMotor.Controls.Add(Me.tbRatioEm) Me.gpElectricMotor.Controls.Add(Me.lblRatioEm) Me.gpElectricMotor.Controls.Add(Me.tbEmCount) @@ -1348,21 +1350,21 @@ Partial Class VehicleForm Me.gpElectricMotor.TabStop = false Me.gpElectricMotor.Text = "Electric Motor" ' - 'tbEmEfficiency + 'tbEmADCLossMap ' - Me.tbEmEfficiency.Location = New System.Drawing.Point(204, 131) - Me.tbEmEfficiency.Name = "tbEmEfficiency" - Me.tbEmEfficiency.Size = New System.Drawing.Size(59, 20) - Me.tbEmEfficiency.TabIndex = 26 + Me.tbEmADCLossMap.Location = New System.Drawing.Point(204, 131) + Me.tbEmADCLossMap.Name = "tbEmADCLossMap" + Me.tbEmADCLossMap.Size = New System.Drawing.Size(323, 20) + Me.tbEmADCLossMap.TabIndex = 26 ' - 'lblEmEfficiency + 'lblEmADCLossmap ' - Me.lblEmEfficiency.AutoSize = true - Me.lblEmEfficiency.Location = New System.Drawing.Point(7, 134) - Me.lblEmEfficiency.Name = "lblEmEfficiency" - Me.lblEmEfficiency.Size = New System.Drawing.Size(135, 13) - Me.lblEmEfficiency.TabIndex = 25 - Me.lblEmEfficiency.Text = "Efficiency EM to Drivetrain:" + Me.lblEmADCLossmap.AutoSize = true + Me.lblEmADCLossmap.Location = New System.Drawing.Point(7, 134) + Me.lblEmADCLossmap.Name = "lblEmADCLossmap" + Me.lblEmADCLossmap.Size = New System.Drawing.Size(100, 13) + Me.lblEmADCLossmap.TabIndex = 25 + Me.lblEmADCLossmap.Text = "Loss Map EM ADC:" ' 'tbRatioEm ' @@ -1465,6 +1467,73 @@ Partial Class VehicleForm Me.tpTorqueLimits.Text = "Torque Limits" Me.tpTorqueLimits.UseVisualStyleBackColor = true ' + 'gbPropulsionTorque + ' + Me.gbPropulsionTorque.Controls.Add(Me.btnPropulsionTorqueLimit) + Me.gbPropulsionTorque.Controls.Add(Me.tbPropulsionTorqueLimit) + Me.gbPropulsionTorque.Location = New System.Drawing.Point(3, 236) + Me.gbPropulsionTorque.Name = "gbPropulsionTorque" + Me.gbPropulsionTorque.Size = New System.Drawing.Size(407, 52) + Me.gbPropulsionTorque.TabIndex = 17 + Me.gbPropulsionTorque.TabStop = false + Me.gbPropulsionTorque.Text = "Propulsion Torque Limit" + ' + 'btnPropulsionTorqueLimit + ' + Me.btnPropulsionTorqueLimit.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon + Me.btnPropulsionTorqueLimit.Location = New System.Drawing.Point(331, 17) + Me.btnPropulsionTorqueLimit.Name = "btnPropulsionTorqueLimit" + Me.btnPropulsionTorqueLimit.Size = New System.Drawing.Size(24, 24) + Me.btnPropulsionTorqueLimit.TabIndex = 16 + Me.btnPropulsionTorqueLimit.UseVisualStyleBackColor = true + ' + 'tbPropulsionTorqueLimit + ' + Me.tbPropulsionTorqueLimit.Location = New System.Drawing.Point(6, 20) + Me.tbPropulsionTorqueLimit.Name = "tbPropulsionTorqueLimit" + Me.tbPropulsionTorqueLimit.Size = New System.Drawing.Size(319, 20) + Me.tbPropulsionTorqueLimit.TabIndex = 15 + ' + 'gbEMTorqueLimits + ' + Me.gbEMTorqueLimits.Controls.Add(Me.btnEmTorqueLimits) + Me.gbEMTorqueLimits.Controls.Add(Me.tbEmTorqueLimits) + Me.gbEMTorqueLimits.Location = New System.Drawing.Point(3, 178) + Me.gbEMTorqueLimits.Name = "gbEMTorqueLimits" + Me.gbEMTorqueLimits.Size = New System.Drawing.Size(407, 52) + Me.gbEMTorqueLimits.TabIndex = 9 + Me.gbEMTorqueLimits.TabStop = false + Me.gbEMTorqueLimits.Text = "Electric Machine Torque Limits" + ' + 'btnEmTorqueLimits + ' + Me.btnEmTorqueLimits.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon + Me.btnEmTorqueLimits.Location = New System.Drawing.Point(331, 17) + Me.btnEmTorqueLimits.Name = "btnEmTorqueLimits" + Me.btnEmTorqueLimits.Size = New System.Drawing.Size(24, 24) + Me.btnEmTorqueLimits.TabIndex = 16 + Me.btnEmTorqueLimits.UseVisualStyleBackColor = true + ' + 'tbEmTorqueLimits + ' + Me.tbEmTorqueLimits.Location = New System.Drawing.Point(6, 20) + Me.tbEmTorqueLimits.Name = "tbEmTorqueLimits" + Me.tbEmTorqueLimits.Size = New System.Drawing.Size(319, 20) + Me.tbEmTorqueLimits.TabIndex = 15 + ' + 'bgVehicleTorqueLimits + ' + Me.bgVehicleTorqueLimits.Controls.Add(Me.lvTorqueLimits) + Me.bgVehicleTorqueLimits.Controls.Add(Me.btAddMaxTorqueEntry) + Me.bgVehicleTorqueLimits.Controls.Add(Me.Label17) + Me.bgVehicleTorqueLimits.Controls.Add(Me.btDelMaxTorqueEntry) + Me.bgVehicleTorqueLimits.Location = New System.Drawing.Point(3, 9) + Me.bgVehicleTorqueLimits.Name = "bgVehicleTorqueLimits" + Me.bgVehicleTorqueLimits.Size = New System.Drawing.Size(407, 163) + Me.bgVehicleTorqueLimits.TabIndex = 8 + Me.bgVehicleTorqueLimits.TabStop = false + Me.bgVehicleTorqueLimits.Text = "ICE Torque Limits" + ' 'lvTorqueLimits ' Me.lvTorqueLimits.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ @@ -1492,6 +1561,15 @@ Partial Class VehicleForm Me.ColumnHeader6.Text = "Max. Torque" Me.ColumnHeader6.Width = 172 ' + 'btAddMaxTorqueEntry + ' + Me.btAddMaxTorqueEntry.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon + Me.btAddMaxTorqueEntry.Location = New System.Drawing.Point(6, 127) + Me.btAddMaxTorqueEntry.Name = "btAddMaxTorqueEntry" + Me.btAddMaxTorqueEntry.Size = New System.Drawing.Size(24, 24) + Me.btAddMaxTorqueEntry.TabIndex = 4 + Me.btAddMaxTorqueEntry.UseVisualStyleBackColor = true + ' 'Label17 ' Me.Label17.AutoSize = true @@ -1510,21 +1588,12 @@ Partial Class VehicleForm Me.btDelMaxTorqueEntry.TabIndex = 5 Me.btDelMaxTorqueEntry.UseVisualStyleBackColor = true ' - 'btAddMaxTorqueEntry - ' - Me.btAddMaxTorqueEntry.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon - Me.btAddMaxTorqueEntry.Location = New System.Drawing.Point(6, 127) - Me.btAddMaxTorqueEntry.Name = "btAddMaxTorqueEntry" - Me.btAddMaxTorqueEntry.Size = New System.Drawing.Size(24, 24) - Me.btAddMaxTorqueEntry.TabIndex = 4 - Me.btAddMaxTorqueEntry.UseVisualStyleBackColor = true - ' 'tpADAS ' Me.tpADAS.Controls.Add(Me.GroupBox5) Me.tpADAS.Location = New System.Drawing.Point(4, 22) Me.tpADAS.Name = "tpADAS" - Me.tpADAS.Padding = New System.Windows.Forms.Padding(3, 3, 3, 3) + Me.tpADAS.Padding = New System.Windows.Forms.Padding(3) Me.tpADAS.Size = New System.Drawing.Size(579, 355) Me.tpADAS.TabIndex = 3 Me.tpADAS.Text = "ADAS" @@ -1628,72 +1697,15 @@ Partial Class VehicleForm Me.lblTitle.TabIndex = 43 Me.lblTitle.Text = "Vehicle TITLE" ' - 'bgVehicleTorqueLimits - ' - Me.bgVehicleTorqueLimits.Controls.Add(Me.lvTorqueLimits) - Me.bgVehicleTorqueLimits.Controls.Add(Me.btAddMaxTorqueEntry) - Me.bgVehicleTorqueLimits.Controls.Add(Me.Label17) - Me.bgVehicleTorqueLimits.Controls.Add(Me.btDelMaxTorqueEntry) - Me.bgVehicleTorqueLimits.Location = New System.Drawing.Point(3, 9) - Me.bgVehicleTorqueLimits.Name = "bgVehicleTorqueLimits" - Me.bgVehicleTorqueLimits.Size = New System.Drawing.Size(407, 163) - Me.bgVehicleTorqueLimits.TabIndex = 8 - Me.bgVehicleTorqueLimits.TabStop = false - Me.bgVehicleTorqueLimits.Text = "ICE Torque Limits" - ' - 'gbEMTorqueLimits - ' - Me.gbEMTorqueLimits.Controls.Add(Me.btnEmTorqueLimits) - Me.gbEMTorqueLimits.Controls.Add(Me.tbEmTorqueLimits) - Me.gbEMTorqueLimits.Location = New System.Drawing.Point(3, 178) - Me.gbEMTorqueLimits.Name = "gbEMTorqueLimits" - Me.gbEMTorqueLimits.Size = New System.Drawing.Size(407, 52) - Me.gbEMTorqueLimits.TabIndex = 9 - Me.gbEMTorqueLimits.TabStop = false - Me.gbEMTorqueLimits.Text = "Electric Machine Torque Limits" - ' - 'btnEmTorqueLimits - ' - Me.btnEmTorqueLimits.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon - Me.btnEmTorqueLimits.Location = New System.Drawing.Point(331, 17) - Me.btnEmTorqueLimits.Name = "btnEmTorqueLimits" - Me.btnEmTorqueLimits.Size = New System.Drawing.Size(24, 24) - Me.btnEmTorqueLimits.TabIndex = 16 - Me.btnEmTorqueLimits.UseVisualStyleBackColor = true - ' - 'tbEmTorqueLimits - ' - Me.tbEmTorqueLimits.Location = New System.Drawing.Point(6, 20) - Me.tbEmTorqueLimits.Name = "tbEmTorqueLimits" - Me.tbEmTorqueLimits.Size = New System.Drawing.Size(319, 20) - Me.tbEmTorqueLimits.TabIndex = 15 - ' - 'gbPropulsionTorque - ' - Me.gbPropulsionTorque.Controls.Add(Me.btnPropulsionTorqueLimit) - Me.gbPropulsionTorque.Controls.Add(Me.tbPropulsionTorqueLimit) - Me.gbPropulsionTorque.Location = New System.Drawing.Point(3, 236) - Me.gbPropulsionTorque.Name = "gbPropulsionTorque" - Me.gbPropulsionTorque.Size = New System.Drawing.Size(407, 52) - Me.gbPropulsionTorque.TabIndex = 17 - Me.gbPropulsionTorque.TabStop = false - Me.gbPropulsionTorque.Text = "Propulsion Torque Limit" - ' - 'btnPropulsionTorqueLimit - ' - Me.btnPropulsionTorqueLimit.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon - Me.btnPropulsionTorqueLimit.Location = New System.Drawing.Point(331, 17) - Me.btnPropulsionTorqueLimit.Name = "btnPropulsionTorqueLimit" - Me.btnPropulsionTorqueLimit.Size = New System.Drawing.Size(24, 24) - Me.btnPropulsionTorqueLimit.TabIndex = 16 - Me.btnPropulsionTorqueLimit.UseVisualStyleBackColor = true - ' - 'tbPropulsionTorqueLimit + 'btnEmADCLossMap ' - Me.tbPropulsionTorqueLimit.Location = New System.Drawing.Point(6, 20) - Me.tbPropulsionTorqueLimit.Name = "tbPropulsionTorqueLimit" - Me.tbPropulsionTorqueLimit.Size = New System.Drawing.Size(319, 20) - Me.tbPropulsionTorqueLimit.TabIndex = 15 + Me.btnEmADCLossMap.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles) + Me.btnEmADCLossMap.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon + Me.btnEmADCLossMap.Location = New System.Drawing.Point(533, 127) + Me.btnEmADCLossMap.Name = "btnEmADCLossMap" + Me.btnEmADCLossMap.Size = New System.Drawing.Size(24, 24) + Me.btnEmADCLossMap.TabIndex = 28 + Me.btnEmADCLossMap.UseVisualStyleBackColor = true ' 'VehicleForm ' @@ -1773,15 +1785,15 @@ Partial Class VehicleForm Me.pnElectricMotor.ResumeLayout(false) Me.pnElectricMotor.PerformLayout Me.tpTorqueLimits.ResumeLayout(false) + Me.gbPropulsionTorque.ResumeLayout(false) + Me.gbPropulsionTorque.PerformLayout + Me.gbEMTorqueLimits.ResumeLayout(false) + Me.gbEMTorqueLimits.PerformLayout + Me.bgVehicleTorqueLimits.ResumeLayout(false) + Me.bgVehicleTorqueLimits.PerformLayout Me.tpADAS.ResumeLayout(false) Me.GroupBox5.ResumeLayout(false) Me.GroupBox5.PerformLayout - Me.bgVehicleTorqueLimits.ResumeLayout(false) - Me.bgVehicleTorqueLimits.PerformLayout - Me.gbEMTorqueLimits.ResumeLayout(false) - Me.gbEMTorqueLimits.PerformLayout - Me.gbPropulsionTorque.ResumeLayout(false) - Me.gbPropulsionTorque.PerformLayout Me.ResumeLayout(false) Me.PerformLayout @@ -1908,8 +1920,8 @@ End Sub Friend WithEvents tpElectricComponents As TabPage Friend WithEvents gpElectricMotor As GroupBox Friend WithEvents gbBattery As GroupBox - Friend WithEvents tbEmEfficiency As TextBox - Friend WithEvents lblEmEfficiency As Label + Friend WithEvents tbEmADCLossMap As TextBox + Friend WithEvents lblEmADCLossmap As Label Friend WithEvents tbRatioEm As TextBox Friend WithEvents lblRatioEm As Label Friend WithEvents tbEmCount As TextBox @@ -1942,4 +1954,5 @@ End Sub Friend WithEvents gbPropulsionTorque As GroupBox Friend WithEvents btnPropulsionTorqueLimit As Button Friend WithEvents tbPropulsionTorqueLimit As TextBox + Friend WithEvents btnEmADCLossMap As Button End Class diff --git a/VECTO/GUI/VehicleForm.resx b/VECTO/GUI/VehicleForm.resx index 5e567b01ea761ca564e4363b220e171c4f43893a..ab8c10a72dc5c6c7b48c097a5091cb159d692526 100644 --- a/VECTO/GUI/VehicleForm.resx +++ b/VECTO/GUI/VehicleForm.resx @@ -129,6 +129,9 @@ <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>376, 21</value> </metadata> + <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>376, 21</value> + </metadata> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <data name="btnBrowseBattery.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> diff --git a/VECTO/GUI/VehicleForm.vb b/VECTO/GUI/VehicleForm.vb index b34010af2511385f2d73bdf7347f8692789e511b..64cf317593eb9d3e8de51d7db53e1b756affb716 100644 --- a/VECTO/GUI/VehicleForm.vb +++ b/VECTO/GUI/VehicleForm.vb @@ -468,7 +468,8 @@ Public Class VehicleForm Dim em As ElectricMachineEntry(Of IElectricMotorEngineeringInputData) = vehicle.Components.ElectricMachines.Entries.First() tbElectricMotor.Text = GetRelativePath(em.ElectricMachine.DataSource.SourceFile, basePath) tbEmCount.Text = em.Count.ToGUIFormat() - tbEmEfficiency.Text = em.MechanicalEfficiency.ToGUIFormat() + tbEmADCLossMap.Text = If(em.MechanicalTransmissionLossMap Is Nothing, em.MechanicalTransmissionEfficiency.ToGUIFormat(), + GetRelativePath(em.MechanicalTransmissionLossMap.Source, basePath)) tbRatioEm.Text = em.Ratio.ToGUIFormat() cbEmPos.SelectedValue = em.Position End If @@ -614,7 +615,8 @@ Public Class VehicleForm veh.ElectricMotorPosition = CType(cbEmPos.SelectedValue, PowertrainPosition) veh.ElectricMotorCount = tbEmCount.Text.ToInt() veh.ElectricMotorRatio = tbRatioEm.Text.ToDouble() - veh.ElectricMotorMechEff = tbEmEfficiency.Text.ToDouble() + 'veh.ElectricMotorMechEff = tbEmADCLossMap.Text.ToDouble() + veh.ElectricMotorMechLossMap.Init(GetPath(file), tbEmADCLossMap.Text) End If If (VehicleType = VectoSimulationJobType.ParallelHybridVehicle) AndAlso not String.IsNullOrWhiteSpace(tbEmTorqueLimits.Text) Then @@ -1144,5 +1146,11 @@ Public Class VehicleForm tbPropulsionTorqueLimit.Text = GetFilenameWithoutDirectory(PropulsionTorqueLimitFileBrowser.Files(0), GetPath(_vehFile)) End Sub + + Private Sub btnEmADCLossMap_Click(sender As Object, e As EventArgs) Handles btnEmADCLossMap.Click + If EmADCLossMapFileBrowser.OpenDialog(FileRepl(tbEmADCLossMap.Text, GetPath(_vehFile))) Then _ + tbEmADCLossMap.Text = GetFilenameWithoutDirectory(EmADCLossMapFileBrowser.Files(0), GetPath(_vehFile)) + + End Sub End Class diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb index f315aec60aaae4d9cd8be7f11cdfb75f9cdae2b5..2f9a4a6f8f523a1464a6c9e86d80d90861bbe455 100644 --- a/VECTO/Input Files/Vehicle.vb +++ b/VECTO/Input Files/Vehicle.vb @@ -85,7 +85,8 @@ Public Class Vehicle Public ElectricMotorPosition As PowertrainPosition Public ElectricMotorCount As Integer Public ElectricMotorRatio As Double - Public ElectricMotorMechEff As Double + 'Public ElectricMotorMechEff As Double + Public ElectricMotorMechLossMap As SubPath Public Sub New() _path = "" @@ -103,6 +104,7 @@ Public Class Vehicle PtoCycle = New SubPath() BatteryFile = New SubPath() ElectricMotorFile = New SubPath() + ElectricMotorMechLossMap = new SubPath() SetDefault() End Sub @@ -224,6 +226,9 @@ Public Class Vehicle MassMax = 0 AxleConfiguration = AxleConfiguration.AxleConfig_4x2 + ElectricMotorFile.Clear() + ElectricMotorMechLossMap.Clear() + SavedInDeclMode = False End Sub @@ -935,7 +940,11 @@ Public Class ElectricMachineWrapper Return New List(Of ElectricMachineEntry(Of IElectricMotorDeclarationInputData))(New ElectricMachineEntry(Of IElectricMotorDeclarationInputData)() { New ElectricMachineEntry(Of IElectricMotorDeclarationInputData) With { .ElectricMachine = Me, - .MechanicalEfficiency = Vehicle.ElectricMotorMechEff, .Position = Vehicle.ElectricMotorPosition, .Ratio = Vehicle.ElectricMotorRatio, .Count = Vehicle.ElectricMotorCount}}) + .MechanicalTransmissionEfficiency = If(IsNumeric(Vehicle.ElectricMotorMechLossMap.OriginalPath), Vehicle.ElectricMotorMechLossMap.OriginalPath.ToDouble(), double.NaN), + .MechanicalTransmissionLossMap = VectoCSVFile.Read(Vehicle.ElectricMotorMechLossMap.FullPath), + .Position = Vehicle.ElectricMotorPosition, + .Ratio = Vehicle.ElectricMotorRatio, + .Count = Vehicle.ElectricMotorCount}}) End Get End Property Public ReadOnly Property IElectricMachinesEngineeringInputData_Entries As IList(Of ElectricMachineEntry(Of IElectricMotorEngineeringInputData)) Implements IElectricMachinesEngineeringInputData.Entries @@ -943,7 +952,11 @@ Public Class ElectricMachineWrapper Return New List(Of ElectricMachineEntry(Of IElectricMotorEngineeringInputData))(New ElectricMachineEntry(Of IElectricMotorEngineeringInputData)() { New ElectricMachineEntry(Of IElectricMotorEngineeringInputData)() With { .ElectricMachine = Me, - .MechanicalEfficiency = Vehicle.ElectricMotorMechEff, .Position = Vehicle.ElectricMotorPosition, .Ratio = Vehicle.ElectricMotorRatio, .Count = Vehicle.ElectricMotorCount}}) + .MechanicalTransmissionEfficiency = If(IsNumeric(Vehicle.ElectricMotorMechLossMap.OriginalPath), Vehicle.ElectricMotorMechLossMap.OriginalPath.ToDouble(), double.NaN), + .MechanicalTransmissionLossMap = If(IsNumeric(Vehicle.ElectricMotorMechLossMap.OriginalPath), Nothing, VectoCSVFile.Read(Vehicle.ElectricMotorMechLossMap.FullPath)), + .Position = Vehicle.ElectricMotorPosition, + .Ratio = Vehicle.ElectricMotorRatio, + .Count = Vehicle.ElectricMotorCount}}) End Get End Property diff --git a/VECTO/MainModule.vb b/VECTO/MainModule.vb index d5e6d0f0350adcbb9902caa55ecee88d658d74ac..5f4544e9c2d8dbc9ad39e4794fb4ec931c98a99e 100644 --- a/VECTO/MainModule.vb +++ b/VECTO/MainModule.vb @@ -80,7 +80,7 @@ Module MainModule If (string.isnullOrempty(basePath)) Then Return filePath End If - If (Path.GetDirectoryName(filePath).StartsWith(basePath, StringComparison.OrdinalIgnoreCase)) Then + If (Path.GetDirectoryName(Path.GetFullPath(filePath)).StartsWith(basePath, StringComparison.OrdinalIgnoreCase)) Then Return Path.GetFullPath(filePath).Substring(basePath.Length + If(basePath.EndsWith("\"), 0, 1)) End If Return filePath diff --git a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs index a6cbc7b60bb5132ace23e856d305aae6902020f3..fdc5238eccb6c756dda3675ebd29c3e25aafeedd 100644 --- a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs +++ b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs @@ -63,7 +63,7 @@ public class JSONFileWriter : IOutputFileWriter return filePath; } - if (Path.GetDirectoryName(filePath).StartsWith(basePath, StringComparison.OrdinalIgnoreCase)) { + if (Path.GetDirectoryName(Path.GetFullPath(filePath)).StartsWith(basePath, StringComparison.OrdinalIgnoreCase)) { return Path.GetFullPath(filePath).Substring(basePath.Length + (basePath.EndsWith(@"\") ? 0 : 1)); } @@ -564,13 +564,23 @@ public class JSONFileWriter : IOutputFileWriter private Array GetElectricMotors(IVehicleEngineeringInputData vehicle, string basePath) { //var em = vehicle.Components.ElectricMachines.Entries.First(); - return vehicle.Components.ElectricMachines.Entries.Select(em =>new Dictionary<string, object>() { - {"Count", em.Count}, - {"Ratio", em.Ratio}, - {"MechanicalEfficiency", em.MechanicalTransmissionEfficiency}, - {"MechanicalTransmissionLossMap", GetRelativePath(em.MechanicalTransmissionLossMap.Source, basePath)}, - {"Position", em.Position.GetName()}, - {"MotorFile", GetRelativePath(em.ElectricMachine.DataSource.SourceFile, basePath)} + return vehicle.Components.ElectricMachines.Entries.Select(em => { + var d = new Dictionary<string, object>() { + { "Count", em.Count }, + { "Ratio", em.Ratio }, + { "Position", em.Position.GetName() }, + { "MotorFile", GetRelativePath(em.ElectricMachine.DataSource.SourceFile, basePath) } + }; + if (!double.IsNaN(em.MechanicalTransmissionEfficiency)) { + d["MechanicalEfficiency"] = em.MechanicalTransmissionEfficiency; + + } + + if (em.MechanicalTransmissionLossMap != null) { + d["MechanicalTransmissionLossMap"] = GetRelativePath(em.MechanicalTransmissionLossMap.Source, basePath); + + } + return d; }).ToArray(); }