瀏覽代碼

process adaptations in main

Claudio Gomes 6 年之前
父節點
當前提交
4aa4da9e23
共有 2 個文件被更改,包括 52 次插入0 次删除
  1. 51 0
      HintCO/examples/case_study_double_loop_pbond.hintco
  2. 1 0
      HintCO/src/ua/ansymo/hintco/Main.xtend

+ 51 - 0
HintCO/examples/case_study_double_loop_pbond.hintco

@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ASCII"?>
+<hintco:Candidates xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hintco="ua.ansymo.hintco">
+  <candidates identifier="Original" stopTime="2.0" stepSize="1.0E-5" outputStepSize="0.001">
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="Scenario" declaration="//@csuDeclarations.0">
+      <ports xsi:type="hintco:OutputPortInstance" identifier="psuvolt" valueTo="//@candidates.0/@cosimunits.2/@ports.1"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="ref" valueTo="//@candidates.0/@cosimunits.1/@ports.2"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="DLoopController_FixedEuler_1Em6" declaration="//@csuDeclarations.1">
+      <ports xsi:type="hintco:InputPortInstance" identifier="VEL_FB@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.4">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="POS_FB@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.1">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="REFERENCE@expseu_" valueFrom="//@candidates.0/@cosimunits.0/@ports.1">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.0"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="EMAPlantNoLoad_FixedEuler_1Em6" declaration="//@csuDeclarations.2">
+      <adaptation xsi:type="hintco:PowerBondAdaptation" effort="//@candidates.0/@cosimunits.2/@ports.5" flow="//@candidates.0/@cosimunits.2/@ports.2"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="torque_input@expseu_" valueFrom="//@candidates.0/@cosimunits.1/@ports.3">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="psu_vol_input_v@expseu_" valueFrom="//@candidates.0/@cosimunits.0/@ports.0">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="V_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.2">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="X_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.3">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="ang_vel_out_rpm@expseu_" valueTo="//@candidates.0/@cosimunits.1/@ports.0"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="F_OUT@expseu_" valueTo="//@candidates.0/@cosimunits.3/@ports.0"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="LoadNSensor_FixedEuler_1Em6" declaration="//@csuDeclarations.3">
+      <adaptation xsi:type="hintco:PowerBondAdaptation" effort="//@candidates.0/@cosimunits.3/@ports.0" flow="//@candidates.0/@cosimunits.3/@ports.2"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="F_INPUT@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.5">
+        <adaptation xsi:type="hintco:InterpolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="X_AFTER_LOAD@expseu_" valueTo="//@candidates.0/@cosimunits.1/@ports.1"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="V_OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.2"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="X_OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.3"/>
+    </cosimunits>
+  </candidates>
+  <csuDeclarations identifier="Scenario" path="resources/Scenario.fmu" guid="{a174734c-d15f-4ef0-838d-06526230b19e}"/>
+  <csuDeclarations identifier="DLoopController_FixedEuler_1Em6" path="resources/DLoopController_FixedEuler_1Em6.fmu" guid="2761528305"/>
+  <csuDeclarations identifier="EMAPlantNoLoad_FixedEuler_1Em6" path="resources/EMAPlantNoLoad_FixedEuler_1Em6.fmu" guid="698567049"/>
+  <csuDeclarations identifier="LoadNSensor_FixedEuler_1Em6" path="resources/LoadNSensor_FixedEuler_1Em6.fmu" guid="2810456241"/>
+</hintco:Candidates>

+ 1 - 0
HintCO/src/ua/ansymo/hintco/Main.xtend

@@ -77,6 +77,7 @@ class Main implements IApplication {
 		val generator = new CandidatesGenerator(new ConstraintChecker,new VariantValidator, new VariantProcessor(runner))
 		
 		generator.createVariantTree(src)
+		generator.processAdaptations(src)
 		
 		if (cmd.hasOption(nVarsOpt.getOpt())){
 			val nVars = Integer.parseInt(cmd.getOptionValue(nVarsOpt.getOpt()))