From fed2844389b56e80ea2fee3ad4de27374857e0cb Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Thu, 8 Aug 2019 16:51:06 +0200 Subject: [PATCH] adding dual fuel and whr to xml in engineering mode, adapting schema and adding sample files --- .../XSD/VectoEngineeringComponent.xsd | 2 +- .../XSD/VectoEngineeringDefinitions.1.0.xsd | 1 + .../XSD/VectoEngineeringDefinitions.1.1.xsd | 61 +++- .../XSD/VectoEngineeringDefinitions.xsd | 3 +- .../Resources/XSD/VectoEngineeringJob.xsd | 2 +- VectoCore/VectoCore/VectoCore.csproj | 3 + .../XML/XMLReaderEngineering/engine_DF.vmap | 113 ++++++++ .../XML/XMLReaderEngineering/engine_WHR.vmap | 113 ++++++++ .../engineering_engine-sample_ref_DF_WHR.xml | 49 ++++ .../engineering_job-sample_ref_DF_WHR.xml | 35 +++ .../engineering_vehicle_ref_DF_WHR.xml | 268 ++++++++++++++++++ VectoCore/VectoXML.spp | 1 + 12 files changed, 634 insertions(+), 17 deletions(-) create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_DF.vmap create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_WHR.vmap create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref_DF_WHR.xml create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref_DF_WHR.xml create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref_DF_WHR.xml diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd index f331744940..48d390c45e 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringComponent:v1.0" xmlns:ns2="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" elementFormDefault="qualified" attributeFormDefault="unqualified"> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringComponent:v1.0" xmlns:ns2="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" xmlns:ns3="urn:tugraz:ivt:VectoAPI:EngineeringComponent" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringComponent" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- This is a convienience file that imports the schema for declaration input (i.e., job data) and all supported declaration definitions diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd index 80bea36ec6..fb2b6fa51b 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd @@ -996,6 +996,7 @@ <xs:element name="PTOCycle" type="tns:PTOCycleEngineeringType" minOccurs="0"/> <xs:element name="CurbMassExtra" type="tns:VehicleCurbWeightExtraType"/> <xs:element name="Loading" type="tns:VehicleLoadingType"/> + <xs:element name="NgTankSystem" type="vdecdef:NgTankSystemType" minOccurs="0"/> <xs:element name="AdvancedDriverAssist" type="tns:AbstractAdvancedDriverAssistEngineeringType" minOccurs="0"/> <xs:element name="Components" type="tns:AbstractVehicleComponentsType"/> </xs:sequence> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd index 2d8c33d32d..1478405bf5 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd @@ -8,12 +8,13 @@ <xs:extension base="ve1.0:AbstractEngineDataEngineeringType"> <xs:sequence> <xs:element name="Displacement" type="vdecdef:EngineDisplacementType"/> - <xs:element name="IdlingSpeed" type="vdecdef:EngineDeclaredSpeedType"/> <xs:element name="Inertia" type="ve1.0:EngineInertiaType" minOccurs="0"/> + <xs:element name="WHRType" type="tns:WHRTypeType"/> <xs:element name="Mode" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:sequence> + <xs:element name="IdlingSpeed" type="vdecdef:EngineDeclaredSpeedType"/> <xs:element name="FullLoadAndDragCurve"> <xs:complexType> <xs:choice> @@ -45,18 +46,32 @@ <xs:documentation>P170 - [-]</xs:documentation> </xs:annotation> </xs:element> - <xs:element name="WHRCorrection" minOccurs="0"> - <xs:simpleType> - <xs:restriction base="xs:double"> - <xs:minExclusive value="0"/> - </xs:restriction> - </xs:simpleType> + <xs:element name="WasteHeatRecovery" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="WHRCorrection"> + <xs:simpleType> + <xs:restriction base="xs:double"> + <xs:minExclusive value="0"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="WHRMap"> + <xs:complexType> + <xs:choice> + <xs:element name="Entry" type="tns:WHREngryEngineeringType" minOccurs="4" maxOccurs="unbounded"/> + <xs:element name="Resource" type="ve1.0:ExtResourceEngineeringType"/> + </xs:choice> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> </xs:element> <xs:element name="FuelConsumptionMap"> <xs:complexType> <xs:choice> <xs:sequence> - <xs:element name="Entry" type="tns:FuelEntryWHREngineeringType" minOccurs="4" maxOccurs="unbounded"/> + <xs:element name="Entry" type="vdecdef:FuelConsumptionEntryType" minOccurs="4" maxOccurs="unbounded"/> </xs:sequence> <xs:element name="Resource" type="ve1.0:ExtResourceEngineeringType"> <xs:annotation> @@ -77,11 +92,29 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="FuelEntryWHREngineeringType"> - <xs:complexContent> - <xs:extension base="vdecdef:FuelConsumptionEntryType"> - <xs:attribute name="electricPower" type="vdecdef:Double2"/> - </xs:extension> - </xs:complexContent> + <xs:complexType name="WHREngryEngineeringType"> + <xs:attribute name="engineSpeed" type="vdecdef:EngineSpeedType" use="required"> + <xs:annotation> + <xs:documentation>P072 - [1/min]</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="torque" type="vdecdef:EngineFuelConsumptionMapTorqueType" use="required"> + <xs:annotation> + <xs:documentation>P073 - [Nm]</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="electricPower" type="vdecdef:Double2" use="required"> + <xs:annotation> + <xs:documentation>Pxxx - [W]</xs:documentation> + </xs:annotation> + </xs:attribute> </xs:complexType> + <xs:simpleType name="WHRTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="none"/> + <xs:enumeration value="mechanical only"/> + <xs:enumeration value="electrical only"/> + <xs:enumeration value="mechanical and electrical"/> + </xs:restriction> + </xs:simpleType> </xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd index bef3dbcec3..ef8e08b256 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xmlns:v1.0TEST="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0TEST" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" elementFormDefault="qualified" attributeFormDefault="unqualified"> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xmlns:v1.0TEST="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0TEST" xmlns:veng="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" xmlns:ve1.1="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.1" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- This is a convienience file that imports all supported declaration definitions --> <xs:import namespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" schemaLocation="VectoEngineeringDefinitions.1.0.xsd"/> + <xs:import namespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.1" schemaLocation="VectoEngineeringDefinitions.1.1.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0TEST" schemaLocation="VectoEngineeringDefinitions.1.0.TEST.xsd"/> </xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringJob.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringJob.xsd index 70b6898157..6151df8b8c 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringJob.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringJob.xsd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:ns2="urn:tugraz:ivt:VectoAPI:EngineeringInput:v1.0" xmlns:ns3="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" elementFormDefault="qualified" attributeFormDefault="unqualified"> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:ns2="urn:tugraz:ivt:VectoAPI:EngineeringInput:v1.0" xmlns:ns3="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringInput" elementFormDefault="qualified" attributeFormDefault="unqualified" > <!-- This is a convienience file that imports the schema for engineering input (i.e., job data) and all supported declaration definitions diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index e2ff058383..232ba5646c 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -691,6 +691,9 @@ <EmbeddedResource Include="Resources\XSD\VectoMonitoring.0.8.xsd"> <SubType>Designer</SubType> </EmbeddedResource> + <EmbeddedResource Include="Resources\XSD\VectoEngineeringDefinitions.1.1.xsd"> + <SubType>Designer</SubType> + </EmbeddedResource> <None Include="Utils\VectoVersionCore.tt"> <Generator>TextTemplatingFileGenerator</Generator> <LastGenOutput>VectoVersionCore.cs</LastGenOutput> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_DF.vmap b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_DF.vmap new file mode 100644 index 0000000000..a578a0a1a0 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_DF.vmap @@ -0,0 +1,113 @@ +engine speed [1/min],torque [Nm],fuel consumption [g/h] +560,-149,0 +560,0,125 +560,200,319 +560,400,529 +560,600,761 +560,800,937 +560,1000,1123 +560,1180,1286 +600,-148,0 +600,0,145 +600,200,335 +600,400,549 +600,600,810 +600,800,1001 +600,1000,1207 +600,1200,1420 +600,1282,1530 +800,-149,0 +800,0,187 +800,200,428 +800,400,702 +800,600,1005 +800,800,1308 +800,1000,1601 +800,1200,1923 +800,1400,2242 +800,1600,2548 +800,1791,2890 +1000,-160,0 +1000,0,286 +1000,200,596 +1000,400,919 +1000,600,1235 +1000,800,1596 +1000,1000,1986 +1000,1200,23530 +1000,1400,2720 +1000,1600,3116 +1000,1800,3510 +1000,2000,39360 +1000,2200,44120 +1000,2300,4683 +1200,-179,0 +1200,0,330 +1200,200,689 +1200,400,1065 +1200,600,1464 +1200,800,1911 +1200,1000,2367 +1200,1200,28180 +1200,1400,3243 +1200,1600,3669 +1200,1800,4169 +1200,2000,4691 +1200,2200,5178 +1200,2300,5493 +1400,-203,0 +1400,0,430 +1400,200,814 +1400,400,1272 +1400,600,1752 +1400,800,2228 +1400,1000,2709 +1400,1200,3253 +1400,1400,3774 +1400,1600,4319 +1400,1800,4945 +1400,2000,55830 +1400,2200,6107 +1400,2300,6437 +1600,-235,0 +1600,0,520 +1600,200,966 +1600,400,1483 +1600,600,2012 +1600,800,2589 +1600,1000,3163 +1600,1200,3724 +1600,1400,4282 +1600,1600,4975 +1600,1800,57020 +1600,2000,6391 +1600,2079,66520 +1800,-264,0 +1800,0,640 +1800,200,1177 +1800,400,17320 +1800,600,2339 +1800,800,3050 +1800,1000,3637 +1800,1200,4307 +1800,1400,4979 +1800,1600,5743 +1800,1800,6515 +1800,1857,6757 +2000,-301,0 +2000,0,912 +2000,200,1482 +2000,400,2065 +2000,600,2707 +2000,800,3418 +2000,1000,4283 +2000,1200,5101 +2000,1352,5661 +2100,-320,0 +2100,0,10470 +2100,200,1633 +2100,400,2239 +2100,600,2891 +2100,800,3571 +2100,1000,4564 +2100,1100,5065 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_WHR.vmap b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_WHR.vmap new file mode 100644 index 0000000000..5407a56270 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_WHR.vmap @@ -0,0 +1,113 @@ +engine speed [1/min],torque [Nm],fuel consumption [g/h], whr power +560,-149,0,200 +560,0,1256,200 +560,200,3197,200 +560,400,5295,200 +560,600,7615,200 +560,800,9375,200 +560,1000,11239,200 +560,1180,12869,200 +600,-148,0,200 +600,0,1459,200 +600,200,3358,200 +600,400,5498,200 +600,600,8101,200 +600,800,10014,200 +600,1000,12071,200 +600,1200,14201,200 +600,1282,15304,200 +800,-149,0,200 +800,0,1879,200 +800,200,4286,200 +800,400,7021,200 +800,600,10059,200 +800,800,13086,200 +800,1000,16015,200 +800,1200,19239,200 +800,1400,22426,200 +800,1600,25483,200 +800,1791,28905,200 +1000,-160,0,200 +1000,0,2865,200 +1000,200,5963,200 +1000,400,9198,200 +1000,600,12354,200 +1000,800,15965,200 +1000,1000,19864,200 +1000,1200,23530,200 +1000,1400,27202,200 +1000,1600,31165,200 +1000,1800,35103,200 +1000,2000,39360,200 +1000,2200,44120,200 +1000,2300,46836,200 +1200,-179,0,200 +1200,0,3307,200 +1200,200,6897,200 +1200,400,10651,200 +1200,600,14645,200 +1200,800,19115,200 +1200,1000,23677,200 +1200,1200,28180,200 +1200,1400,32431,200 +1200,1600,36698,200 +1200,1800,41691,200 +1200,2000,46915,200 +1200,2200,51783,200 +1200,2300,54932,200 +1400,-203,0,200 +1400,0,4306,200 +1400,200,8143,200 +1400,400,12723,200 +1400,600,17523,200 +1400,800,22288,200 +1400,1000,27093,200 +1400,1200,32536,200 +1400,1400,37746,200 +1400,1600,43194,200 +1400,1800,49453,200 +1400,2000,55830,200 +1400,2200,61072,200 +1400,2300,64377,200 +1600,-235,0,200 +1600,0,5209,200 +1600,200,9669,200 +1600,400,14838,200 +1600,600,20127,200 +1600,800,25894,200 +1600,1000,31631,200 +1600,1200,37248,200 +1600,1400,42826,200 +1600,1600,49752,200 +1600,1800,57020,200 +1600,2000,63914,200 +1600,2079,66520,200 +1800,-264,0,200 +1800,0,6409,200 +1800,200,11777,200 +1800,400,17320,200 +1800,600,23394,200 +1800,800,30501,200 +1800,1000,36378,200 +1800,1200,43079,200 +1800,1400,49796,200 +1800,1600,57436,200 +1800,1800,65157,200 +1800,1857,67574,200 +2000,-301,0,200 +2000,0,9127,200 +2000,200,14822,200 +2000,400,20655,200 +2000,600,27076,200 +2000,800,34188,200 +2000,1000,42837,200 +2000,1200,51018,200 +2000,1352,56618,200 +2100,-320,0,200 +2100,0,10470,200 +2100,200,16332,200 +2100,400,22396,200 +2100,600,28914,200 +2100,800,35717,200 +2100,1000,45643,200 +2100,1100,50653,200 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref_DF_WHR.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref_DF_WHR.xml new file mode 100644 index 0000000000..44a39bd60c --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref_DF_WHR.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoComponentEngineering schemaVersion="1.0" + xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringComponent:v1.0" + xmlns:ve1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" + xmlns:ve1.1="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.1" + xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:vecomp="urn:tugraz:ivt:VectoAPI:EngineeringComponent" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringComponent https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/VectoEngineeringComponent.xsd" + xsi:type="VectoComponentEngineeringType"> + <Engine> + <ve1.0:Data id="ENG-gooZah3D" xsi:type="ve1.1:EngineDataEngineeringType" xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.1"> + <ve1.0:Manufacturer>Generic Engine Vendor</ve1.0:Manufacturer> + <ve1.0:Model>Generic 40t Long Haul Truck Engine</ve1.0:Model> + <ve1.0:Date>2017-02-15T11:00:00Z</ve1.0:Date> + <ve1.0:AppVersion>XMLSpy</ve1.0:AppVersion> + <Displacement>12730</Displacement> + <Inertia>0.77</Inertia> + <WHRType>electrical only</WHRType> + <Mode> + <IdlingSpeed>560</IdlingSpeed> + <FullLoadAndDragCurve> + <Resource type="csv" file="engine.vfld"/> + </FullLoadAndDragCurve> + <Fuel> + <FuelType>NG CI</FuelType> + <FCCorrection>1.004</FCCorrection> + <WasteHeatRecovery> + <WHRCorrection>1.02</WHRCorrection> + <WHRMap> + <Resource type="csv" file="engine_WHR.vmap"/> + </WHRMap> + </WasteHeatRecovery> + <FuelConsumptionMap> + <Resource type="csv" file="engine.vmap"/> + </FuelConsumptionMap> + </Fuel> + <Fuel> + <FuelType>Diesel CI</FuelType> + <FCCorrection>1.002</FCCorrection> + <FuelConsumptionMap> + <Resource type="csv" file="engine_df.vmap"/> + </FuelConsumptionMap> + </Fuel> + </Mode> + </ve1.0:Data> + </Engine> +</tns:VectoComponentEngineering> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref_DF_WHR.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref_DF_WHR.xml new file mode 100644 index 0000000000..549388f448 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref_DF_WHR.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoEngineeringInput.0.7.xsd"> + <EngineOnlyMode>false</EngineOnlyMode> + <Vehicle> + <Resource type="xml" file="engineering_vehicle_ref_DF_WHR.xml"/> + </Vehicle> + <DriverModel> + <LookAheadCoasting> + <Enabled>true</Enabled> + <MinSpeed>50</MinSpeed> + <PreviewDistanceFactor>8</PreviewDistanceFactor> + <DecisionFactorOffset>3.22</DecisionFactorOffset> + <DecisionFactorScaling>2.11</DecisionFactorScaling> + <SpeedDependentDecisionFactor> + <Resource type="csv" file="lac_speedDependent.csv"/> + </SpeedDependentDecisionFactor> + <VelocityDropDecisionFactor> + <Resource type="csv" file="lac_velocityDrop.csv"/> + </VelocityDropDecisionFactor> + </LookAheadCoasting> + <Overspeed> + <Mode>Overspeed</Mode> + <MinSpeed>50</MinSpeed> + <AllowedOverspeed>5</AllowedOverspeed> + <AllowedUnderspeed>5</AllowedUnderspeed> + </Overspeed> + <DriverAccelerationCurve> + <Entry vehicleSpeed="0" maxAcceleration="1" maxDeceleration="-1"/> + <Entry vehicleSpeed="100" maxAcceleration="1" maxDeceleration="-1"/> + </DriverAccelerationCurve> + </DriverModel> + <MissionCycles> + <Cycle type="csv" file="Long_Haul+FAN+ES.vdri"/> + </MissionCycles> +</tns:VectoInputEngineering> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref_DF_WHR.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref_DF_WHR.xml new file mode 100644 index 0000000000..803c2e5dfc --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref_DF_WHR.xml @@ -0,0 +1,268 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoComponentEngineering schemaVersion="1.0" + xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringComponent:v1.0" + xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:vecomp="urn:tugraz:ivt:VectoAPI:EngineeringComponent" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringComponent https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/VectoEngineeringComponent.xsd" + xsi:type="VectoComponentEngineeringType"> + <Vehicle id="VEH-1234567890" xsi:type="VehicleEngineeringType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>somewhere</ManufacturerAddress> + <Model>Generic LongHaul Truck</Model> + <VIN>xyz</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>18000</GrossVehicleMass> + <RetarderType>Transmission Output Retarder</RetarderType> + <RetarderRatio>1.000</RetarderRatio> + <AngledriveType>None</AngledriveType> + <PTOType>None</PTOType> + <PTOIdleLossMap> + <Resource type="csv" file="pto_idlelosses.vptol"/> + </PTOIdleLossMap> + <PTOCycle> + <Resource type="csv" file="pto_cycle.vptoc"/> + </PTOCycle> + <CurbMassExtra>500</CurbMassExtra> + <Loading>1500</Loading> + <NgTankSystem>Liquefied</NgTankSystem> + <AdvancedDriverAssist xsi:type="AdvancedDriverAssistEngineeringType"> + <EngineStopStart>true</EngineStopStart> + <EcoRoll>none</EcoRoll> + <PredictiveCruiseControl>none</PredictiveCruiseControl> + </AdvancedDriverAssist> + <Components xsi:type="VehicleComponentsType"> + <Engine> + <Resource type="xml" file="engineering_engine-sample_ref_DF_WHR.xml"/> + </Engine> + <Gearbox> + <Resource type="xml" file="engineering_gearbox-sample_ref.xml"/> + </Gearbox> + <TorqueConverter> + <Resource component="TorqueConverter" type="xml" file="engineering_torqueconverter-sample_ref.xml"/> + </TorqueConverter> + <Angledrive> + <Data xsi:type="AngledriveDataEngineeringType" id="ANGL-asdf"> + <Manufacturer>Generic Angledrive Manufacturer</Manufacturer> + <Model>Generic Angledrive</Model> + <Date>2017-01-11T11:00:00Z</Date> + <Ratio>1.200</Ratio> + <TorqueLossMap> + <Resource type="csv" file="angledrive.vtlm"/> + </TorqueLossMap> + </Data> + </Angledrive> + <Retarder> + <Data xsi:type="RetarderDataEngineeringType" id="RET-adsf"> + <Manufacturer>Generic Retarder Manufacturer</Manufacturer> + <Model>Generic Retarder</Model> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <RetarderLossMap> + <Resource type="csv" file="Retarder.vrlm"/> + </RetarderLossMap> + </Data> + </Retarder> + <Axlegear> + <Resource type="xml" file="engineering_axlegear-sample_ref.xml"/> + </Axlegear> + <AxleWheels> + <Data xsi:type="AxleWheelsDataEngineeringType"> + <Axles> + <Axle xsi:type="AxleDataEngineeringType" axleNumber="1"> + <AxleType>VehicleNonDriven</AxleType> + <TwinTyres>false</TwinTyres> + <Steered>true</Steered> + <WeightShare>0.4</WeightShare> + <Tyre xsi:type="TyreComponentEngineeringType"> + <Data xsi:type="TyreDataEngineeringType"> + <Manufacturer>Generic Wheels Manufacturer</Manufacturer> + <Model>Generic Wheel</Model> + <Date>2017-01-11T14:00:00Z</Date> + <Dimension>315/70 R22.5</Dimension> + <RRCISO>0.0055</RRCISO> + <FzISO>31300</FzISO> + </Data> + </Tyre> + </Axle> + <Axle xsi:type="AxleDataEngineeringType" axleNumber="2"> + <AxleType>VehicleDriven</AxleType> + <TwinTyres>true</TwinTyres> + <Steered>false</Steered> + <WeightShare>0.6</WeightShare> + <Tyre> + <Data xsi:type="TyreDataEngineeringType"> + <Manufacturer>Generic Wheels Manufacturer</Manufacturer> + <Model>Generic Wheel</Model> + <Date>2017-01-11T14:00:00Z</Date> + <Dimension>315/70 R22.5</Dimension> + <RRCISO>0.0063</RRCISO> + <FzISO>31300</FzISO> + </Data> + </Tyre> + </Axle> + </Axles> + </Data> + </AxleWheels> + <Auxiliaries> + <Data xsi:type="AuxiliariesDataEngineeringType"> + <Auxiliary id="ES" xsi:type="AuxiliaryEntryEngineeringType"> + <TransmissionRatioToEngine>4.078</TransmissionRatioToEngine> + <EfficiencyToEngine>0.96</EfficiencyToEngine> + <EfficiencyAuxSupply>1</EfficiencyAuxSupply> + <AuxMap> + <Entry auxiliarySpeed="1415" mechanicalPower="70" supplyPower="0.0"/> + <Entry auxiliarySpeed="1415" mechanicalPower="870" supplyPower="530"/> + <Entry auxiliarySpeed="1415" mechanicalPower="1030" supplyPower="640"/> + <Entry auxiliarySpeed="1415" mechanicalPower="1.17" supplyPower="0.75"/> + <Entry auxiliarySpeed="1416" mechanicalPower="1.36" supplyPower="0.84"/> + <Entry auxiliarySpeed="1416" mechanicalPower="2.4" supplyPower="1.4"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.07" supplyPower="0"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.68" supplyPower="0.41"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.87" supplyPower="0.54"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.99" supplyPower="0.64"/> + <Entry auxiliarySpeed="1887" mechanicalPower="1.1" supplyPower="0.74"/> + <Entry auxiliarySpeed="1887" mechanicalPower="2.11" supplyPower="1.47"/> + <Entry auxiliarySpeed="1887" mechanicalPower="2.55" supplyPower="1.74"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.07" supplyPower="0"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.65" supplyPower="0.38"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.79" supplyPower="0.49"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.99" supplyPower="0.64"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.12" supplyPower="0.75"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.59" supplyPower="1.12"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.99" supplyPower="1.42"/> + <Entry auxiliarySpeed="2358" mechanicalPower="2.41" supplyPower="1.68"/> + <Entry auxiliarySpeed="2358" mechanicalPower="2.86" supplyPower="1.95"/> + <Entry auxiliarySpeed="2358" mechanicalPower="3.19" supplyPower="2.12"/> + <Entry auxiliarySpeed="2358" mechanicalPower="3.51" supplyPower="2.3"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.08" supplyPower="0"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.7" supplyPower="0.41"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.83" supplyPower="0.51"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.02" supplyPower="0.66"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.12" supplyPower="0.75"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.6" supplyPower="1.13"/> + <Entry auxiliarySpeed="2830" mechanicalPower="2.45" supplyPower="1.71"/> + <Entry auxiliarySpeed="2830" mechanicalPower="2.96" supplyPower="2.02"/> + <Entry auxiliarySpeed="2830" mechanicalPower="3.38" supplyPower="2.24"/> + <Entry auxiliarySpeed="2830" mechanicalPower="3.8" supplyPower="2.46"/> + <Entry auxiliarySpeed="2830" mechanicalPower="4.14" supplyPower="2.63"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.08" supplyPower="0"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.74" supplyPower="0.44"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.88" supplyPower="0.54"/> + <Entry auxiliarySpeed="3302" mechanicalPower="1.07" supplyPower="0.69"/> + <Entry auxiliarySpeed="3302" mechanicalPower="1.19" supplyPower="0.79"/> + <Entry auxiliarySpeed="3302" mechanicalPower="2.45" supplyPower="1.71"/> + <Entry auxiliarySpeed="3302" mechanicalPower="2.98" supplyPower="2.03"/> + <Entry auxiliarySpeed="3302" mechanicalPower="3.44" supplyPower="2.28"/> + <Entry auxiliarySpeed="3302" mechanicalPower="3.88" supplyPower="2.51"/> + <Entry auxiliarySpeed="3302" mechanicalPower="4.46" supplyPower="2.8"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.09" supplyPower="0"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.8" supplyPower="0.47"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.93" supplyPower="0.57"/> + <Entry auxiliarySpeed="3773" mechanicalPower="1.15" supplyPower="0.74"/> + <Entry auxiliarySpeed="3773" mechanicalPower="1.27" supplyPower="0.85"/> + <Entry auxiliarySpeed="3773" mechanicalPower="2.44" supplyPower="1.69"/> + <Entry auxiliarySpeed="3773" mechanicalPower="2.98" supplyPower="2.02"/> + <Entry auxiliarySpeed="3773" mechanicalPower="3.46" supplyPower="2.29"/> + <Entry auxiliarySpeed="3773" mechanicalPower="3.96" supplyPower="2.55"/> + <Entry auxiliarySpeed="3773" mechanicalPower="4.47" supplyPower="2.8"/> + <Entry auxiliarySpeed="3773" mechanicalPower="4.69" supplyPower="2.91"/> + <Entry auxiliarySpeed="4245" mechanicalPower="0.11" supplyPower="0"/> + <Entry auxiliarySpeed="4245" mechanicalPower="0.88" supplyPower="0.51"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.02" supplyPower="0.62"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.22" supplyPower="0.78"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.47" supplyPower="0.98"/> + <Entry auxiliarySpeed="4245" mechanicalPower="2.36" supplyPower="1.62"/> + <Entry auxiliarySpeed="4245" mechanicalPower="2.98" supplyPower="2.01"/> + <Entry auxiliarySpeed="4245" mechanicalPower="3.46" supplyPower="2.28"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4" supplyPower="2.57"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4.47" supplyPower="2.79"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4.94" supplyPower="3"/> + <Entry auxiliarySpeed="4716" mechanicalPower="0.12" supplyPower="0"/> + <Entry auxiliarySpeed="4716" mechanicalPower="0.97" supplyPower="0.56"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.11" supplyPower="0.67"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.32" supplyPower="0.84"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.91" supplyPower="1.29"/> + <Entry auxiliarySpeed="4716" mechanicalPower="2.96" supplyPower="1.99"/> + <Entry auxiliarySpeed="4716" mechanicalPower="3.46" supplyPower="2.27"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4" supplyPower="2.56"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4.52" supplyPower="2.81"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4.97" supplyPower="3"/> + <Entry auxiliarySpeed="4716" mechanicalPower="5.12" supplyPower="3.08"/> + <Entry auxiliarySpeed="5188" mechanicalPower="0.14" supplyPower="0"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.08" supplyPower="0.62"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.21" supplyPower="0.73"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.47" supplyPower="0.93"/> + <Entry auxiliarySpeed="5188" mechanicalPower="2.89" supplyPower="1.92"/> + <Entry auxiliarySpeed="5188" mechanicalPower="3.45" supplyPower="2.25"/> + <Entry auxiliarySpeed="5188" mechanicalPower="3.99" supplyPower="2.54"/> + <Entry auxiliarySpeed="5188" mechanicalPower="4.54" supplyPower="2.82"/> + <Entry auxiliarySpeed="5188" mechanicalPower="4.98" supplyPower="3"/> + <Entry auxiliarySpeed="5188" mechanicalPower="5.19" supplyPower="3.11"/> + <Entry auxiliarySpeed="5660" mechanicalPower="0.17" supplyPower="0"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.19" supplyPower="0.67"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.32" supplyPower="0.79"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.69" supplyPower="1.07"/> + <Entry auxiliarySpeed="5660" mechanicalPower="2.54" supplyPower="1.66"/> + <Entry auxiliarySpeed="5660" mechanicalPower="3.37" supplyPower="2.18"/> + <Entry auxiliarySpeed="5660" mechanicalPower="3.98" supplyPower="2.52"/> + <Entry auxiliarySpeed="5660" mechanicalPower="4.55" supplyPower="2.8"/> + <Entry auxiliarySpeed="5660" mechanicalPower="5.02" supplyPower="3.01"/> + <Entry auxiliarySpeed="5660" mechanicalPower="5.27" supplyPower="3.14"/> + <Entry auxiliarySpeed="6131" mechanicalPower="0.19" supplyPower="0"/> + <Entry auxiliarySpeed="6131" mechanicalPower="1.28" supplyPower="0.72"/> + <Entry auxiliarySpeed="6131" mechanicalPower="1.49" supplyPower="0.88"/> + <Entry auxiliarySpeed="6131" mechanicalPower="2.15" supplyPower="1.37"/> + <Entry auxiliarySpeed="6131" mechanicalPower="3.19" supplyPower="2.04"/> + <Entry auxiliarySpeed="6131" mechanicalPower="3.92" supplyPower="2.46"/> + <Entry auxiliarySpeed="6131" mechanicalPower="4.48" supplyPower="2.75"/> + <Entry auxiliarySpeed="6131" mechanicalPower="5.44" supplyPower="3.16"/> + <Entry auxiliarySpeed="6603" mechanicalPower="0.22" supplyPower="0"/> + <Entry auxiliarySpeed="6603" mechanicalPower="1.42" supplyPower="0.79"/> + <Entry auxiliarySpeed="6603" mechanicalPower="1.81" supplyPower="1.08"/> + <Entry auxiliarySpeed="6603" mechanicalPower="2.92" supplyPower="1.84"/> + <Entry auxiliarySpeed="6603" mechanicalPower="3.75" supplyPower="2.33"/> + <Entry auxiliarySpeed="6603" mechanicalPower="4.38" supplyPower="2.66"/> + <Entry auxiliarySpeed="6603" mechanicalPower="4.94" supplyPower="2.92"/> + <Entry auxiliarySpeed="6603" mechanicalPower="5.51" supplyPower="3.19"/> + <Entry auxiliarySpeed="7075" mechanicalPower="0.25" supplyPower="0"/> + <Entry auxiliarySpeed="7075" mechanicalPower="1.63" supplyPower="0.91"/> + <Entry auxiliarySpeed="7075" mechanicalPower="2.35" supplyPower="1.43"/> + <Entry auxiliarySpeed="7075" mechanicalPower="3.43" supplyPower="2.1"/> + <Entry auxiliarySpeed="7075" mechanicalPower="4.24" supplyPower="2.55"/> + <Entry auxiliarySpeed="7075" mechanicalPower="4.82" supplyPower="2.83"/> + <Entry auxiliarySpeed="7075" mechanicalPower="5.54" supplyPower="3.19"/> + <Entry auxiliarySpeed="7546" mechanicalPower="0.28" supplyPower="0"/> + <Entry auxiliarySpeed="7546" mechanicalPower="1.93" supplyPower="1.09"/> + <Entry auxiliarySpeed="7546" mechanicalPower="3.04" supplyPower="1.82"/> + <Entry auxiliarySpeed="7546" mechanicalPower="4.09" supplyPower="2.43"/> + <Entry auxiliarySpeed="7546" mechanicalPower="4.69" supplyPower="2.73"/> + <Entry auxiliarySpeed="7546" mechanicalPower="5.7" supplyPower="3.19"/> + <Entry auxiliarySpeed="9150" mechanicalPower="0.42" supplyPower="0"/> + <Entry auxiliarySpeed="9150" mechanicalPower="5.74" supplyPower="3.19"/> + <Entry auxiliarySpeed="12000" mechanicalPower="0.42" supplyPower="0"/> + <Entry auxiliarySpeed="12000" mechanicalPower="5.74" supplyPower="3.19"/> + </AuxMap> + </Auxiliary> + <Auxiliary xsi:type="AuxiliaryEntryEngineeringType" id="FAN"> + <Resource type="csv" file="dummy.vaux"/> + </Auxiliary> + </Data> + </Auxiliaries> + <AirDrag> + <Data xsi:type="AirDragDataEngineeringType"> + <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> + <Model>Generic 40t Long Haul Truck Gearbox</Model> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <CrossWindCorrectionMode>No Correction</CrossWindCorrectionMode> + <CdxA>6.29</CdxA> + </Data> + </AirDrag> + </Components> + </Vehicle> +</tns:VectoComponentEngineering> diff --git a/VectoCore/VectoXML.spp b/VectoCore/VectoXML.spp index 76bb2e2e10..75806f48e4 100644 --- a/VectoCore/VectoXML.spp +++ b/VectoCore/VectoXML.spp @@ -80,6 +80,7 @@ </Folder> <Folder FolderName="Engineering"> <File FilePath="VectoCore\Resources\XSD\VectoEngineeringComponent.1.0.xsd" HomeFolder="Yes"/> + <File FilePath="VectoCore\Resources\XSD\VectoEngineeringComponent.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.0.6.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.0.7.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.1.0.TEST.xsd" HomeFolder="Yes"/> -- GitLab