diff --git a/VECTO3GUI2020/Properties/Version.cs b/VECTO3GUI2020/Properties/Version.cs index 5ade37d6792c11e1fe10c19042588155249b7bde..b22bfb599ce17cc49cd4efb7c928cc7f0d60331c 100644 --- a/VECTO3GUI2020/Properties/Version.cs +++ b/VECTO3GUI2020/Properties/Version.cs @@ -30,5 +30,5 @@ */ using System.Reflection; -[assembly: AssemblyVersion("0.1.0.1954")] -[assembly: AssemblyFileVersion("0.1.0.1954")] +[assembly: AssemblyVersion("0.1.0.2430")] +[assembly: AssemblyFileVersion("0.1.0.2430")] diff --git a/VectoCommon/VectoCommon/Models/PowertrainPosition.cs b/VectoCommon/VectoCommon/Models/PowertrainPosition.cs index 05d91d6aa7886a103f4557d62b1210b7087a93c2..4d3e806d6e5333a9d26a9561500b2504347ad814 100644 --- a/VectoCommon/VectoCommon/Models/PowertrainPosition.cs +++ b/VectoCommon/VectoCommon/Models/PowertrainPosition.cs @@ -110,6 +110,8 @@ namespace TUGraz.VectoCommon.InputData { case "Components_HEV-S3_LorryType": case "Components_HEV-S4_LorryType": case "Components_HEV-S2_PrimaryBusType": + case "Components_HEV-S3_PrimaryBusType": + case "Components_HEV-S4_PrimaryBusType": case "Components_PEV-E2_LorryType": case "Components_PEV-E3_LorryType": case "Components_PEV-E4_LorryType": diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs index b33fa35cdead6421bf6680446dc3c6dc6cedaeb6..0e24e0e762f8bf0107083571791cb6de4ecb8f9c 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs @@ -366,4 +366,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public XMLDeclarationPrimaryBusHEVS2ComponentDataProviderV210(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } } + + // --------------------------------------------------------------------------------------- + + public class XMLDeclarationPrimaryBusHEVS3ComponentDataProviderV210 : XMLDeclarationPrimaryBusHEVS2ComponentDataProviderV210 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; + public new const string XSD_TYPE = "Components_HEV-S3_PrimaryBusType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLDeclarationPrimaryBusHEVS3ComponentDataProviderV210(IXMLDeclarationVehicleData vehicle, + XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } + } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index d6db6eaf01e70a51be36d1050eb4366a45381565..b4b6f12d432e774e7929f55633a45aa6e35f815e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -1248,6 +1248,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public XMLDeclarationHEVSxPrimaryBusDataProviderV210(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { } + + #region Overrides of XMLDeclarationVehicleDataProviderV10 + + public override IList<ITorqueLimitInputData> TorqueLimits => + Components is XMLDeclarationPrimaryBusHEVS3ComponentDataProviderV210 + ? null : base.TorqueLimits; + + #endregion } // --------------------------------------------------------------------------------------- @@ -1297,7 +1305,4 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #endregion } - - // --------------------------------------------------------------------------------------- - } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs index f229a8b3395af4029ba06f798f9513c630b7922f..357e49ba34a9011094bb24b52a28cc479e0f7668 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs @@ -64,6 +64,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationPrimaryBusHEVS2ComponentDataProviderV210>() .Named(XMLDeclarationPrimaryBusHEVS2ComponentDataProviderV210.QUALIFIED_XSD_TYPE); + Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationPrimaryBusHEVS3ComponentDataProviderV210>() + .Named(XMLDeclarationPrimaryBusHEVS3ComponentDataProviderV210.QUALIFIED_XSD_TYPE); + Bind<IXMLComponentReader>().To<XMLComponentReaderV210_CompletedBus>().Named(XMLComponentReaderV210_CompletedBus.QUALIFIED_XSD_TYPE); Bind<IXMLComponentReader>().To<XMLComponentReaderV210_HEV_PxHeavyLorry>().Named(XMLComponentReaderV210_HEV_PxHeavyLorry.QUALIFIED_XSD_TYPE); @@ -74,6 +77,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules Bind<IXMLComponentReader>().To<XMLPrimaryBusHEVS2DeclarationComponentReaderV201>() .Named(XMLPrimaryBusHEVS2DeclarationComponentReaderV201.QUALIFIED_XSD_TYPE); + Bind<IXMLComponentReader>().To<XMLPrimaryBusHEVS3DeclarationComponentReaderV201>() + .Named(XMLPrimaryBusHEVS3DeclarationComponentReaderV201.QUALIFIED_XSD_TYPE); + Bind<IXMLComponentReader>().To<XMLHeavyLorryHEVS2DeclartionComponentReaderV201>().Named(XMLHeavyLorryHEVS2DeclartionComponentReaderV201.QUALIFIED_XSD_TYPE); Bind<IXMLComponentReader>().To<XMLHeavyLorryHEVS3DeclarationComponentReaderV201>().Named(XMLHeavyLorryHEVS3DeclarationComponentReaderV201.QUALIFIED_XSD_TYPE); diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs index b5b22b9f9c02db8d69ffb441c21f372a14803825..69830e79b7ef1406fe1716966ccebef484fc1181 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs @@ -305,8 +305,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl var electricMachine = Factory.CreateElectricMachinesData(version, Vehicle, componentNode, sourcefile); electricMachine.ElectricMachineSystemReader = Factory.CreateElectricMotorReader(version, Vehicle, componentNode, sourcefile); - - //electricMachine.ADCReader = Factory.CreateADCReader(version, Vehicle, componentNode, sourcefile); return electricMachine; } @@ -660,9 +658,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl protected IBusAuxiliariesDeclarationData _busAuxInputData; public XMLPrimaryBusHEVPxDeclarationComponentReaderV201(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode) - : base(vehicle, componentsNode) - { - } + : base(vehicle, componentsNode) { } public override IAuxiliariesDeclarationInputData AuxiliaryData => null; @@ -687,9 +683,30 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public XMLPrimaryBusHEVS2DeclarationComponentReaderV201(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode) : base(vehicle, componentsNode) { } } + + // --------------------------------------------------------------------------------------- + + public class XMLPrimaryBusHEVS3DeclarationComponentReaderV201 : XMLPrimaryBusHEVPxDeclarationComponentReaderV201 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; + public new const string XSD_TYPE = "Components_HEV-S3_PrimaryBusType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLPrimaryBusHEVS3DeclarationComponentReaderV201(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode) + : base(vehicle, componentsNode) { } + + #region Overrides of XMLComponentReaderV10 + + public override IGearboxDeclarationInputData GearboxInputData => null; + public override ITorqueConverterDeclarationInputData TorqueConverterInputData => null; + public override IAngledriveInputData AngledriveInputData => null; + #endregion + } + // --------------------------------------------------------------------------------------- + public class XMLHeavyLorryHEVS2DeclartionComponentReaderV201 : XMLComponentReaderV10 { public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs index 1b04b2fc564a89962e4587e2be95b67196b093cd..975563d1ece52965f8eb99183371d029ae147876 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs @@ -667,7 +667,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase(@"HeavyLorry\HEV-S_heavyLorry_S3.xml")] - public void TestHeavyLorryS3(string jobfile) + public void TestHEVHeavyLorryS3(string jobfile) { var filename = Path.Combine(BASE_DIR, jobfile); var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); @@ -700,7 +700,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase(@"HeavyLorry\HEV-S_heavyLorry_S4.xml")] - public void TestHeavyLorryS4(string jobfile) + public void TestHEVHeavyLorryS4(string jobfile) { var filename = Path.Combine(BASE_DIR, jobfile); var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); @@ -732,7 +732,7 @@ namespace TUGraz.VectoCore.Tests.XML } [TestCase(@"MediumLorry\HEV-S_mediumLorry_AMT_S2.xml")] - public void TestMediumLorryS2(string jobfile) + public void TestHEVMediumLorryS2(string jobfile) { var filename = Path.Combine(BASE_DIR, jobfile); var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); @@ -764,7 +764,7 @@ namespace TUGraz.VectoCore.Tests.XML } [TestCase(@"MediumLorry\HEV-S_mediumLorry_S3.xml")] - public void TestMediumLorryS3(string jobfile) + public void TestHEVMediumLorryS3(string jobfile) { var filename = Path.Combine(BASE_DIR, jobfile); var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); @@ -797,7 +797,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase(@"MediumLorry\HEV-S_mediumLorry_S4.xml")] - public void TestMediumLorryS4(string jobfile) + public void TestHEVMediumLorryS4(string jobfile) { var filename = Path.Combine(BASE_DIR, jobfile); var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); @@ -829,7 +829,7 @@ namespace TUGraz.VectoCore.Tests.XML } [TestCase(@"PrimaryBus\HEV-S_primaryBus_AMT_S2.xml")] - public void TestPrimaryBusS2(string jobfile) + public void TestHEVPrimaryBusS2(string jobfile) { var filename = Path.Combine(BASE_DIR, jobfile); var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); @@ -860,6 +860,39 @@ namespace TUGraz.VectoCore.Tests.XML Assert.IsNull(vehicle.MaxPropulsionTorque); } + [TestCase(@"PrimaryBus\HEV-S_primaryBus_S3.xml")] + public void TestHEVPrimaryBusS3(string jobfile) + { + var filename = Path.Combine(BASE_DIR, jobfile); + var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); + + Assert.NotNull(dataProvider.JobInputData); + var vehicle = dataProvider.JobInputData.Vehicle; + Assert.NotNull(vehicle); + Assert.IsNotNull(vehicle.Components); + Assert.IsNotNull(vehicle.Components.EngineInputData); + Assert.IsNotNull(vehicle.Components.ElectricMachines); + Assert.AreEqual(2, vehicle.Components.ElectricMachines.Entries.Count); + Assert.AreEqual(PowertrainPosition.BatteryElectricE2, vehicle.Components.ElectricMachines.Entries[0].Position); + Assert.AreEqual(PowertrainPosition.GEN, vehicle.Components.ElectricMachines.Entries[1].Position); + Assert.IsNull(vehicle.Components.GearboxInputData); + Assert.IsNull(vehicle.Components.TorqueConverterInputData); + Assert.IsNull(vehicle.Components.AngledriveInputData); + Assert.IsNotNull(vehicle.Components.RetarderInputData); + Assert.IsNotNull(vehicle.Components.AxleGearInputData); + Assert.IsNotNull(vehicle.Components.AxleWheels); + Assert.IsNull(vehicle.Components.AuxiliaryInputData); + Assert.IsNotNull(vehicle.Components.BusAuxiliaries); + Assert.IsNull(vehicle.Components.AirdragInputData); + Assert.IsNotNull(vehicle.Components.ElectricStorage); + Assert.IsNull(vehicle.Components.PTOTransmissionInputData); + Assert.IsNull(vehicle.CargoVolume); + Assert.IsNull(vehicle.TorqueLimits); + Assert.IsNotNull(vehicle.ElectricMotorTorqueLimits); + Assert.IsNull(vehicle.MaxPropulsionTorque); + } + + #region Test existence of torque converter private void TestTorqueConverter(IVehicleDeclarationInputData vehicle)