From c81d29c41393d7a8a6b475d1ea64bdfda673ee8d Mon Sep 17 00:00:00 2001 From: "VKMTHD\\franzjosefkober" <franz.josef.kober@ivt.tugraz.at> Date: Thu, 16 Sep 2021 17:50:00 +0200 Subject: [PATCH] added vehicle data test for HEV Heavy Lorry Px, and added ArchitectureID, OvcHev MaxChargingPower to IVehicleDeclarationInputData interface --- VECTO/Input Files/Engine.vb | 3 + VECTO/Input Files/Gearbox.vb | 3 + VECTO/Input Files/MockVehicleInputData.vb | 3 + VECTO/Input Files/Vehicle.vb | 3 + .../InputData/DeclarationInputData.cs | 74 ++++++++++++++++++- .../Resources/XMLNames.Designer.cs | 27 +++++++ .../VectoCommon/Resources/XMLNames.resx | 9 +++ .../FileIO/JSON/JSONComponentInputData.cs | 3 + .../InputData/FileIO/JSON/JSONVehicleData.cs | 3 + .../XMLDeclarationVehicleDataProvider.cs | 6 ++ .../XMLDeclarationMultistageInputReader.cs | 3 + .../XMLEngineeringVehicleDataProvider.cs | 3 + .../HEV_heavyLorry_AMT_Px_n_opt.xml | 2 +- .../Utils/MockDeclarationVehicleInputData.cs | 6 ++ .../XMLDeclarationInputv210VehicleDataTest.cs | 27 +++++++ 15 files changed, 173 insertions(+), 2 deletions(-) diff --git a/VECTO/Input Files/Engine.vb b/VECTO/Input Files/Engine.vb index c5ac2f886b..886b7ec8b0 100644 --- a/VECTO/Input Files/Engine.vb +++ b/VECTO/Input Files/Engine.vb @@ -682,6 +682,9 @@ Public Class DummyVehicle Public ReadOnly Property XMLSource As XmlNode Implements IVehicleDeclarationInputData.XMLSource Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber + Public ReadOnly Property ArchitectureID As ArchitectureID Implements IVehicleDeclarationInputData.ArchitectureID + Public ReadOnly Property OvcHev As Boolean Implements IVehicleDeclarationInputData.OvcHev + Public ReadOnly Property MaxChargingPower As Watt Implements IVehicleDeclarationInputData.MaxChargingPower Public Property AirdragInputData As IAirdragDeclarationInputData Implements IVehicleComponentsDeclaration.AirdragInputData Public Property IVehicleComponentsEngineering_GearboxInputData As IGearboxEngineeringInputData Implements IVehicleComponentsEngineering.GearboxInputData diff --git a/VECTO/Input Files/Gearbox.vb b/VECTO/Input Files/Gearbox.vb index c4a6286c1b..05318379f4 100644 --- a/VECTO/Input Files/Gearbox.vb +++ b/VECTO/Input Files/Gearbox.vb @@ -880,6 +880,9 @@ Public Class MockEngineeringVehicle Public Property Components As IVehicleComponentsDeclaration Implements IVehicleDeclarationInputData.Components Public ReadOnly Property XMLSource As XmlNode Implements IVehicleDeclarationInputData.XMLSource Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber + Public ReadOnly Property ArchitectureID As ArchitectureID Implements IVehicleDeclarationInputData.ArchitectureID + Public ReadOnly Property OvcHev As Boolean Implements IVehicleDeclarationInputData.OvcHev + Public ReadOnly Property MaxChargingPower As Watt Implements IVehicleDeclarationInputData.MaxChargingPower Public Property AirdragInputData As IAirdragEngineeringInputData _ Implements IVehicleComponentsEngineering.AirdragInputData diff --git a/VECTO/Input Files/MockVehicleInputData.vb b/VECTO/Input Files/MockVehicleInputData.vb index 23a25e9959..f945eac9d1 100644 --- a/VECTO/Input Files/MockVehicleInputData.vb +++ b/VECTO/Input Files/MockVehicleInputData.vb @@ -61,4 +61,7 @@ Public Class MockVehicleInputData Public Property Components As IVehicleComponentsDeclaration Implements IVehicleDeclarationInputData.Components Public ReadOnly Property XMLSource As XmlNode Implements IVehicleDeclarationInputData.XMLSource Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber + Public ReadOnly Property ArchitectureID As ArchitectureID Implements IVehicleDeclarationInputData.ArchitectureID + Public ReadOnly Property OvcHev As Boolean Implements IVehicleDeclarationInputData.OvcHev + Public ReadOnly Property MaxChargingPower As Watt Implements IVehicleDeclarationInputData.MaxChargingPower End Class \ No newline at end of file diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb index 16b62dd115..5b4ca58aa8 100644 --- a/VECTO/Input Files/Vehicle.vb +++ b/VECTO/Input Files/Vehicle.vb @@ -907,6 +907,9 @@ end Property Public ReadOnly Property XMLSource As XmlNode Implements IAdvancedDriverAssistantSystemDeclarationInputData.XMLSource Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber + Public ReadOnly Property ArchitectureID As ArchitectureID Implements IVehicleDeclarationInputData.ArchitectureID + Public ReadOnly Property OvcHev As Boolean Implements IVehicleDeclarationInputData.OvcHev + Public ReadOnly Property MaxChargingPower As Watt Implements IVehicleDeclarationInputData.MaxChargingPower Public ReadOnly Property IAdvancedDriverAssistantSystemsEngineering_DataSource As DataSource Implements IAdvancedDriverAssistantSystemsEngineering.DataSource Get diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index 52ce9c2da6..bffcadb44a 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -208,6 +208,13 @@ namespace TUGraz.VectoCommon.InputData XmlNode XMLSource { get; } string VehicleTypeApprovalNumber { get; } + + ArchitectureID ArchitectureID { get; } + + bool OvcHev { get; } + + Watt MaxChargingPower { get; } + } public interface IVehicleComponentsDeclaration @@ -1179,4 +1186,69 @@ namespace TUGraz.VectoCommon.InputData return nameof(type); } } -} \ No newline at end of file + + public enum ArchitectureID + { + E2, + E3, + E4, + E_IEPC, + P1, + P2, + P2_5, + P3, + P4, + S2, + S3, + S4, + S_IEPC + } + + + public static class ArchitectureIDHelper + { + private const string E_IEPC_ID = "E-IEPC"; + private const string P2_5_ID = "P2.5"; + private const string S_IEPC_ID = "S-IEPC"; + + public static ArchitectureID Parse(string parse) + { + switch (parse) + { + case nameof(ArchitectureID.E2): + case nameof(ArchitectureID.E3): + case nameof(ArchitectureID.E4): + case nameof(ArchitectureID.P1): + case nameof(ArchitectureID.P2): + case nameof(ArchitectureID.P3): + case nameof(ArchitectureID.P4): + case nameof(ArchitectureID.S2): + case nameof(ArchitectureID.S3): + case nameof(ArchitectureID.S4): + return parse.ParseEnum<ArchitectureID>(); + case E_IEPC_ID: + return ArchitectureID.E_IEPC; + case P2_5_ID: + return ArchitectureID.P2_5; + case S_IEPC_ID: + return ArchitectureID.S_IEPC; + default: + throw new ArgumentOutOfRangeException($"{nameof(ArchitectureID)}"); + } + } + + public static string GetLabel(this ArchitectureID type) + { + switch (type) { + case ArchitectureID.E_IEPC: + return E_IEPC_ID; + case ArchitectureID.P2_5: + return P2_5_ID; + case ArchitectureID.S_IEPC: + return S_IEPC_ID; + default: + return type.ToString(); + } + } + } +} diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs index 482497b4ac..14cf56c23a 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs +++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs @@ -4668,6 +4668,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to ArchitectureID. + /// </summary> + public static string Vehicle_ArchitectureID { + get { + return ResourceManager.GetString("Vehicle_ArchitectureID", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to Articulated. /// </summary> @@ -4893,6 +4902,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to MaxChargingPower. + /// </summary> + public static string Vehicle_MaxChargingPower { + get { + return ResourceManager.GetString("Vehicle_MaxChargingPower", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to MaxNetPower1. /// </summary> @@ -4920,6 +4938,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to OvcHev. + /// </summary> + public static string Vehicle_OvcHev { + get { + return ResourceManager.GetString("Vehicle_OvcHev", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to PTO. /// </summary> diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx index f23a1e9b5b..1893847bfd 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.resx +++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx @@ -1836,4 +1836,13 @@ <data name="Vehicle_TypeApprovalNumber" xml:space="preserve"> <value>VehicleTypeApprovalNumber</value> </data> + <data name="Vehicle_ArchitectureID" xml:space="preserve"> + <value>ArchitectureID</value> + </data> + <data name="Vehicle_MaxChargingPower" xml:space="preserve"> + <value>MaxChargingPower</value> + </data> + <data name="Vehicle_OvcHev" xml:space="preserve"> + <value>OvcHev</value> + </data> </root> \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs index 9404bd0661..a5b08523ab 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs @@ -243,6 +243,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public XmlNode XMLSource => null; public string VehicleTypeApprovalNumber { get; } + public ArchitectureID ArchitectureID { get; } + public bool OvcHev { get; } + public Watt MaxChargingPower { get; } public Meter Length => VehicleData.Length; diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs index 6d2e596597..e06f82a2f5 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs @@ -295,6 +295,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON XmlNode IVehicleDeclarationInputData.XMLSource => null; public virtual string VehicleTypeApprovalNumber { get; } + public ArchitectureID ArchitectureID { get; } + public bool OvcHev { get; } + public Watt MaxChargingPower { get; } public GearshiftPosition PTO_DriveGear => Body["GearDuringPTODrive"] != null ? new GearshiftPosition(Body["GearDuringPTODrive"].Value<uint>()) : null; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index 0ce478497a..a179eb9882 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -245,6 +245,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public virtual IVehicleComponentsDeclaration Components => _components ?? (_components = ComponentReader.ComponentInputData); public virtual string VehicleTypeApprovalNumber => GetString(XMLNames.Vehicle_TypeApprovalNumber); + public virtual ArchitectureID ArchitectureID => ArchitectureIDHelper.Parse(GetString(XMLNames.Vehicle_ArchitectureID)); + public virtual bool OvcHev => GetBool(XMLNames.Vehicle_OvcHev); + public virtual Watt MaxChargingPower => XmlConvert.ToInt32(GetString(XMLNames.Vehicle_MaxChargingPower)).SI<Watt>(); #region Implementation of IAdvancedDriverAssistantSystemDeclarationInputData @@ -711,6 +714,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public virtual IVehicleComponentsDeclaration Components => _components ?? (_components = ComponentReader.ComponentInputData); public virtual string VehicleTypeApprovalNumber => null; + public ArchitectureID ArchitectureID { get; } + public bool OvcHev { get; } + public Watt MaxChargingPower { get; } #region Non seeded Properties diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs index 772dded679..7a9f597804 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs @@ -599,6 +599,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public XmlNode XMLSource { get; } public string VehicleTypeApprovalNumber { get; } + public ArchitectureID ArchitectureID { get; } + public bool OvcHev { get; } + public Watt MaxChargingPower { get; } #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs index fb44b35fd5..b33986b1fa 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs @@ -154,6 +154,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider IVehicleComponentsDeclaration IVehicleDeclarationInputData.Components => null; public string VehicleTypeApprovalNumber => null; + public ArchitectureID ArchitectureID { get; } + public bool OvcHev { get; } + public Watt MaxChargingPower { get; } IAdvancedDriverAssistantSystemDeclarationInputData IVehicleDeclarationInputData.ADAS => null; diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV_heavyLorry_AMT_Px_n_opt.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV_heavyLorry_AMT_Px_n_opt.xml index 124d2da4cb..2305c34641 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV_heavyLorry_AMT_Px_n_opt.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV_heavyLorry_AMT_Px_n_opt.xml @@ -1 +1 @@ -<?xml version="1.0" encoding="UTF-8"?> <tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.10.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1" xmlns:v2.10.2="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2"> <v2.0:Vehicle xsi:type="Vehicle_HEV-Px_HeavyLorryDeclarationType" id="a"> <Manufacturer>TU Graz</Manufacturer> <ManufacturerAddress>Inffeldgasse 19</ManufacturerAddress> <Model>HEV Heavy Lorry Px</Model> <VIN>1234</VIN> <Date>2017-01-01T00:00:00Z</Date> <LegislativeCategory>N3</LegislativeCategory> <ChassisConfiguration>Rigid Lorry</ChassisConfiguration> <AxleConfiguration>4x2</AxleConfiguration> <CorrectedActualMass>6000</CorrectedActualMass> <TechnicalPermissibleMaximumLadenMass>12000</TechnicalPermissibleMaximumLadenMass> <IdlingSpeed>650</IdlingSpeed> <RetarderType>None</RetarderType> <AngledriveType>None</AngledriveType> <PTO xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:PTOType"> <v2.0:PTOShaftsGearWheels>none</v2.0:PTOShaftsGearWheels> <v2.0:PTOOtherElements>none</v2.0:PTOOtherElements> </PTO> <ZeroEmissionVehicle>false</ZeroEmissionVehicle> <VocationalVehicle>false</VocationalVehicle> <SleeperCab>false</SleeperCab> <VehicleTypeApprovalNumber>ASDF</VehicleTypeApprovalNumber> <ArchitectureID>P2</ArchitectureID> <OvcHev>false</OvcHev> <ADAS xsi:type="ADAS_HEV_Type"> <v2.10.2:EngineStopStart>true</v2.10.2:EngineStopStart> <v2.10.2:PredictiveCruiseControl>1,2,3</v2.10.2:PredictiveCruiseControl> </ADAS> <Components xsi:type="Components_HEV-Px_LorryType"> <Engine> <v2.0:Data xsi:type="v1.0:EngineDataDeclarationType" id="ENG-gooZah3D" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0"> <Manufacturer>Generic Engine Manufacturer</Manufacturer> <Model>Generic 40t Long Haul Truck Engine</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-02-15T11:00:00Z</Date> <AppVersion>VectoEngine x.y</AppVersion> <Displacement>12730</Displacement> <IdlingSpeed>560</IdlingSpeed> <RatedSpeed>2200</RatedSpeed> <RatedPower>380000</RatedPower> <MaxEngineTorque>2300</MaxEngineTorque> <WHTCUrban>1.0097</WHTCUrban> <WHTCRural>1.0035</WHTCRural> <WHTCMotorway>1.0200</WHTCMotorway> <BFColdHot>1.0000</BFColdHot> <CFRegPer>1.0000</CFRegPer> <CFNCV>1.0000</CFNCV> <FuelType>NG</FuelType> <FuelConsumptionMap> <Entry engineSpeed="560.00" torque="-149.00" fuelConsumption="0.00"/> <Entry engineSpeed="560.00" torque="1180.00" fuelConsumption="12869.00"/> <Entry engineSpeed="2100.00" torque="-320.00" fuelConsumption="0.00"/> <Entry engineSpeed="2100.00" torque="1100.00" fuelConsumption="50653.00"/> </FuelConsumptionMap> <FullLoadAndDragCurve> <Entry engineSpeed="560.00" maxTorque="1180.00" dragTorque="-149.00"/> <Entry engineSpeed="1800.00" maxTorque="1800.00" dragTorque="-300.00"/> <Entry engineSpeed="2100.00" maxTorque="1100.00" dragTorque="-320.00"/> </FullLoadAndDragCurve> </v2.0:Data> <v2.0:Signature> <di:Reference> <di:DigestMethod Algorithm=""/> <di:DigestValue/> </di:Reference> </v2.0:Signature> </Engine> <ElectricMachine> <PowertrainPosition>2</PowertrainPosition> <Count>1</Count> <ElectricMachineSystem> <v2.10.1:Data xsi:type="v2.10.1:ElectricMachineSystemMeasuredDataDeclarationType" id="EM-1234" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1"> <Manufacturer>a</Manufacturer> <Model>a</Model> <CertificationNumber>token</CertificationNumber> <Date>2017-01-01T00:00:00Z</Date> <AppVersion>aaaaa</AppVersion> <ElectricMachineType>ASM</ElectricMachineType> <CertificationMethod>Measured</CertificationMethod> <R85RatedPower>1</R85RatedPower> <RotationalInertia>0.10</RotationalInertia> <ContinuousTorque>200.00</ContinuousTorque> <TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque> <OverloadTorque>400.00</OverloadTorque> <TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque> <OverloadDuration>30.00</OverloadDuration> <TestVoltageOverload>483</TestVoltageOverload> <DcDcConverterIncluded>true</DcDcConverterIncluded> <IHPCType>None</IHPCType> <VoltageLevel> <Voltage>400</Voltage> <MaxTorqueCurve> <Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/> <Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/> </MaxTorqueCurve> <PowerMap> <Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/> <Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/> <Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/> <Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/> </PowerMap> </VoltageLevel> <VoltageLevel> <Voltage>600</Voltage> <MaxTorqueCurve> <Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/> <Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/> </MaxTorqueCurve> <PowerMap> <Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/> <Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/> <Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/> <Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/> </PowerMap> </VoltageLevel> <DragCurve> <Entry outShaftSpeed="0.00" dragTorque="10.00"/> <Entry outShaftSpeed="4000.00" dragTorque="30.00"/> </DragCurve> <Conditioning circuitId="0"> <Entry coolantTempInlet="30" coolingPower="5000"/> </Conditioning> </v2.10.1:Data> <v2.10.1:Signature> <di:Reference> <di:DigestMethod Algorithm=""/> <di:DigestValue/> </di:Reference> </v2.10.1:Signature> </ElectricMachineSystem> <P2.5GearRatios><!-- only for P2.5 HEV --> <Ratio gear="1">1.000</Ratio> <Ratio gear="2">2.000</Ratio> </P2.5GearRatios> </ElectricMachine> <ElectricEnergyStorage> <Battery> <StringID>0</StringID> <REESS> <v2.10.2:Data id="BAT-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1"> <Manufacturer>a</Manufacturer> <Model>a</Model> <CertificationNumber>tokena</CertificationNumber> <Date>2017-01-01T00:00:00Z</Date> <AppVersion>aaaaa</AppVersion> <CertificationMethod>Measured</CertificationMethod> <BatteryType>HPBS</BatteryType> <RatedCapacity>72.00</RatedCapacity> <ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded> <JunctionboxIncluded>true</JunctionboxIncluded> <TestingTemperature>20</TestingTemperature> <OCV> <Entry SoC="0" OCV="620.00"/> <Entry SoC="100" OCV="640.00"/> </OCV> <InternalResistance> <Entry SoC="0" R_2="10.00" R_10="11.00" R_20="12.00"/> <Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/> </InternalResistance> <CurrentLimits> <Entry SoC="0" maxChargingCurrent="50.00" maxDischargingCurrent="0.00"/> <Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/> </CurrentLimits> </v2.10.2:Data> <Signature> <di:Reference> <di:DigestMethod Algorithm="asf"/> <di:DigestValue/> </di:Reference> </Signature> </REESS> <SOCmin>20</SOCmin> <SOCmax>80</SOCmax> </Battery> <Battery> <StringID>1</StringID> <REESS> <v2.10.2:Data id="BAT-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1"> <Manufacturer>b</Manufacturer> <Model>b</Model> <CertificationNumber>tokenb</CertificationNumber> <Date>2017-02-02T00:00:00Z</Date> <AppVersion>bbbbb</AppVersion> <CertificationMethod>Measured</CertificationMethod> <BatteryType>HPBS</BatteryType> <RatedCapacity>73.00</RatedCapacity> <ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded> <JunctionboxIncluded>true</JunctionboxIncluded> <TestingTemperature>20</TestingTemperature> <OCV> <Entry SoC="0" OCV="621.00"/> <Entry SoC="100" OCV="641.00"/> </OCV> <InternalResistance> <Entry SoC="0" R_2="11.00" R_10="12.00" R_20="13.00"/> <Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/> </InternalResistance> <CurrentLimits> <Entry SoC="0" maxChargingCurrent="51.00" maxDischargingCurrent="0.00"/> <Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/> </CurrentLimits> </v2.10.2:Data> <Signature> <di:Reference> <di:DigestMethod Algorithm="bsf"/> <di:DigestValue/> </di:Reference> </Signature> </REESS> </Battery> </ElectricEnergyStorage> <Gearbox> <v2.0:Data id="gbx-vi2Oak2N" xsi:type="v2.0:GearboxDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> <Model>Generic 40t Long Haul Truck Gearbox</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-01-11T11:00:00Z</Date> <AppVersion>3.0.1</AppVersion> <TransmissionType>AMT</TransmissionType> <MainCertificationMethod>Standard values</MainCertificationMethod> <Gears xsi:type="GearsDeclarationType"> <Gear number="1"> <Ratio>14.930</Ratio> <MaxTorque>1900</MaxTorque> <MaxSpeed>2000</MaxSpeed> <TorqueLossMap> <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> </TorqueLossMap> </Gear> <Gear number="2"> <Ratio>11.640</Ratio> <MaxTorque>1900</MaxTorque> <MaxSpeed>2000</MaxSpeed> <TorqueLossMap> <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> </TorqueLossMap> </Gear> </Gears> </v2.0:Data> <v2.0:Signature> <di:Reference URI="#gbx-vi2Oak2N"> <di:Transforms> <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </di:Transforms> <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <di:DigestValue>ieNmjofFObDBGnB7+GX9of3HYe3ydK/ra+YvmULVJIk=</di:DigestValue> </di:Reference> </v2.0:Signature> </Gearbox> <TorqueConverter><!-- optional --> <v2.0:Data xsi:type="v1.0:TorqueConverterDataDeclarationType" id="TQ-1234" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0"> <Manufacturer>Some Manufacturer</Manufacturer> <Model>Some Model</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-02-15T11:00:00Z</Date> <AppVersion>TC CalcApp 123</AppVersion> <CertificationMethod>Standard values</CertificationMethod> <Characteristics> <Entry speedRatio="0.0000" torqueRatio="1.00" inputTorqueRef="300.00"/> <Entry speedRatio="0.5000" torqueRatio="1.00" inputTorqueRef="200.00"/> <Entry speedRatio="0.9000" torqueRatio="0.90" inputTorqueRef="200.00"/> </Characteristics> </v2.0:Data> <v2.0:Signature> <di:Reference> <di:DigestMethod Algorithm=""></di:DigestMethod> <di:DigestValue></di:DigestValue> </di:Reference> </v2.0:Signature> </TorqueConverter> <Axlegear> <v2.0:Data id="AXL-EC3ohnoh" xsi:type="v2.0:AxlegearDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> <Model>Generic 40t Long Haul Truck AxleGear</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-01-11T11:00:00Z</Date> <AppVersion>3.0.1</AppVersion> <LineType>Single portal axle</LineType> <Ratio>2.590</Ratio> <CertificationMethod>Standard values</CertificationMethod> <TorqueLossMap> <Entry inputSpeed="0.00" inputTorque="-5000.00" torqueLoss="115.00"/> <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="40.00"/> <Entry inputSpeed="0.00" inputTorque="15000.00" torqueLoss="265.00"/> <Entry inputSpeed="2100.00" inputTorque="-5000.00" torqueLoss="115.00"/> <Entry inputSpeed="2100.00" inputTorque="0.00" torqueLoss="40.00"/> <Entry inputSpeed="2100.00" inputTorque="35000.00" torqueLoss="565.00"/> </TorqueLossMap> </v2.0:Data> <v2.0:Signature> <di:Reference URI="#AXL-EC3ohnoh"> <di:Transforms> <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </di:Transforms> <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <di:DigestValue>o4nYTajmWKaduxys5ShmnfJbYd23rpxZ01JbuG6dmzU=</di:DigestValue> </di:Reference> </v2.0:Signature> </Axlegear> <AxleWheels> <v2.0:Data xsi:type="v2.0:AxleWheelsDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> <Axles> <Axle axleNumber="1" xsi:type="AxleDataDeclarationType"> <AxleType>VehicleNonDriven</AxleType> <TwinTyres>false</TwinTyres> <Steered>true</Steered> <Tyre> <Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType"> <Manufacturer>Generic Wheels Manufacturer</Manufacturer> <Model>Generic Wheel</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-01-11T14:00:00Z</Date> <AppVersion>Tyre Generation App 1.0</AppVersion> <Dimension>315/70 R22.5</Dimension> <RRCDeclared>0.0055</RRCDeclared> <FzISO>31300</FzISO> </Data> <Signature> <di:Reference URI="#WHL-5432198760-315-70-R22.5"> <di:Transforms> <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </di:Transforms> <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <di:DigestValue>4TkUGQTX8tevHOU9Cj9uyCFuI/aqcEYlo/gyVjVQmv0=</di:DigestValue> </di:Reference> </Signature> </Tyre> </Axle> <Axle axleNumber="2" xsi:type="AxleDataDeclarationType"> <AxleType>VehicleDriven</AxleType> <TwinTyres>true</TwinTyres> <Steered>false</Steered> <Tyre> <Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType"> <Manufacturer>Generic Wheels Manufacturer</Manufacturer> <Model>Generic Wheel</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-01-11T14:00:00Z</Date> <AppVersion>Tyre Generation App 1.0</AppVersion> <Dimension>315/70 R22.5</Dimension> <RRCDeclared>0.0063</RRCDeclared> <FzISO>31300</FzISO> </Data> <Signature> <di:Reference URI="#WHL-5432198760-315-70-R22.5"> <di:Transforms> <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </di:Transforms> <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <di:DigestValue>KljvtvGUUQ/L7MiLVAqU+bckL5PNDNNwdeLH9kUVrfM=</di:DigestValue> </di:Reference> </Signature> </Tyre> </Axle> </Axles> </v2.0:Data> </AxleWheels> <Auxiliaries> <Data xsi:type="AUX_HEV-P_LorryDataType"> <Fan> <Technology>Hydraulic driven - Constant displacement pump</Technology> </Fan> <SteeringPump> <Technology axleNumber="1">Variable displacement elec. controlled</Technology> </SteeringPump> <ElectricSystem> <Technology>Standard technology - LED headlights, all</Technology> </ElectricSystem> <PneumaticSystem> <Technology>Medium Supply 2-stage</Technology> </PneumaticSystem> <HVAC> <Technology>Default</Technology> </HVAC> </Data> </Auxiliaries> </Components> </v2.0:Vehicle> </tns:VectoInputDeclaration> \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?> <tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.10.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1" xmlns:v2.10.2="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2"> <v2.0:Vehicle xsi:type="Vehicle_HEV-Px_HeavyLorryDeclarationType" id="a"> <Manufacturer>TU Graz</Manufacturer> <ManufacturerAddress>Inffeldgasse 19</ManufacturerAddress> <Model>HEV Heavy Lorry Px</Model> <VIN>1234</VIN> <Date>2017-01-01T00:00:00Z</Date> <LegislativeCategory>N3</LegislativeCategory> <ChassisConfiguration>Rigid Lorry</ChassisConfiguration> <AxleConfiguration>4x2</AxleConfiguration> <CorrectedActualMass>6000</CorrectedActualMass> <TechnicalPermissibleMaximumLadenMass>12000</TechnicalPermissibleMaximumLadenMass> <IdlingSpeed>650</IdlingSpeed> <RetarderType>None</RetarderType> <RetarderRatio>12.000</RetarderRatio> <AngledriveType>None</AngledriveType> <PTO xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:PTOType"> <v2.0:PTOShaftsGearWheels>none</v2.0:PTOShaftsGearWheels> <v2.0:PTOOtherElements>none</v2.0:PTOOtherElements> </PTO> <ZeroEmissionVehicle>false</ZeroEmissionVehicle> <VocationalVehicle>false</VocationalVehicle> <SleeperCab>false</SleeperCab> <VehicleTypeApprovalNumber>ASDF</VehicleTypeApprovalNumber> <ArchitectureID>P2.5</ArchitectureID> <OvcHev>false</OvcHev> <MaxChargingPower>11</MaxChargingPower> <ADAS xsi:type="ADAS_HEV_Type"> <v2.10.2:EngineStopStart>true</v2.10.2:EngineStopStart> <v2.10.2:PredictiveCruiseControl>1,2,3</v2.10.2:PredictiveCruiseControl> </ADAS> <Components xsi:type="Components_HEV-Px_LorryType"> <Engine> <v2.0:Data xsi:type="v1.0:EngineDataDeclarationType" id="ENG-gooZah3D" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0"> <Manufacturer>Generic Engine Manufacturer</Manufacturer> <Model>Generic 40t Long Haul Truck Engine</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-02-15T11:00:00Z</Date> <AppVersion>VectoEngine x.y</AppVersion> <Displacement>12730</Displacement> <IdlingSpeed>560</IdlingSpeed> <RatedSpeed>2200</RatedSpeed> <RatedPower>380000</RatedPower> <MaxEngineTorque>2300</MaxEngineTorque> <WHTCUrban>1.0097</WHTCUrban> <WHTCRural>1.0035</WHTCRural> <WHTCMotorway>1.0200</WHTCMotorway> <BFColdHot>1.0000</BFColdHot> <CFRegPer>1.0000</CFRegPer> <CFNCV>1.0000</CFNCV> <FuelType>NG</FuelType> <FuelConsumptionMap> <Entry engineSpeed="560.00" torque="-149.00" fuelConsumption="0.00"/> <Entry engineSpeed="560.00" torque="1180.00" fuelConsumption="12869.00"/> <Entry engineSpeed="2100.00" torque="-320.00" fuelConsumption="0.00"/> <Entry engineSpeed="2100.00" torque="1100.00" fuelConsumption="50653.00"/> </FuelConsumptionMap> <FullLoadAndDragCurve> <Entry engineSpeed="560.00" maxTorque="1180.00" dragTorque="-149.00"/> <Entry engineSpeed="1800.00" maxTorque="1800.00" dragTorque="-300.00"/> <Entry engineSpeed="2100.00" maxTorque="1100.00" dragTorque="-320.00"/> </FullLoadAndDragCurve> </v2.0:Data> <v2.0:Signature> <di:Reference> <di:DigestMethod Algorithm=""/> <di:DigestValue/> </di:Reference> </v2.0:Signature> </Engine> <ElectricMachine> <PowertrainPosition>2</PowertrainPosition> <Count>1</Count> <ElectricMachineSystem> <v2.10.1:Data xsi:type="v2.10.1:ElectricMachineSystemMeasuredDataDeclarationType" id="EM-1234" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1"> <Manufacturer>a</Manufacturer> <Model>a</Model> <CertificationNumber>token</CertificationNumber> <Date>2017-01-01T00:00:00Z</Date> <AppVersion>aaaaa</AppVersion> <ElectricMachineType>ASM</ElectricMachineType> <CertificationMethod>Measured</CertificationMethod> <R85RatedPower>1</R85RatedPower> <RotationalInertia>0.10</RotationalInertia> <ContinuousTorque>200.00</ContinuousTorque> <TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque> <OverloadTorque>400.00</OverloadTorque> <TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque> <OverloadDuration>30.00</OverloadDuration> <TestVoltageOverload>483</TestVoltageOverload> <DcDcConverterIncluded>true</DcDcConverterIncluded> <IHPCType>None</IHPCType> <VoltageLevel> <Voltage>400</Voltage> <MaxTorqueCurve> <Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/> <Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/> </MaxTorqueCurve> <PowerMap> <Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/> <Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/> <Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/> <Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/> </PowerMap> </VoltageLevel> <VoltageLevel> <Voltage>600</Voltage> <MaxTorqueCurve> <Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/> <Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/> </MaxTorqueCurve> <PowerMap> <Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/> <Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/> <Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/> <Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/> </PowerMap> </VoltageLevel> <DragCurve> <Entry outShaftSpeed="0.00" dragTorque="10.00"/> <Entry outShaftSpeed="4000.00" dragTorque="30.00"/> </DragCurve> <Conditioning circuitId="0"> <Entry coolantTempInlet="30" coolingPower="5000"/> </Conditioning> </v2.10.1:Data> <v2.10.1:Signature> <di:Reference> <di:DigestMethod Algorithm=""/> <di:DigestValue/> </di:Reference> </v2.10.1:Signature> </ElectricMachineSystem> <P2.5GearRatios><!-- only for P2.5 HEV --> <Ratio gear="1">1.000</Ratio> <Ratio gear="2">2.000</Ratio> </P2.5GearRatios> </ElectricMachine> <ElectricEnergyStorage> <Battery> <StringID>0</StringID> <REESS> <v2.10.2:Data id="BAT-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1"> <Manufacturer>a</Manufacturer> <Model>a</Model> <CertificationNumber>tokena</CertificationNumber> <Date>2017-01-01T00:00:00Z</Date> <AppVersion>aaaaa</AppVersion> <CertificationMethod>Measured</CertificationMethod> <BatteryType>HPBS</BatteryType> <RatedCapacity>72.00</RatedCapacity> <ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded> <JunctionboxIncluded>true</JunctionboxIncluded> <TestingTemperature>20</TestingTemperature> <OCV> <Entry SoC="0" OCV="620.00"/> <Entry SoC="100" OCV="640.00"/> </OCV> <InternalResistance> <Entry SoC="0" R_2="10.00" R_10="11.00" R_20="12.00"/> <Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/> </InternalResistance> <CurrentLimits> <Entry SoC="0" maxChargingCurrent="50.00" maxDischargingCurrent="0.00"/> <Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/> </CurrentLimits> </v2.10.2:Data> <Signature> <di:Reference> <di:DigestMethod Algorithm="asf"/> <di:DigestValue/> </di:Reference> </Signature> </REESS> <SOCmin>20</SOCmin> <SOCmax>80</SOCmax> </Battery> <Battery> <StringID>1</StringID> <REESS> <v2.10.2:Data id="BAT-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1"> <Manufacturer>b</Manufacturer> <Model>b</Model> <CertificationNumber>tokenb</CertificationNumber> <Date>2017-02-02T00:00:00Z</Date> <AppVersion>bbbbb</AppVersion> <CertificationMethod>Measured</CertificationMethod> <BatteryType>HPBS</BatteryType> <RatedCapacity>73.00</RatedCapacity> <ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded> <JunctionboxIncluded>true</JunctionboxIncluded> <TestingTemperature>20</TestingTemperature> <OCV> <Entry SoC="0" OCV="621.00"/> <Entry SoC="100" OCV="641.00"/> </OCV> <InternalResistance> <Entry SoC="0" R_2="11.00" R_10="12.00" R_20="13.00"/> <Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/> </InternalResistance> <CurrentLimits> <Entry SoC="0" maxChargingCurrent="51.00" maxDischargingCurrent="0.00"/> <Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/> </CurrentLimits> </v2.10.2:Data> <Signature> <di:Reference> <di:DigestMethod Algorithm="bsf"/> <di:DigestValue/> </di:Reference> </Signature> </REESS> </Battery> </ElectricEnergyStorage> <Gearbox> <v2.0:Data id="gbx-vi2Oak2N" xsi:type="v2.0:GearboxDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> <Model>Generic 40t Long Haul Truck Gearbox</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-01-11T11:00:00Z</Date> <AppVersion>3.0.1</AppVersion> <TransmissionType>AMT</TransmissionType> <MainCertificationMethod>Standard values</MainCertificationMethod> <Gears xsi:type="GearsDeclarationType"> <Gear number="1"> <Ratio>14.930</Ratio> <MaxTorque>1900</MaxTorque> <MaxSpeed>2000</MaxSpeed> <TorqueLossMap> <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> </TorqueLossMap> </Gear> <Gear number="2"> <Ratio>11.640</Ratio> <MaxTorque>1900</MaxTorque> <MaxSpeed>2000</MaxSpeed> <TorqueLossMap> <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> </TorqueLossMap> </Gear> </Gears> </v2.0:Data> <v2.0:Signature> <di:Reference URI="#gbx-vi2Oak2N"> <di:Transforms> <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </di:Transforms> <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <di:DigestValue>ieNmjofFObDBGnB7+GX9of3HYe3ydK/ra+YvmULVJIk=</di:DigestValue> </di:Reference> </v2.0:Signature> </Gearbox> <TorqueConverter><!-- optional --> <v2.0:Data xsi:type="v1.0:TorqueConverterDataDeclarationType" id="TQ-1234" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0"> <Manufacturer>Some Manufacturer</Manufacturer> <Model>Some Model</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-02-15T11:00:00Z</Date> <AppVersion>TC CalcApp 123</AppVersion> <CertificationMethod>Standard values</CertificationMethod> <Characteristics> <Entry speedRatio="0.0000" torqueRatio="1.00" inputTorqueRef="300.00"/> <Entry speedRatio="0.5000" torqueRatio="1.00" inputTorqueRef="200.00"/> <Entry speedRatio="0.9000" torqueRatio="0.90" inputTorqueRef="200.00"/> </Characteristics> </v2.0:Data> <v2.0:Signature> <di:Reference> <di:DigestMethod Algorithm=""></di:DigestMethod> <di:DigestValue></di:DigestValue> </di:Reference> </v2.0:Signature> </TorqueConverter> <Axlegear> <v2.0:Data id="AXL-EC3ohnoh" xsi:type="v2.0:AxlegearDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> <Model>Generic 40t Long Haul Truck AxleGear</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-01-11T11:00:00Z</Date> <AppVersion>3.0.1</AppVersion> <LineType>Single portal axle</LineType> <Ratio>2.590</Ratio> <CertificationMethod>Standard values</CertificationMethod> <TorqueLossMap> <Entry inputSpeed="0.00" inputTorque="-5000.00" torqueLoss="115.00"/> <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="40.00"/> <Entry inputSpeed="0.00" inputTorque="15000.00" torqueLoss="265.00"/> <Entry inputSpeed="2100.00" inputTorque="-5000.00" torqueLoss="115.00"/> <Entry inputSpeed="2100.00" inputTorque="0.00" torqueLoss="40.00"/> <Entry inputSpeed="2100.00" inputTorque="35000.00" torqueLoss="565.00"/> </TorqueLossMap> </v2.0:Data> <v2.0:Signature> <di:Reference URI="#AXL-EC3ohnoh"> <di:Transforms> <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </di:Transforms> <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <di:DigestValue>o4nYTajmWKaduxys5ShmnfJbYd23rpxZ01JbuG6dmzU=</di:DigestValue> </di:Reference> </v2.0:Signature> </Axlegear> <AxleWheels> <v2.0:Data xsi:type="v2.0:AxleWheelsDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> <Axles> <Axle axleNumber="1" xsi:type="AxleDataDeclarationType"> <AxleType>VehicleNonDriven</AxleType> <TwinTyres>false</TwinTyres> <Steered>true</Steered> <Tyre> <Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType"> <Manufacturer>Generic Wheels Manufacturer</Manufacturer> <Model>Generic Wheel</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-01-11T14:00:00Z</Date> <AppVersion>Tyre Generation App 1.0</AppVersion> <Dimension>315/70 R22.5</Dimension> <RRCDeclared>0.0055</RRCDeclared> <FzISO>31300</FzISO> </Data> <Signature> <di:Reference URI="#WHL-5432198760-315-70-R22.5"> <di:Transforms> <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </di:Transforms> <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <di:DigestValue>4TkUGQTX8tevHOU9Cj9uyCFuI/aqcEYlo/gyVjVQmv0=</di:DigestValue> </di:Reference> </Signature> </Tyre> </Axle> <Axle axleNumber="2" xsi:type="AxleDataDeclarationType"> <AxleType>VehicleDriven</AxleType> <TwinTyres>true</TwinTyres> <Steered>false</Steered> <Tyre> <Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType"> <Manufacturer>Generic Wheels Manufacturer</Manufacturer> <Model>Generic Wheel</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-01-11T14:00:00Z</Date> <AppVersion>Tyre Generation App 1.0</AppVersion> <Dimension>315/70 R22.5</Dimension> <RRCDeclared>0.0063</RRCDeclared> <FzISO>31300</FzISO> </Data> <Signature> <di:Reference URI="#WHL-5432198760-315-70-R22.5"> <di:Transforms> <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/> <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </di:Transforms> <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <di:DigestValue>KljvtvGUUQ/L7MiLVAqU+bckL5PNDNNwdeLH9kUVrfM=</di:DigestValue> </di:Reference> </Signature> </Tyre> </Axle> </Axles> </v2.0:Data> </AxleWheels> <Auxiliaries> <Data xsi:type="AUX_HEV-P_LorryDataType"> <Fan> <Technology>Hydraulic driven - Constant displacement pump</Technology> </Fan> <SteeringPump> <Technology axleNumber="1">Variable displacement elec. controlled</Technology> </SteeringPump> <ElectricSystem> <Technology>Standard technology - LED headlights, all</Technology> </ElectricSystem> <PneumaticSystem> <Technology>Medium Supply 2-stage</Technology> </PneumaticSystem> <HVAC> <Technology>Default</Technology> </HVAC> </Data> </Auxiliaries> </Components> </v2.0:Vehicle> </tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs index 55fd11c660..8a6b554596 100644 --- a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs +++ b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs @@ -68,6 +68,9 @@ namespace TUGraz.VectoCore.Tests.Utils { public IVehicleComponentsDeclaration Components => this; public XmlNode XMLSource { get; } public string VehicleTypeApprovalNumber { get; } + public ArchitectureID ArchitectureID { get; } + public bool OvcHev { get; } + public Watt MaxChargingPower { get; } #endregion @@ -139,6 +142,9 @@ namespace TUGraz.VectoCore.Tests.Utils { public XmlNode XMLSource { get; } public string VehicleTypeApprovalNumber { get; } + public ArchitectureID ArchitectureID { get; } + public bool OvcHev { get; } + public Watt MaxChargingPower { get; } public IVehicleComponentsEngineering Components => this; public string Identifier { get; } diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs index 175f6443c3..f238ba950c 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs @@ -96,5 +96,32 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual(AngledriveType.None, vehicle.AngledriveType); Assert.AreEqual(false, vehicle.ZeroEmissionVehicle); } + + + [TestCase(@"HEV_heavyLorry_AMT_Px_n_opt.xml", Optional_TESTS_DIR)] + public void TestHEVHeavyLorryPxVehicleData(string jobfile, string testDir) + { + var vehicle = ReadVehicleData(jobfile, testDir); + + Assert.NotNull(vehicle); + Assert.AreEqual(LegislativeClass.N3, vehicle.LegislativeClass); + Assert.AreEqual(VehicleCategory.RigidTruck, vehicle.VehicleCategory); + Assert.AreEqual(AxleConfiguration.AxleConfig_4x2, vehicle.AxleConfiguration); + Assert.AreEqual(6000.SI<Kilogram>(), vehicle.CurbMassChassis); + Assert.AreEqual(12000.SI<Kilogram>(), vehicle.GrossVehicleMassRating); + Assert.AreEqual(650.00.RPMtoRad(), vehicle.EngineIdleSpeed); + Assert.AreEqual(RetarderType.None, vehicle.RetarderType); + Assert.AreEqual(12.000, vehicle.RetarderRatio); + Assert.AreEqual(AngledriveType.None, vehicle.AngledriveType); + Assert.IsNotNull(vehicle.PTOTransmissionInputData); + Assert.AreEqual(false, vehicle.ZeroEmissionVehicle); + Assert.AreEqual(false, vehicle.VocationalVehicle); + Assert.IsNull(vehicle.TankSystem); + Assert.AreEqual(false, vehicle.SleeperCab); + Assert.AreEqual("ASDF", vehicle.VehicleTypeApprovalNumber); + Assert.AreEqual(ArchitectureID.P2_5, vehicle.ArchitectureID); + Assert.AreEqual(false, vehicle.OvcHev); + Assert.AreEqual(11.SI<Watt>(), vehicle.MaxChargingPower); + } } } -- GitLab