diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index 60d3dfa3cf0beb13cff1af1f6c2b4b98bd7977d2..9efbc92020a1a010a5f48ebe6ecc0efafbcad443 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -773,9 +773,23 @@ namespace TUGraz.VectoCommon.InputData public double MechanicalTransmissionEfficiency { get; set; } public TableData MechanicalTransmissionLossMap { get; set; } - } + public IADCDeclarationInputData ADC {get; set; } + } + public interface IADCDeclarationInputData : IComponentInputData + { + /// <summary> + /// P176 + /// </summary> + double Ratio { get; } + + /// <summary> + /// P173, P174, P175 + /// </summary> + TableData LossMap { get; } + } + public interface IElectricStorageSystemDeclarationInputData { diff --git a/VectoCommon/VectoCommon/Models/PowertrainPosition.cs b/VectoCommon/VectoCommon/Models/PowertrainPosition.cs index 6253726c5de309a8ffa13950ec1871a43288f39d..05d91d6aa7886a103f4557d62b1210b7087a93c2 100644 --- a/VectoCommon/VectoCommon/Models/PowertrainPosition.cs +++ b/VectoCommon/VectoCommon/Models/PowertrainPosition.cs @@ -13,6 +13,8 @@ namespace TUGraz.VectoCommon.InputData { HybridP3, HybridP4, + GEN, + BatteryElectricE4, BatteryElectricE3, BatteryElectricE2, @@ -23,6 +25,11 @@ namespace TUGraz.VectoCommon.InputData { public const string HybridPrefix = "Hybrid"; public const string BatteryElectriPrefix = "BatteryElectric"; + public static PowertrainPosition Parse(string pos, string schemaName) + { + return pos == nameof(PowertrainPosition.GEN) ? PowertrainPosition.GEN : Parse(GetPowertrainPositionType(pos, schemaName)); + } + public static PowertrainPosition Parse(string pos) { if (pos.StartsWith("P",StringComparison.InvariantCultureIgnoreCase)) { @@ -54,6 +61,8 @@ namespace TUGraz.VectoCommon.InputData { return pos.ToString().Replace(HybridPrefix, ""); case PowertrainPosition.HybridP2_5: return pos.ToString().Replace(HybridPrefix, "").Replace("_", "."); + case PowertrainPosition.GEN: + return nameof(PowertrainPosition.GEN); } return pos.ToString().Replace(BatteryElectriPrefix, "").Replace("B", "E"); } @@ -78,5 +87,36 @@ namespace TUGraz.VectoCommon.InputData { return false; } } + + private static string GetPowertrainPositionType(string pos, string schemaName) + { + switch (schemaName) { + case "Vehicle_HEV-Px_HeavyLorryDeclarationType": + case "Vehicle_HEV-Px_MediumLorryDeclarationType": + case "Vehicle_HEV-Px_PrimaryBusDeclarationType": + case "Components_HEV-Px_LorryType": + case "Components_HEV-Px_PrimaryBusType": + return $"P{pos}"; + case "Vehicle_HEV-Sx_HeavyLorryDeclarationType": + case "Vehicle_HEV-Sx_MediumLorryDeclarationType": + case "Vehicle_HEV-Sx_PrimaryBusDeclarationType": + case "Vehicle_HEV-IEPC-S_HeavyLorryDeclarationType": + case "Vehicle_HEV-IEPC-S_MediumLorryDeclarationType": + case "Vehicle_HEV-IEPC-S_PrimaryBusDeclarationType": + case "Vehicle_PEV_HeavyLorryDeclarationType": + case "Vehicle_PEV_MediumLorryDeclarationType": + case "Vehicle_PEV_PrimaryBusDeclarationType": + case "Components_HEV-S2_LorryType": + case "Components_HEV-S3_LorryType": + case "Components_HEV-S4_LorryType": + case "Components_HEV-S2_PrimaryBusType": + case "Components_PEV-E2_LorryType": + case "Components_PEV-E3_LorryType": + case "Components_PEV-E4_LorryType": + return $"E{pos}"; + default: + return null; + } + } } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs index 3481c4edcc488616c1e8e86944efa33a02f1c255..58d0c7cb1388feb118fa96d555f681af90bf6906 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs @@ -299,8 +299,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; public new const string XSD_TYPE = "Components_HEV-Px_LorryType"; - public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public const string XSD_HEV_SX_TYPE = "Components_HEV-S2_LorryType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public static readonly string QUALIFIED_HEV_SX_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_HEV_SX_TYPE); public XMLDeclarationHEVPxLorryComponentsDataProviderV210(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index f0fab34b60f3228485825db304e543552da83c44..cb3b686cfe43aa1318f5403543b377813d3af005 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -1163,7 +1163,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider foreach (XmlNode electricMachineNode in electricMachineNodes) { var powertrainPosition = - PowertrainPositionHelper.Parse("P" + GetString(XMLNames.ElectricMachine_Position, electricMachineNode)); + PowertrainPositionHelper.Parse( + GetString(XMLNames.ElectricMachine_Position, electricMachineNode), + BaseNode.SchemaInfo.SchemaType.Name); if(!motorTorqueLimits.ContainsKey(powertrainPosition)) motorTorqueLimits.Add(powertrainPosition, new List<Tuple<int, TableData>>()); @@ -1247,5 +1249,24 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider // --------------------------------------------------------------------------------------- + public class XMLDeclarationHEVSxHeavyLorryDataProviderV210 : XMLDeclarationHEVPxHeavyLorryDataProviderV210 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; + public new const string XSD_TYPE = "Vehicle_HEV-Sx_HeavyLorryDeclarationType"; + public new static readonly string QUALIFIED_XSD_TYPE = + XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + + public XMLDeclarationHEVSxHeavyLorryDataProviderV210(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) + : base(jobData, xmlNode, sourceFile) { } + + + #region Overrides of XMLDeclarationHEVPxHeavyLorryDataProviderV210 + + public override TableData MaxPropulsionTorque => null; + + #endregion + } + } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMachinesDeclarationInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMachinesDeclarationInputDataProvider.cs index ffbf02445f7e1c8ba56d359a42e8ad0ad7380b37..54ff408566d72fb594af479be965b93760aa8efb 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMachinesDeclarationInputDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMachinesDeclarationInputDataProvider.cs @@ -14,7 +14,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; public const string XSD_TYPE = "ElectricMachineType"; + public const string XSD_GEN_TYPE = "ElectricMachineGENType"; public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public static readonly string QUALIFIED_GEN_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_GEN_TYPE); private IXMLDeclarationVehicleData _vehicle; private IList<ElectricMachineEntry<IElectricMotorDeclarationInputData>> _entries; @@ -37,12 +39,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider private List<ElectricMachineEntry<IElectricMotorDeclarationInputData>> GetEntries() { var machineEntry = new ElectricMachineEntry<IElectricMotorDeclarationInputData> { - Position = PowertrainPositionHelper.Parse("P" + GetString(XMLNames.ElectricMachine_PowertrainPosition)), + Position = PowertrainPositionHelper.Parse( + GetString(XMLNames.ElectricMachine_PowertrainPosition), + BaseNode.ParentNode.SchemaInfo.SchemaType.Name), Count = XmlConvert.ToInt32(GetString(XMLNames.ElectricMachine_Count)), ElectricMachine = ElectricMachineSystemReader.CreateElectricMachineSystem(GetNode(XMLNames.ElectricMachineSystem)), }; - - SetGearRatios(machineEntry); + if(ElementExists(XMLNames.ElectricMachine_P2_5GearRatios)) + SetGearRatios(machineEntry); return new List<ElectricMachineEntry<IElectricMotorDeclarationInputData>>{machineEntry}; } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLElectricMachinesDeclarationInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLElectricMachinesDeclarationInputData.cs index 31678db114fc4a2d2732b65965395d83f785f2e7..3d564763069d22a21d7ae7a2ca31918de1a01f4d 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLElectricMachinesDeclarationInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLElectricMachinesDeclarationInputData.cs @@ -6,5 +6,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces public interface IXMLElectricMachinesDeclarationInputData : IElectricMachinesDeclarationInputData, IXMLResource { IXMLElectricMachineSystemReader ElectricMachineSystemReader { set; } + + // IXMLADCReader ADCReader { set; } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs index 3b5bfc0ef8d5eda484fcda779b2adbdf83e14044..789a8f041e9cb537291c804735aeabbf5b8004ca 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs @@ -28,6 +28,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationHEVPxHeavyLorryDataProviderV210>() .Named(XMLDeclarationHEVPxHeavyLorryDataProviderV210.QUALIFIED_XSD_TYPE); + Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationHEVSxHeavyLorryDataProviderV210>() + .Named(XMLDeclarationHEVSxHeavyLorryDataProviderV210.QUALIFIED_XSD_TYPE); + + Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationHEVPxMediumLorryDataProviderV210>() .Named(XMLDeclarationHEVPxMediumLorryDataProviderV210.QUALIFIED_XSD_TYPE); @@ -42,6 +46,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationHEVPxLorryComponentsDataProviderV210>() .Named(XMLDeclarationHEVPxLorryComponentsDataProviderV210.QUALIFIED_XSD_TYPE); + Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationHEVPxLorryComponentsDataProviderV210>() + .Named(XMLDeclarationHEVPxLorryComponentsDataProviderV210.QUALIFIED_HEV_SX_XSD_TYPE); + + Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationHEVPxPrimaryBusComponentsDataProviderV210>() .Named(XMLDeclarationHEVPxPrimaryBusComponentsDataProviderV210.QUALIFIED_XSD_TYPE); @@ -49,10 +57,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules Bind<IXMLComponentReader>().To<XMLComponentReaderV210_HEV_PxHeavyLorry>().Named(XMLComponentReaderV210_HEV_PxHeavyLorry.QUALIFIED_XSD_TYPE); - Bind<IXMLComponentReader>().To<XMLPrimaryBusDeclarationComponentReaderV201>().Named(XMLPrimaryBusDeclarationComponentReaderV201.QUALIFIED_XSD_TYPE); + + Bind<IXMLComponentReader>().To<XMLHeavyLorryHEVS2DeclartionComponentReaderV201>().Named(XMLHeavyLorryHEVS2DeclartionComponentReaderV201.QUALIFIED_XSD_TYPE); Bind<IXMLElectricMachineSystemReader>().To<XMLElectricMachineSystemReaderV210>().Named(XMLElectricMachineSystemReaderV210.QUALIFIED_XSD_TYPE); + Bind<IXMLElectricMachineSystemReader>().To<XMLElectricMachineSystemReaderV210>().Named(XMLElectricMachineSystemReaderV210.QUALIFIED_GEN_XSD_TYPE); Bind<IXMLREESSReader>().To<XMLREESSReaderV210>().Named(XMLREESSReaderV210.QUALIFIED_XSD_TYPE); @@ -95,7 +105,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules Bind<IXMLElectricMachinesDeclarationInputData>().To<XMLElectricMachinesDeclarationInputDataProvider>() .Named(XMLElectricMachinesDeclarationInputDataProvider.QUALIFIED_XSD_TYPE); - + + Bind<IXMLElectricMachinesDeclarationInputData>().To<XMLElectricMachinesDeclarationInputDataProvider>() + .Named(XMLElectricMachinesDeclarationInputDataProvider.QUALIFIED_GEN_XSD_TYPE); + Bind<IXMLElectricMotorDeclarationInputData>().To<XMLElectricMotorDeclarationInputDataProvider>() .Named(XMLElectricMotorDeclarationInputDataProvider.QUALIFIED_XSD_TYPE); diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs index ad5622b9150bcb0796e9f9825838d311cb87a85e..a3c2ae67f6522f475d824af6551989c410f878f1 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs @@ -79,6 +79,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader IElectricMotorDeclarationInputData CreateElectricMachineSystem(XmlNode electricMachineSystem); } + public interface IXMLADCReader + { + IADCDeclarationInputData CreateADCInputData(); + } + + public interface IXMLREESSReader { IREESSPackInputData CreateREESSInputData(XmlNode storageNode, REESSType reessType); diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs index bfabe682e33df651e1f07cc955eb527f1e03841b..589387d0b336387d8fe5592ef8f1adafeac0b4ca 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs @@ -519,8 +519,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl { public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; public const string XSD_TYPE = "ElectricMachineType"; + public const string XSD_GEN_TYPE = "ElectricMachineGENType"; public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); - + public static readonly string QUALIFIED_GEN_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_GEN_TYPE); + [Inject] public IDeclarationInjectFactory Factory { protected get; set; } @@ -654,4 +656,19 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl return Factory.CreateBusAuxiliaires(version, Vehicle, componentNode, sourceFile); } } + + + // --------------------------------------------------------------------------------------- + + public class XMLHeavyLorryHEVS2DeclartionComponentReaderV201 : XMLComponentReaderV10 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS; + public new const string XSD_TYPE = "Components_HEV-S2_LorryType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLHeavyLorryHEVS2DeclartionComponentReaderV201(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode) + : base(vehicle, componentsNode) { } + + + } } diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/HEV-S_heavyLorry_AMT_S2_ADC.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/HEV-S_heavyLorry_AMT_S2_ADC.xml new file mode 100644 index 0000000000000000000000000000000000000000..0180a3edf2464450c72216d8f28e3d88c79b3cf5 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/HEV-S_heavyLorry_AMT_S2_ADC.xml @@ -0,0 +1,622 @@ +<?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-Sx_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> + <ChasisConfiguration>Rigid Lorry</ChasisConfiguration> + <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>S2</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> + <ElectricMotorTorqueLimits xsi:type="ElectricMachineTorqueLimitsType"><!-- optional --> + <ElectricMachine> + <Position>GEN</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> + <Components xsi:type="Components_HEV-S2_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> + <ElectricMachineGEN> + <PowertrainPosition>GEN</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> + <ADC><!-- optional --> + <v2.10.1:Data xsi:type="v2.10.1:ADCDataDeclarationType" id="adc" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1"> + <Manufacturer>ADC Manufacturer</Manufacturer> + <Model>ADC Model</Model> + <CertificationNumber>adcadc</CertificationNumber> + <Date>2017-01-01T00:00:00Z</Date> + <AppVersion>adccda</AppVersion> + <Ratio>12.123</Ratio> + <CertificationMethod>Option 1</CertificationMethod> + <TorqueLossMap> + <Entry inputSpeed="10.00" inputTorque="40.00" torqueLoss="30.00"></Entry> + <Entry inputSpeed="11.00" inputTorque="41.00" torqueLoss="31.00"></Entry> + <Entry inputSpeed="12.00" inputTorque="41.00" torqueLoss="32.00"></Entry> + <Entry inputSpeed="13.00" inputTorque="42.00" torqueLoss="33.00"></Entry> + </TorqueLossMap> + </v2.10.1:Data> + <v2.10.1:Signature> + <di:Reference> + <di:DigestMethod Algorithm=""></di:DigestMethod> + <di:DigestValue></di:DigestValue> + </di:Reference> + </v2.10.1:Signature> + </ADC> + </ElectricMachineGEN> + <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>token</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=""/> + <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>a</Manufacturer> + <Model>a</Model> + <CertificationNumber>token</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=""/> + <di:DigestValue/> + </di:Reference> + </Signature> + </REESS> + </Battery> + </ElectricEnergyStorage> + <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> + <ADC><!-- optional --> + <v2.10.1:Data xsi:type="v2.10.1:ADCDataDeclarationType" id="ad" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1"> + <Manufacturer>ADC Manufacturer</Manufacturer> + <Model>ADC Model</Model> + <CertificationNumber>adcadc</CertificationNumber> + <Date>2017-01-01T00:00:00Z</Date> + <AppVersion>adccda</AppVersion> + <Ratio>12.123</Ratio> + <CertificationMethod>Option 1</CertificationMethod> + <TorqueLossMap> + <Entry inputSpeed="10.00" inputTorque="40.00" torqueLoss="30.00"></Entry> + <Entry inputSpeed="11.00" inputTorque="41.00" torqueLoss="31.00"></Entry> + <Entry inputSpeed="12.00" inputTorque="41.00" torqueLoss="32.00"></Entry> + <Entry inputSpeed="13.00" inputTorque="42.00" torqueLoss="33.00"></Entry> + </TorqueLossMap> + </v2.10.1:Data> + <v2.10.1:Signature> + <di:Reference> + <di:DigestMethod Algorithm=""></di:DigestMethod> + <di:DigestValue></di:DigestValue> + </di:Reference> + </v2.10.1:Signature> + </ADC> + <P2.5GearRatios><!-- only for P2.5 HEV --> + <Ratio gear="1">1.000</Ratio> + <Ratio gear="2">2.000</Ratio> + </P2.5GearRatios> + </ElectricMachine> + <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> + <v2.10.2:Data xsi:type="AUX_HEV-S_LorryDataType"> + <Fan> + <Technology>Hydraulic driven - Constant displacement pump</Technology> + </Fan> + <SteeringPump> + <Technology axleNumber="1">Full electric steering gear</Technology> + </SteeringPump> + <ElectricSystem> + <Technology>Standard technology - LED headlights, all</Technology> + </ElectricSystem> + <PneumaticSystem> + <Technology>Medium Supply 2-stage</Technology> + </PneumaticSystem> + <HVAC> + <Technology>Default</Technology> + </HVAC> + </v2.10.2: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> diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index 20b88ff1cad14907453a8c22c719562efb3bab45..982515fb4fd681366192fd30bbfa0efc099e0e41 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -5890,7 +5890,10 @@ <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\HeavyLorry\Conventional_heavyLorry_AMT.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> - <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\HeavyLorry\HEV_heavyLorry_AMT_Px_Capacitor.xml"> + <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\HEV-S_heavyLorry_AMT_S2_ADC.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\HEV_heavyLorry_AMT_Px_Capacitor.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> <Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\MediumLorry\Conventional_mediumLorry_AMT.xml"> diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs index 017b5181b870a099340cdbfaa7f9268f42cd1662..24c4c86ae827ecd5ad88813d1db336a8d982a413 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs @@ -34,7 +34,7 @@ namespace TUGraz.VectoCore.Tests.XML } private const string BASE_DIR = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\"; - private const string SCHEMA_FOLDER_DIR = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\"; + private const string ADDITONAL_TESTS_DIR = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\"; [TestCase(@"HeavyLorry\Conventional_heavyLorry_AMT.xml"), @@ -229,7 +229,7 @@ namespace TUGraz.VectoCore.Tests.XML } [TestCase(@"HeavyLorry\HEV_heavyLorry_AMT_Px.xml", BASE_DIR)] - [TestCase(@"HEV_heavyLorry_AMT_Px_Capacitor.xml", SCHEMA_FOLDER_DIR)] + [TestCase(@"HEV_heavyLorry_AMT_Px_Capacitor.xml", ADDITONAL_TESTS_DIR)] public void TestHEVHeaveyLorry(string jobfile, string dir) { var filename = Path.Combine(dir, jobfile); @@ -578,7 +578,25 @@ namespace TUGraz.VectoCore.Tests.XML Assert.IsNotNull(vehicle.ElectricMotorTorqueLimits);//Vehicle EM Drive Limits Assert.IsNotNull(vehicle.MaxPropulsionTorque);//Vehicle Max Prop. Limit } - + + [TestCase(@"HeavyLorry\HEV-S_heavyLorry_AMT_S2.xml", BASE_DIR)] + [TestCase(@"HEV-S_heavyLorry_AMT_S2_ADC.xml", ADDITONAL_TESTS_DIR)] + public void TestHEVHeavyLorryAMTS2(string jobfile, string fileDir) + { + var filename = Path.Combine(fileDir, jobfile); + var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); + + Assert.NotNull(dataProvider); + Assert.NotNull(dataProvider.JobInputData); + var vehicle = dataProvider.JobInputData.Vehicle; + Assert.NotNull(vehicle); + Assert.IsNotNull(vehicle.Components); + Assert.IsNotNull(vehicle.Components.EngineInputData); + Assert.IsNotNull(vehicle.Components.ElectricMachines); + Assert.AreEqual(2, vehicle.Components.ElectricMachines.Entries.Count); + } + + #region Test existence of torque converter diff --git a/VectoCore/VectoXML.spp b/VectoCore/VectoXML.spp index 80993b2bc33286ed89b1f1b68107ac4a8369015c..99aeb9852b19c69a26fc5bc51999cc8cdaf7f64a 100644 --- a/VectoCore/VectoXML.spp +++ b/VectoCore/VectoXML.spp @@ -90,7 +90,6 @@ <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\HeavyLorry\HEV-S_heavyLorry_S3.xml" HomeFolder="Yes"/> <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\HeavyLorry\HEV-S_heavyLorry_S4.xml" HomeFolder="Yes"/> <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\HeavyLorry\HEV_heavyLorry_AMT_Px.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\HeavyLorry\HEV_heavyLorry_AMT_Px_Capacitor.xml" HomeFolder="Yes"/> <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\HeavyLorry\IEPC_heavyLorry.xml" HomeFolder="Yes"/> <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\HeavyLorry\PEV_heavyLorry_AMT_E2.xml" HomeFolder="Yes"/> <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\HeavyLorry\PEV_heavyLorry_APT-N_E2.xml" HomeFolder="Yes"/> @@ -135,6 +134,7 @@ <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\ExemptedVehicles\exempted_mediumLorry.xml" HomeFolder="Yes"/> <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\ExemptedVehicles\exempted_primaryBus.xml" HomeFolder="Yes"/> </Folder> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\HEV_heavyLorry_AMT_Px_Capacitor.xml" HomeFolder="Yes"/> </Folder> <Folder FolderName="Schema Multistage 0.1"> <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_consolidated_multiple_stages.xml" HomeFolder="Yes"/>