From ff7ab0f2dfd5a9df1e2d68f9d4e44d3517de25f4 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 22 Aug 2022 20:28:34 +0200 Subject: [PATCH] removing MaxChargingPower for PEV vehicles in MRF and CIF, adapt MRF and CIF writer: don't write charging power for PEV vehicles set OVC to true in the input provider for PEVs --- .../XMLDeclarationVehicleDataProvider.cs | 5 ++++ ...larationCompletedBusVehicleDataProvider.cs | 11 +++++--- ...eclarationHeavyLorryVehicleDataProvider.cs | 5 ++-- ...clarationMediumLorryVehicleDataProvider.cs | 5 ++++ ...eclarationPrimaryBusVehicleDataProvider.cs | 6 +++++ .../XMLDeclarationInputDataV24InjectModule.cs | 4 +-- .../CIFWriter/VehicleGroups.cs | 7 ----- .../PrimaryVehicleParameterGroup.cs | 3 --- .../Resources/XSD/VectoOutputCustomer.0.9.xsd | 26 +++---------------- .../XSD/VectoOutputManufacturer.0.9.xsd | 4 +-- 10 files changed, 35 insertions(+), 41 deletions(-) diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index bd3952c6ef..3b37daaa2b 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -704,6 +704,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public override VectoSimulationJobType VehicleType { get => VectoSimulationJobType.BatteryElectricVehicle; } + public override bool OvcHev => true; + public override string PowertrainPositionPrefix => "E"; } @@ -722,6 +724,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public XMLDeclarationMultistage_PEV_IEPC_PrimaryVehicleBusDataProviderV01(IXMLPrimaryVehicleBusJobInputData busJobData, XmlNode xmlNode, string sourceFile) : base(busJobData, xmlNode, sourceFile) { } public override VectoSimulationJobType VehicleType { get => VectoSimulationJobType.BatteryElectricVehicle; } + + public override bool OvcHev => true; + } // --------------------------------------------------------------------------------------- diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationCompletedBusVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationCompletedBusVehicleDataProvider.cs index 591861cd97..f1fbdf90a1 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationCompletedBusVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationCompletedBusVehicleDataProvider.cs @@ -209,14 +209,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider.v24 // --------------------------------------------------------------------------------------- - public class XMLDeclarationPeVompletedBusDataProviderV24 : AbstractXMLDeclarationCompletedBusDataProviderV24 + public class XMLDeclarationPEVCompletedBusDataProviderV24 : AbstractXMLDeclarationCompletedBusDataProviderV24 { public new const string XSD_TYPE = "Vehicle_PEV_CompletedBusDeclarationType"; public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); - public XMLDeclarationPeVompletedBusDataProviderV24(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { } + public XMLDeclarationPEVCompletedBusDataProviderV24(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { } + + public override bool OvcHev => true; + } // --------------------------------------------------------------------------------------- @@ -230,7 +233,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider.v24 public XMLDeclarationIepcCompletedBusDataProviderV24(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { } - public override bool HybridElectricHDV => true; + public override bool OvcHev => true; + + public override bool HybridElectricHDV => false; } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationHeavyLorryVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationHeavyLorryVehicleDataProvider.cs index 386fc46184..4b0bed4c08 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationHeavyLorryVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationHeavyLorryVehicleDataProvider.cs @@ -160,6 +160,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider.v24 public override CubicMeter CargoVolume => null; + public override bool OvcHev => true; + #endregion public override IList<ITorqueLimitInputData> TorqueLimits => null; @@ -188,8 +190,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider.v24 public override IList<ITorqueLimitInputData> TorqueLimits => null; - - + public override bool OvcHev => true; #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationMediumLorryVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationMediumLorryVehicleDataProvider.cs index e31c7547c9..643a30e3e6 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationMediumLorryVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationMediumLorryVehicleDataProvider.cs @@ -183,6 +183,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider.v24 public override IList<ITorqueLimitInputData> TorqueLimits => null; + public override bool OvcHev => true; + #endregion } @@ -213,6 +215,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider.v24 public override Kilogram GrossVehicleMassRating => GetDouble(XMLNames.TPMLM).SI<Kilogram>(); + public override bool OvcHev => true; + + #endregion } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationPrimaryBusVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationPrimaryBusVehicleDataProvider.cs index 909afc0e98..a4186e40a2 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationPrimaryBusVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/v24/XMLDeclarationPrimaryBusVehicleDataProvider.cs @@ -169,6 +169,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider.v24 #endregion + public override bool OvcHev => true; + + public override VectoSimulationJobType VehicleType => VectoSimulationJobType.BatteryElectricVehicle; } @@ -194,6 +197,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider.v24 public override VectoSimulationJobType VehicleType => VectoSimulationJobType.BatteryElectricVehicle; #endregion + + public override bool OvcHev => true; + } // --------------------------------------------------------------------------------------- diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV24InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV24InjectModule.cs index ee30672666..4a05a67e5e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV24InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV24InjectModule.cs @@ -21,8 +21,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules .Named(XMLDeclarationConventionalCompletedBusDataProviderV24.QUALIFIED_XSD_TYPE); Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationHevCompletedBusDataProviderV24>() .Named(XMLDeclarationHevCompletedBusDataProviderV24.QUALIFIED_XSD_TYPE); - Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationPeVompletedBusDataProviderV24>() - .Named(XMLDeclarationPeVompletedBusDataProviderV24.QUALIFIED_XSD_TYPE); + Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationPEVCompletedBusDataProviderV24>() + .Named(XMLDeclarationPEVCompletedBusDataProviderV24.QUALIFIED_XSD_TYPE); Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationIepcCompletedBusDataProviderV24>() .Named(XMLDeclarationIepcCompletedBusDataProviderV24.QUALIFIED_XSD_TYPE); diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleGroups.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleGroups.cs index 24db8643b3..bc6a2f73f5 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleGroups.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleGroups.cs @@ -219,10 +219,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation new XElement(_cif + "PEVArchitecture", vehicle.ArchitectureID.GetLabel()), new XElement(_cif + "OffVehicleChargingCapability", ovCc) }); - if (ovCc) - { - result.Add(new XElement(_cif + "OffVehicleChargingMaxPower", vehicle.MaxChargingPower.ValueAsUnit("kW", 1))); - } return result; } @@ -277,9 +273,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation new XElement(_cif + "PEVArchitecture", multistep.JobInputData.PrimaryVehicle.Vehicle.ArchitectureID.GetLabel()), new XElement(_cif + "OffVehicleChargingCapability", ovCc) }); - if (ovCc) { - result.Add(new XElement(_cif + "OffVehicleChargingMaxPower", multistep.JobInputData.PrimaryVehicle.Vehicle.MaxChargingPower.ValueAsUnit("kW", 1))); - } return result; } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryVehicleParameterGroup.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryVehicleParameterGroup.cs index 50e17b93cd..0fae518bb6 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryVehicleParameterGroup.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/PrimaryVehicleParameterGroup.cs @@ -94,9 +94,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF var result = new List<XElement> { new XElement(_vif + XMLNames.Vehicle_OvcHev, vehicle.OvcHev), - vehicle.OvcHev - ? new XElement(_vif + XMLNames.Vehicle_MaxChargingPower, vehicle.MaxChargingPower.ToXMLFormat(0)) - : null, }; return result; } diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd index 8e51374ade..0b375190eb 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> +<!-- edited with XMLSpy v2021 (x64) (http://www.altova.com) by Markus Quaritsch (Technische Universität Graz) --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.9" xmlns:out="urn:tugraz:ivt:VectoAPI:DeclarationOutputDefinitions" xmlns:mrf="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.9" xmlns:dd="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.3" xmlns:v2.4="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4" targetNamespace="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.9" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.0.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" schemaLocation="VectoDeclarationDefinitions.2.0.xsd"/> @@ -922,7 +922,7 @@ <xs:group name="HEV_VehicleSequenceGroup"> <xs:sequence> <xs:group ref="WHR_DualFuelSequenceGroup"/> - <xs:element name="HEVArchitecture"/> + <xs:element name="HEVArchitecture" type="xs:string"/> <xs:element name="OffVehicleChargingCapability" type="xs:boolean"/> <xs:element name="OffVehicleChargingMaxPower" minOccurs="0"> <xs:complexType> @@ -937,17 +937,8 @@ </xs:group> <xs:group name="PEV_VehicleSequenceGroup"> <xs:sequence> - <xs:element name="PEVArchitecture"/> - <xs:element name="OffVehicleChargingCapability"/> - <xs:element name="OffVehicleChargingMaxPower" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:double"> - <xs:attribute name="unit" type="PowerUnitType" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> + <xs:element name="PEVArchitecture" type="xs:string"/> + <xs:element name="OffVehicleChargingCapability" type="xs:boolean"/> </xs:sequence> </xs:group> <xs:group name="HEV_LorryVehicleTypeGroup"> @@ -2071,15 +2062,6 @@ <xs:sequence> <xs:element name="PEVArchitecture" type="xs:string"/> <xs:element name="OffVehicleChargingCapability" type="xs:boolean"/> - <xs:element name="OffVehicleChargingMaxPower" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:double"> - <xs:attribute name="unit" type="PowerUnitType" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> </xs:sequence> </xs:group> <xs:complexType name="Abstract_Conventional_CompltededBusVehicleType" abstract="true"/> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.9.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.9.xsd index f839cdb6a5..80dbde5fba 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.9.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.9.xsd @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> +<!-- edited with XMLSpy v2021 (x64) (http://www.altova.com) by Markus Quaritsch (Technische Universität Graz) --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mrf="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.9" xmlns:out="urn:tugraz:ivt:VectoAPI:DeclarationOutputDefinitions" xmlns:dd="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.3" xmlns:v2.4="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.9" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- Imports_______________________________________________ --> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.0.xsd"/> @@ -889,7 +889,7 @@ <xs:group name="PEVVehicleSequenceGroup"> <xs:sequence> <xs:element name="PEVArchitecture" type="v2.4:ArchitectureIDType"/> - <xs:group ref="mrf:OffVehicleChargingGroup"/> + <xs:element name="OffVehicleChargingCapability" type="xs:boolean"/> <xs:element name="ADAS" type="mrf:PEVADASType"/> <xs:element name="BoostingLimitations" type="mrf:BoostingLimitationsType" minOccurs="0"/> </xs:sequence> -- GitLab