diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs index 7be46f546a799a8c644fa428f5d7c55c8a2a17ab..356eed678363754fd0a61d15d425338be1ef0caa 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs +++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs @@ -3264,6 +3264,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to gear. + /// </summary> + public static string PowerMap_Gear { + get { + return ResourceManager.GetString("PowerMap_Gear", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to outShaftSpeed. /// </summary> diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx index 6c07cc29bb7d51e3e7955891b35b0a9fece0cf6e..248828c7a505b1becf92d3c7c2b2d832a7df5888 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.resx +++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx @@ -1857,4 +1857,7 @@ <data name="Conditioning_Entry" xml:space="preserve"> <value>Entry</value> </data> + <data name="PowerMap_Gear" xml:space="preserve"> + <value>gear</value> + </data> </root> \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs index 78991cd90a8aaa92a4310daa6eecfa8269dec9a8..4aba1e71a735ae79f963cc7bb602f23f71768ba6 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs @@ -144,7 +144,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Implementation of IElectricMotorPowerMap - public virtual int Gear => Convert.ToInt32(GetAttribute(BaseNode, "gear")); + public virtual int Gear => Convert.ToInt32(GetAttribute(BaseNode, XMLNames.PowerMap_Gear)); public virtual TableData PowerMap => ReadPowerMap(); private TableData ReadPowerMap() diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/Distributed/HeavyLorry/HEV_heavyLorry_AMT_Px_IHPC.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/Distributed/HeavyLorry/HEV_heavyLorry_AMT_Px_IHPC.xml new file mode 100644 index 0000000000000000000000000000000000000000..8b269b5abf0a4afbcac1d95117cd3ea30abcdf68 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/Distributed/HeavyLorry/HEV_heavyLorry_AMT_Px_IHPC.xml @@ -0,0 +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> <NgTankSystem>Liquefied</NgTankSystem><!-- optional --> <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> <TorqueLimits xsi:type="v2.0:TorqueLimitsType"><!-- optional --> <v2.0:Entry gear="9" maxTorque="2000"/> </TorqueLimits> <ElectricMotorTorqueLimits xsi:type="ElectricMachineTorqueLimitsType"><!-- optional --> <ElectricMachine> <Position>2</Position> <VoltageLevel> <Voltage>100</Voltage> <MaxTorqueCurve> <v2.10.1:Entry outShaftSpeed="0.00" maxTorque="200.00" minTorque="-200.00"/> <v2.10.1:Entry outShaftSpeed="1000.00" maxTorque="300.00" minTorque="-300.00"/> </MaxTorqueCurve> </VoltageLevel> <VoltageLevel> <Voltage>500</Voltage> <MaxTorqueCurve> <v2.10.1:Entry outShaftSpeed="0.00" maxTorque="200.00" minTorque="-200.00"/> <v2.10.1:Entry outShaftSpeed="1000.00" maxTorque="300.00" minTorque="-300.00"/> </MaxTorqueCurve> </VoltageLevel> </ElectricMachine> </ElectricMotorTorqueLimits> <BoostingLimitations xsi:type="BoostingLimitationsType"><!-- optional --> <Entry rotationalSpeed="0.00" boostingTorque="0.00"/> <Entry rotationalSpeed="1000.00" boostingTorque="0.00"/> </BoostingLimitations> <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="ElectricMachineSystemIHPCMeasuredDataDeclarationType" 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>IHPC Type 1</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 gear="1"> <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> <PowerMap gear="2"> <Entry outShaftSpeed="0.00" torque="500.00" electricPower="1000.00"/> <Entry outShaftSpeed="0.00" torque="-500.00" electricPower="-1000.00"/> <Entry outShaftSpeed="5000.00" torque="5000.00" electricPower="26000.00"/> <Entry outShaftSpeed="5000.00" torque="-5000.00" electricPower="-26000.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 gear="1"> <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> <PowerMap gear="2"> <Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/> <Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/> <Entry outShaftSpeed="5000.00" torque="5000.00" electricPower="26000.00"/> <Entry outShaftSpeed="5000.00" torque="-5000.00" electricPower="-26000.00"/> </PowerMap> </VoltageLevel> <DragCurve> <Entry outShaftSpeed="0.00" dragTorque="10.00"/> <Entry outShaftSpeed="4000.00" dragTorque="30.00"/> </DragCurve> <Conditioning><!-- optional --> <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> <Angledrive><!-- optional --> <v2.0:Data id="agl-vi2Oak2N" xsi:type="v2.0:AngledriveDataDeclarationType" 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> <Ratio>2.345</Ratio> <CertificationMethod>Standard values</CertificationMethod> <TorqueLossMap> <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="100.00"/> <Entry inputSpeed="1000.00" inputTorque="-1000.00" torqueLoss="100.00"/> <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="10.00"/> <Entry inputSpeed="1000.00" inputTorque="0.00" torqueLoss="10.00"/> <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="100.00"/> <Entry inputSpeed="1000.00" inputTorque="1000.00" torqueLoss="100.00"/> </TorqueLossMap> </v2.0:Data> <v2.0:Signature> <di:Reference URI="#agl-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>1tuF9SoA8luoUBQGym4bYi1TurDSmcYqBDJ6AP20OSs=</di:DigestValue> </di:Reference> </v2.0:Signature> </Angledrive> <Retarder><!-- optional --> <v2.0:Data id="RET-Shai9imi" xsi:type="v2.0:RetarderDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> <Manufacturer>Generic Retarder Manufacturer</Manufacturer> <Model>Generic Retarder</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-01-11T11:00:00Z</Date> <AppVersion>3.0.1</AppVersion> <CertificationMethod>Standard values</CertificationMethod> <RetarderLossMap> <Entry retarderSpeed="0.00" torqueLoss="10.00"/> <Entry retarderSpeed="2300.00" torqueLoss="20.58"/> </RetarderLossMap> </v2.0:Data> <v2.0:Signature> <di:Reference URI="#RET-Shai9imi"> <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>fcEtYfDAbfuRq0xpuzapmEj+Py1PIPUZwVmx+amNvcc=</di:DigestValue> </di:Reference> </v2.0:Signature> </Retarder> <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> <AirDrag><!-- optional --> <Data id="CabinX23h" xsi:type="v2.0:AirDragDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> <Manufacturer>Generic Manufacturer</Manufacturer> <Model>Generic Model</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> <Date>2017-03-24T15:00:00Z</Date> <AppVersion>Vecto AirDrag x.y</AppVersion> <CdxA_0>6.31</CdxA_0> <TransferredCdxA>6.32</TransferredCdxA> <DeclaredCdxA>6.34</DeclaredCdxA> </Data> <v2.0:Signature> <di:Reference URI="#CabinX23h"> <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>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> </di:Reference> </v2.0:Signature> </AirDrag> </Components> </v2.0:Vehicle> </tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index ad95b7fb0fee4cf38d25775dd6c1d145e08e65d2..99b96ed92a649274327b70e260081e90ad4ac126 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -5885,6 +5885,9 @@ <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.0\vecto_vehicle-sample_LNG.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\HeavyLorry\HEV_heavyLorry_AMT_Px_IHPC.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\WithoutOptionalEntries\Conventional_mediumLorry_AMT_n_opt.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs index 7b4f7eedfbe98424e02b72d21bf304d9f7a6d369..a40314f82676753b4a2d5570661235569f0a73f6 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs @@ -1962,6 +1962,49 @@ namespace TUGraz.VectoCore.Tests.XML Assert.IsNull(vehicle.BoostingLimitations); } + + [TestCase(@"HeavyLorry\HEV_heavyLorry_AMT_Px_IHPC.xml", BASE_DIR)] + public void TestHEVHeavyLorryAMTPxIHPC(string jobfile, string testDir) + { + var filename = Path.Combine(testDir, jobfile); + var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); + Assert.NotNull(dataProvider.JobInputData); + var vehicle = dataProvider.JobInputData.Vehicle; + + + var eMachine = vehicle.Components.ElectricMachines.Entries.First(); + Assert.IsNotNull(eMachine); + + Assert.AreEqual(PowertrainPosition.HybridP2, eMachine.Position); + Assert.AreEqual(1, eMachine.Count); + + Assert.AreEqual(ElectricMachineType.ASM, eMachine.ElectricMachine.ElectricMachineType); + Assert.AreEqual(1.SI<Watt>(), eMachine.ElectricMachine.R85RatedPower); + Assert.AreEqual(0.10.SI<KilogramSquareMeter>(), eMachine.ElectricMachine.Inertia); + Assert.AreEqual(200.00.SI<NewtonMeter>(), eMachine.ElectricMachine.ContinuousTorque); + Assert.AreEqual(2000.00.SI<PerSecond>(), eMachine.ElectricMachine.ContinuousTorqueSpeed);//TestSpeedContinuousTorque + Assert.AreEqual(400.00.SI<NewtonMeter>(), eMachine.ElectricMachine.OverloadTorque); + Assert.AreEqual(2000.00.SI<PerSecond>(), eMachine.ElectricMachine.OverloadTestSpeed);//TestSpeedOverloadTorque + Assert.AreEqual(30.00.SI<Second>(), eMachine.ElectricMachine.OverloadTime);//OverloadDuration + Assert.AreEqual(483.SI<Volt>(), eMachine.ElectricMachine.TestVoltageOverload); + Assert.AreEqual(true, eMachine.ElectricMachine.DcDcConverterIncluded); + Assert.AreEqual("IHPC Type 1", eMachine.ElectricMachine.IHPCType); + + Assert.AreEqual(2, eMachine.ElectricMachine.VoltageLevels.Count); + Assert.AreEqual(400.SI<Volt>(), eMachine.ElectricMachine.VoltageLevels[0].VoltageLevel); + Assert.AreEqual(2, eMachine.ElectricMachine.VoltageLevels[0].PowerMap.Count); + Assert.AreEqual(1, eMachine.ElectricMachine.VoltageLevels[0].PowerMap[0].Gear); + Assert.AreEqual(2, eMachine.ElectricMachine.VoltageLevels[0].PowerMap[1].Gear); + + Assert.AreEqual(600.SI<Volt>(), eMachine.ElectricMachine.VoltageLevels[1].VoltageLevel); + Assert.AreEqual(2, eMachine.ElectricMachine.VoltageLevels[1].PowerMap.Count); + Assert.AreEqual(1, eMachine.ElectricMachine.VoltageLevels[1].PowerMap[0].Gear); + Assert.AreEqual(2, eMachine.ElectricMachine.VoltageLevels[1].PowerMap[1].Gear); + + Assert.AreEqual(2, eMachine.ElectricMachine.DragCurve.Rows.Count); + Assert.AreEqual(1, eMachine.ElectricMachine.Conditioning.Rows.Count); + } + #region Test existence of torque converter private void TestTorqueConverter(IVehicleDeclarationInputData vehicle) @@ -1978,5 +2021,9 @@ namespace TUGraz.VectoCore.Tests.XML #endregion + + + + } } \ No newline at end of file